mirror of
https://github.com/nsnail/Ocelot.git
synced 2025-04-22 18:32:51 +08:00
all acceptance tests passing
This commit is contained in:
parent
e969e9ff0b
commit
2772ce406d
@ -13,13 +13,15 @@ namespace Ocelot.Configuration.Creator
|
|||||||
private readonly IHttpHandlerOptionsCreator _httpHandlerOptionsCreator;
|
private readonly IHttpHandlerOptionsCreator _httpHandlerOptionsCreator;
|
||||||
private readonly IAdministrationPath _adminPath;
|
private readonly IAdministrationPath _adminPath;
|
||||||
private readonly ILoadBalancerOptionsCreator _loadBalancerOptionsCreator;
|
private readonly ILoadBalancerOptionsCreator _loadBalancerOptionsCreator;
|
||||||
|
private readonly IVersionCreator _versionCreator;
|
||||||
|
|
||||||
public ConfigurationCreator(
|
public ConfigurationCreator(
|
||||||
IServiceProviderConfigurationCreator serviceProviderConfigCreator,
|
IServiceProviderConfigurationCreator serviceProviderConfigCreator,
|
||||||
IQoSOptionsCreator qosOptionsCreator,
|
IQoSOptionsCreator qosOptionsCreator,
|
||||||
IHttpHandlerOptionsCreator httpHandlerOptionsCreator,
|
IHttpHandlerOptionsCreator httpHandlerOptionsCreator,
|
||||||
IServiceProvider serviceProvider,
|
IServiceProvider serviceProvider,
|
||||||
ILoadBalancerOptionsCreator loadBalancerOptionsCreator
|
ILoadBalancerOptionsCreator loadBalancerOptionsCreator,
|
||||||
|
IVersionCreator versionCreator
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
_adminPath = serviceProvider.GetService<IAdministrationPath>();
|
_adminPath = serviceProvider.GetService<IAdministrationPath>();
|
||||||
@ -27,6 +29,7 @@ namespace Ocelot.Configuration.Creator
|
|||||||
_serviceProviderConfigCreator = serviceProviderConfigCreator;
|
_serviceProviderConfigCreator = serviceProviderConfigCreator;
|
||||||
_qosOptionsCreator = qosOptionsCreator;
|
_qosOptionsCreator = qosOptionsCreator;
|
||||||
_httpHandlerOptionsCreator = httpHandlerOptionsCreator;
|
_httpHandlerOptionsCreator = httpHandlerOptionsCreator;
|
||||||
|
_versionCreator = versionCreator;
|
||||||
}
|
}
|
||||||
|
|
||||||
public InternalConfiguration Create(FileConfiguration fileConfiguration, List<ReRoute> reRoutes)
|
public InternalConfiguration Create(FileConfiguration fileConfiguration, List<ReRoute> reRoutes)
|
||||||
@ -41,6 +44,8 @@ namespace Ocelot.Configuration.Creator
|
|||||||
|
|
||||||
var adminPath = _adminPath != null ? _adminPath.Path : null;
|
var adminPath = _adminPath != null ? _adminPath.Path : null;
|
||||||
|
|
||||||
|
var version = _versionCreator.Create(fileConfiguration.GlobalConfiguration.DownstreamHttpVersion);
|
||||||
|
|
||||||
return new InternalConfiguration(reRoutes,
|
return new InternalConfiguration(reRoutes,
|
||||||
adminPath,
|
adminPath,
|
||||||
serviceProviderConfiguration,
|
serviceProviderConfiguration,
|
||||||
@ -48,7 +53,8 @@ namespace Ocelot.Configuration.Creator
|
|||||||
lbOptions,
|
lbOptions,
|
||||||
fileConfiguration.GlobalConfiguration.DownstreamScheme,
|
fileConfiguration.GlobalConfiguration.DownstreamScheme,
|
||||||
qosOptions,
|
qosOptions,
|
||||||
httpHandlerOptions
|
httpHandlerOptions,
|
||||||
|
version
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,10 +8,12 @@ namespace Ocelot.Configuration.Creator
|
|||||||
public class DynamicsCreator : IDynamicsCreator
|
public class DynamicsCreator : IDynamicsCreator
|
||||||
{
|
{
|
||||||
private readonly IRateLimitOptionsCreator _rateLimitOptionsCreator;
|
private readonly IRateLimitOptionsCreator _rateLimitOptionsCreator;
|
||||||
|
private readonly IVersionCreator _versionCreator;
|
||||||
|
|
||||||
public DynamicsCreator(IRateLimitOptionsCreator rateLimitOptionsCreator)
|
public DynamicsCreator(IRateLimitOptionsCreator rateLimitOptionsCreator, IVersionCreator versionCreator)
|
||||||
{
|
{
|
||||||
_rateLimitOptionsCreator = rateLimitOptionsCreator;
|
_rateLimitOptionsCreator = rateLimitOptionsCreator;
|
||||||
|
_versionCreator = versionCreator;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ReRoute> Create(FileConfiguration fileConfiguration)
|
public List<ReRoute> Create(FileConfiguration fileConfiguration)
|
||||||
@ -26,10 +28,13 @@ namespace Ocelot.Configuration.Creator
|
|||||||
var rateLimitOption = _rateLimitOptionsCreator
|
var rateLimitOption = _rateLimitOptionsCreator
|
||||||
.Create(fileDynamicReRoute.RateLimitRule, globalConfiguration);
|
.Create(fileDynamicReRoute.RateLimitRule, globalConfiguration);
|
||||||
|
|
||||||
|
var version = _versionCreator.Create(fileDynamicReRoute.DownstreamHttpVersion);
|
||||||
|
|
||||||
var downstreamReRoute = new DownstreamReRouteBuilder()
|
var downstreamReRoute = new DownstreamReRouteBuilder()
|
||||||
.WithEnableRateLimiting(rateLimitOption.EnableRateLimiting)
|
.WithEnableRateLimiting(rateLimitOption.EnableRateLimiting)
|
||||||
.WithRateLimitOptions(rateLimitOption)
|
.WithRateLimitOptions(rateLimitOption)
|
||||||
.WithServiceName(fileDynamicReRoute.ServiceName)
|
.WithServiceName(fileDynamicReRoute.ServiceName)
|
||||||
|
.WithDownstreamHttpVersion(version)
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
var reRoute = new ReRouteBuilder()
|
var reRoute = new ReRouteBuilder()
|
||||||
|
@ -4,5 +4,6 @@ namespace Ocelot.Configuration.File
|
|||||||
{
|
{
|
||||||
public string ServiceName { get; set; }
|
public string ServiceName { get; set; }
|
||||||
public FileRateLimitRule RateLimitRule { get; set; }
|
public FileRateLimitRule RateLimitRule { get; set; }
|
||||||
|
public string DownstreamHttpVersion { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,5 +26,7 @@
|
|||||||
public string DownstreamScheme { get; set; }
|
public string DownstreamScheme { get; set; }
|
||||||
|
|
||||||
public FileHttpHandlerOptions HttpHandlerOptions { get; set; }
|
public FileHttpHandlerOptions HttpHandlerOptions { get; set; }
|
||||||
|
|
||||||
|
public string DownstreamHttpVersion { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,8 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace Ocelot.Configuration
|
namespace Ocelot.Configuration
|
||||||
{
|
{
|
||||||
|
using System;
|
||||||
|
|
||||||
public interface IInternalConfiguration
|
public interface IInternalConfiguration
|
||||||
{
|
{
|
||||||
List<ReRoute> ReRoutes { get; }
|
List<ReRoute> ReRoutes { get; }
|
||||||
@ -19,5 +21,7 @@ namespace Ocelot.Configuration
|
|||||||
QoSOptions QoSOptions { get; }
|
QoSOptions QoSOptions { get; }
|
||||||
|
|
||||||
HttpHandlerOptions HttpHandlerOptions { get; }
|
HttpHandlerOptions HttpHandlerOptions { get; }
|
||||||
|
|
||||||
|
Version DownstreamHttpVersion { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,8 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace Ocelot.Configuration
|
namespace Ocelot.Configuration
|
||||||
{
|
{
|
||||||
|
using System;
|
||||||
|
|
||||||
public class InternalConfiguration : IInternalConfiguration
|
public class InternalConfiguration : IInternalConfiguration
|
||||||
{
|
{
|
||||||
public InternalConfiguration(
|
public InternalConfiguration(
|
||||||
@ -12,7 +14,8 @@ namespace Ocelot.Configuration
|
|||||||
LoadBalancerOptions loadBalancerOptions,
|
LoadBalancerOptions loadBalancerOptions,
|
||||||
string downstreamScheme,
|
string downstreamScheme,
|
||||||
QoSOptions qoSOptions,
|
QoSOptions qoSOptions,
|
||||||
HttpHandlerOptions httpHandlerOptions)
|
HttpHandlerOptions httpHandlerOptions,
|
||||||
|
Version downstreamHttpVersion)
|
||||||
{
|
{
|
||||||
ReRoutes = reRoutes;
|
ReRoutes = reRoutes;
|
||||||
AdministrationPath = administrationPath;
|
AdministrationPath = administrationPath;
|
||||||
@ -22,6 +25,7 @@ namespace Ocelot.Configuration
|
|||||||
DownstreamScheme = downstreamScheme;
|
DownstreamScheme = downstreamScheme;
|
||||||
QoSOptions = qoSOptions;
|
QoSOptions = qoSOptions;
|
||||||
HttpHandlerOptions = httpHandlerOptions;
|
HttpHandlerOptions = httpHandlerOptions;
|
||||||
|
DownstreamHttpVersion = downstreamHttpVersion;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ReRoute> ReRoutes { get; }
|
public List<ReRoute> ReRoutes { get; }
|
||||||
@ -32,5 +36,7 @@ namespace Ocelot.Configuration
|
|||||||
public string DownstreamScheme { get; }
|
public string DownstreamScheme { get; }
|
||||||
public QoSOptions QoSOptions { get; }
|
public QoSOptions QoSOptions { get; }
|
||||||
public HttpHandlerOptions HttpHandlerOptions { get; }
|
public HttpHandlerOptions HttpHandlerOptions { get; }
|
||||||
|
|
||||||
|
public Version DownstreamHttpVersion { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
namespace Ocelot.DownstreamRouteFinder.Finder
|
namespace Ocelot.DownstreamRouteFinder.Finder
|
||||||
{
|
{
|
||||||
|
using System;
|
||||||
using Configuration;
|
using Configuration;
|
||||||
using Configuration.Builder;
|
using Configuration.Builder;
|
||||||
using Configuration.Creator;
|
using Configuration.Creator;
|
||||||
@ -54,6 +55,7 @@
|
|||||||
.WithQosOptions(qosOptions)
|
.WithQosOptions(qosOptions)
|
||||||
.WithDownstreamScheme(configuration.DownstreamScheme)
|
.WithDownstreamScheme(configuration.DownstreamScheme)
|
||||||
.WithLoadBalancerOptions(configuration.LoadBalancerOptions)
|
.WithLoadBalancerOptions(configuration.LoadBalancerOptions)
|
||||||
|
.WithDownstreamHttpVersion(configuration.DownstreamHttpVersion)
|
||||||
.WithUpstreamPathTemplate(upstreamPathTemplate);
|
.WithUpstreamPathTemplate(upstreamPathTemplate);
|
||||||
|
|
||||||
var rateLimitOptions = configuration.ReRoutes != null
|
var rateLimitOptions = configuration.ReRoutes != null
|
||||||
|
@ -27,7 +27,7 @@ namespace Ocelot.AcceptanceTests
|
|||||||
public void should_load_balance_request_with_least_connection()
|
public void should_load_balance_request_with_least_connection()
|
||||||
{
|
{
|
||||||
int portOne = 50591;
|
int portOne = 50591;
|
||||||
int portTwo = 51482;
|
int portTwo = 54483;
|
||||||
|
|
||||||
var downstreamServiceOneUrl = $"http://localhost:{portOne}";
|
var downstreamServiceOneUrl = $"http://localhost:{portOne}";
|
||||||
var downstreamServiceTwoUrl = $"http://localhost:{portTwo}";
|
var downstreamServiceTwoUrl = $"http://localhost:{portTwo}";
|
||||||
|
@ -392,6 +392,7 @@ namespace Ocelot.AcceptanceTests
|
|||||||
_ocelotServer = new TestServer(_webHostBuilder);
|
_ocelotServer = new TestServer(_webHostBuilder);
|
||||||
|
|
||||||
_ocelotClient = _ocelotServer.CreateClient();
|
_ocelotClient = _ocelotServer.CreateClient();
|
||||||
|
Thread.Sleep(1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WhenIGetUrlOnTheApiGatewayWaitingForTheResponseToBeOk(string url)
|
public void WhenIGetUrlOnTheApiGatewayWaitingForTheResponseToBeOk(string url)
|
||||||
|
@ -59,7 +59,7 @@ namespace Ocelot.Benchmarks
|
|||||||
|
|
||||||
_downstreamContext = new DownstreamContext(httpContext)
|
_downstreamContext = new DownstreamContext(httpContext)
|
||||||
{
|
{
|
||||||
Configuration = new InternalConfiguration(new List<ReRoute>(), null, null, null, null, null, null, null)
|
Configuration = new InternalConfiguration(new List<ReRoute>(), null, null, null, null, null, null, null, null)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@ namespace Ocelot.UnitTests.Configuration
|
|||||||
private readonly Mock<IQoSOptionsCreator> _qosCreator;
|
private readonly Mock<IQoSOptionsCreator> _qosCreator;
|
||||||
private readonly Mock<IHttpHandlerOptionsCreator> _hhoCreator;
|
private readonly Mock<IHttpHandlerOptionsCreator> _hhoCreator;
|
||||||
private readonly Mock<ILoadBalancerOptionsCreator> _lboCreator;
|
private readonly Mock<ILoadBalancerOptionsCreator> _lboCreator;
|
||||||
|
private readonly Mock<IVersionCreator> _vCreator;
|
||||||
private FileConfiguration _fileConfig;
|
private FileConfiguration _fileConfig;
|
||||||
private List<ReRoute> _reRoutes;
|
private List<ReRoute> _reRoutes;
|
||||||
private ServiceProviderConfiguration _spc;
|
private ServiceProviderConfiguration _spc;
|
||||||
@ -30,6 +31,7 @@ namespace Ocelot.UnitTests.Configuration
|
|||||||
|
|
||||||
public ConfigurationCreatorTests()
|
public ConfigurationCreatorTests()
|
||||||
{
|
{
|
||||||
|
_vCreator = new Mock<IVersionCreator>();
|
||||||
_lboCreator = new Mock<ILoadBalancerOptionsCreator>();
|
_lboCreator = new Mock<ILoadBalancerOptionsCreator>();
|
||||||
_hhoCreator = new Mock<IHttpHandlerOptionsCreator>();
|
_hhoCreator = new Mock<IHttpHandlerOptionsCreator>();
|
||||||
_qosCreator = new Mock<IQoSOptionsCreator>();
|
_qosCreator = new Mock<IQoSOptionsCreator>();
|
||||||
@ -117,7 +119,7 @@ namespace Ocelot.UnitTests.Configuration
|
|||||||
private void WhenICreate()
|
private void WhenICreate()
|
||||||
{
|
{
|
||||||
var serviceProvider = _serviceCollection.BuildServiceProvider();
|
var serviceProvider = _serviceCollection.BuildServiceProvider();
|
||||||
_creator = new ConfigurationCreator(_spcCreator.Object, _qosCreator.Object, _hhoCreator.Object, serviceProvider, _lboCreator.Object);
|
_creator = new ConfigurationCreator(_spcCreator.Object, _qosCreator.Object, _hhoCreator.Object, serviceProvider, _lboCreator.Object, _vCreator.Object);
|
||||||
_result = _creator.Create(_fileConfig, _reRoutes);
|
_result = _creator.Create(_fileConfig, _reRoutes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
namespace Ocelot.UnitTests.Configuration
|
namespace Ocelot.UnitTests.Configuration
|
||||||
{
|
{
|
||||||
|
using System;
|
||||||
using Moq;
|
using Moq;
|
||||||
using Ocelot.Configuration;
|
using Ocelot.Configuration;
|
||||||
using Ocelot.Configuration.Builder;
|
using Ocelot.Configuration.Builder;
|
||||||
@ -14,15 +15,18 @@
|
|||||||
{
|
{
|
||||||
private readonly DynamicsCreator _creator;
|
private readonly DynamicsCreator _creator;
|
||||||
private readonly Mock<IRateLimitOptionsCreator> _rloCreator;
|
private readonly Mock<IRateLimitOptionsCreator> _rloCreator;
|
||||||
|
private readonly Mock<IVersionCreator> _versionCreator;
|
||||||
private List<ReRoute> _result;
|
private List<ReRoute> _result;
|
||||||
private FileConfiguration _fileConfig;
|
private FileConfiguration _fileConfig;
|
||||||
private RateLimitOptions _rlo1;
|
private RateLimitOptions _rlo1;
|
||||||
private RateLimitOptions _rlo2;
|
private RateLimitOptions _rlo2;
|
||||||
|
private Version _version;
|
||||||
|
|
||||||
public DynamicsCreatorTests()
|
public DynamicsCreatorTests()
|
||||||
{
|
{
|
||||||
|
_versionCreator = new Mock<IVersionCreator>();
|
||||||
_rloCreator = new Mock<IRateLimitOptionsCreator>();
|
_rloCreator = new Mock<IRateLimitOptionsCreator>();
|
||||||
_creator = new DynamicsCreator(_rloCreator.Object);
|
_creator = new DynamicsCreator(_rloCreator.Object, _versionCreator.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
@ -50,7 +54,8 @@
|
|||||||
RateLimitRule = new FileRateLimitRule
|
RateLimitRule = new FileRateLimitRule
|
||||||
{
|
{
|
||||||
EnableRateLimiting = false
|
EnableRateLimiting = false
|
||||||
}
|
},
|
||||||
|
DownstreamHttpVersion = "1.1"
|
||||||
},
|
},
|
||||||
new FileDynamicReRoute
|
new FileDynamicReRoute
|
||||||
{
|
{
|
||||||
@ -58,16 +63,19 @@
|
|||||||
RateLimitRule = new FileRateLimitRule
|
RateLimitRule = new FileRateLimitRule
|
||||||
{
|
{
|
||||||
EnableRateLimiting = true
|
EnableRateLimiting = true
|
||||||
}
|
},
|
||||||
|
DownstreamHttpVersion = "2.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
this.Given(_ => GivenThe(fileConfig))
|
this.Given(_ => GivenThe(fileConfig))
|
||||||
.And(_ => GivenTheRloCreatorReturns())
|
.And(_ => GivenTheRloCreatorReturns())
|
||||||
|
.And(_ => GivenTheVersionCreatorReturns())
|
||||||
.When(_ => WhenICreate())
|
.When(_ => WhenICreate())
|
||||||
.Then(_ => ThenTheReRoutesAreReturned())
|
.Then(_ => ThenTheReRoutesAreReturned())
|
||||||
.And(_ => ThenTheRloCreatorIsCalledCorrectly())
|
.And(_ => ThenTheRloCreatorIsCalledCorrectly())
|
||||||
|
.And(_ => ThenTheVersionCreatorIsCalledCorrectly())
|
||||||
.BDDfy();
|
.BDDfy();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,18 +88,32 @@
|
|||||||
_fileConfig.GlobalConfiguration), Times.Once);
|
_fileConfig.GlobalConfiguration), Times.Once);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ThenTheVersionCreatorIsCalledCorrectly()
|
||||||
|
{
|
||||||
|
_versionCreator.Verify(x => x.Create(_fileConfig.DynamicReRoutes[0].DownstreamHttpVersion), Times.Once);
|
||||||
|
_versionCreator.Verify(x => x.Create(_fileConfig.DynamicReRoutes[1].DownstreamHttpVersion), Times.Once);
|
||||||
|
}
|
||||||
|
|
||||||
private void ThenTheReRoutesAreReturned()
|
private void ThenTheReRoutesAreReturned()
|
||||||
{
|
{
|
||||||
_result.Count.ShouldBe(2);
|
_result.Count.ShouldBe(2);
|
||||||
_result[0].DownstreamReRoute[0].EnableEndpointEndpointRateLimiting.ShouldBeFalse();
|
_result[0].DownstreamReRoute[0].EnableEndpointEndpointRateLimiting.ShouldBeFalse();
|
||||||
_result[0].DownstreamReRoute[0].RateLimitOptions.ShouldBe(_rlo1);
|
_result[0].DownstreamReRoute[0].RateLimitOptions.ShouldBe(_rlo1);
|
||||||
|
_result[0].DownstreamReRoute[0].DownstreamHttpVersion.ShouldBe(_version);
|
||||||
_result[0].DownstreamReRoute[0].ServiceName.ShouldBe(_fileConfig.DynamicReRoutes[0].ServiceName);
|
_result[0].DownstreamReRoute[0].ServiceName.ShouldBe(_fileConfig.DynamicReRoutes[0].ServiceName);
|
||||||
|
|
||||||
_result[1].DownstreamReRoute[0].EnableEndpointEndpointRateLimiting.ShouldBeTrue();
|
_result[1].DownstreamReRoute[0].EnableEndpointEndpointRateLimiting.ShouldBeTrue();
|
||||||
_result[1].DownstreamReRoute[0].RateLimitOptions.ShouldBe(_rlo2);
|
_result[1].DownstreamReRoute[0].RateLimitOptions.ShouldBe(_rlo2);
|
||||||
|
_result[1].DownstreamReRoute[0].DownstreamHttpVersion.ShouldBe(_version);
|
||||||
_result[1].DownstreamReRoute[0].ServiceName.ShouldBe(_fileConfig.DynamicReRoutes[1].ServiceName);
|
_result[1].DownstreamReRoute[0].ServiceName.ShouldBe(_fileConfig.DynamicReRoutes[1].ServiceName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void GivenTheVersionCreatorReturns()
|
||||||
|
{
|
||||||
|
_version = new Version("1.1");
|
||||||
|
_versionCreator.Setup(x => x.Create(It.IsAny<string>())).Returns(_version);
|
||||||
|
}
|
||||||
|
|
||||||
private void GivenTheRloCreatorReturns()
|
private void GivenTheRloCreatorReturns()
|
||||||
{
|
{
|
||||||
_rlo1 = new RateLimitOptionsBuilder().Build();
|
_rlo1 = new RateLimitOptionsBuilder().Build();
|
||||||
|
@ -15,6 +15,8 @@ using Xunit;
|
|||||||
|
|
||||||
namespace Ocelot.UnitTests.Configuration
|
namespace Ocelot.UnitTests.Configuration
|
||||||
{
|
{
|
||||||
|
using System;
|
||||||
|
|
||||||
public class FileConfigurationSetterTests
|
public class FileConfigurationSetterTests
|
||||||
{
|
{
|
||||||
private FileConfiguration _fileConfiguration;
|
private FileConfiguration _fileConfiguration;
|
||||||
@ -38,7 +40,7 @@ namespace Ocelot.UnitTests.Configuration
|
|||||||
{
|
{
|
||||||
var fileConfig = new FileConfiguration();
|
var fileConfig = new FileConfiguration();
|
||||||
var serviceProviderConfig = new ServiceProviderConfigurationBuilder().Build();
|
var serviceProviderConfig = new ServiceProviderConfigurationBuilder().Build();
|
||||||
var config = new InternalConfiguration(new List<ReRoute>(), string.Empty, serviceProviderConfig, "asdf", new LoadBalancerOptionsBuilder().Build(), "", new QoSOptionsBuilder().Build(), new HttpHandlerOptionsBuilder().Build());
|
var config = new InternalConfiguration(new List<ReRoute>(), string.Empty, serviceProviderConfig, "asdf", new LoadBalancerOptionsBuilder().Build(), "", new QoSOptionsBuilder().Build(), new HttpHandlerOptionsBuilder().Build(), new Version("1.1"));
|
||||||
|
|
||||||
this.Given(x => GivenTheFollowingConfiguration(fileConfig))
|
this.Given(x => GivenTheFollowingConfiguration(fileConfig))
|
||||||
.And(x => GivenTheRepoReturns(new OkResponse()))
|
.And(x => GivenTheRepoReturns(new OkResponse()))
|
||||||
|
@ -87,7 +87,7 @@
|
|||||||
_reRoutes = new List<ReRoute> { new ReRouteBuilder().Build() };
|
_reRoutes = new List<ReRoute> { new ReRouteBuilder().Build() };
|
||||||
_aggregates = new List<ReRoute> { new ReRouteBuilder().Build() };
|
_aggregates = new List<ReRoute> { new ReRouteBuilder().Build() };
|
||||||
_dynamics = new List<ReRoute> { new ReRouteBuilder().Build() };
|
_dynamics = new List<ReRoute> { new ReRouteBuilder().Build() };
|
||||||
_internalConfig = new InternalConfiguration(null, "", null, "", null, "", null, null);
|
_internalConfig = new InternalConfiguration(null, "", null, "", null, "", null, null, null);
|
||||||
|
|
||||||
_reRoutesCreator.Setup(x => x.Create(It.IsAny<FileConfiguration>())).Returns(_reRoutes);
|
_reRoutesCreator.Setup(x => x.Create(It.IsAny<FileConfiguration>())).Returns(_reRoutes);
|
||||||
_aggregatesCreator.Setup(x => x.Create(It.IsAny<FileConfiguration>(), It.IsAny<List<ReRoute>>())).Returns(_aggregates);
|
_aggregatesCreator.Setup(x => x.Create(It.IsAny<FileConfiguration>(), It.IsAny<List<ReRoute>>())).Returns(_aggregates);
|
||||||
|
@ -120,6 +120,7 @@ namespace Ocelot.UnitTests.Configuration
|
|||||||
public string DownstreamScheme { get; }
|
public string DownstreamScheme { get; }
|
||||||
public QoSOptions QoSOptions { get; }
|
public QoSOptions QoSOptions { get; }
|
||||||
public HttpHandlerOptions HttpHandlerOptions { get; }
|
public HttpHandlerOptions HttpHandlerOptions { get; }
|
||||||
|
public Version DownstreamHttpVersion { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
namespace Ocelot.UnitTests.DownstreamRouteFinder
|
namespace Ocelot.UnitTests.DownstreamRouteFinder
|
||||||
{
|
{
|
||||||
|
using System;
|
||||||
using Moq;
|
using Moq;
|
||||||
using Ocelot.Configuration;
|
using Ocelot.Configuration;
|
||||||
using Ocelot.Configuration.Builder;
|
using Ocelot.Configuration.Builder;
|
||||||
@ -44,7 +45,7 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
|
|||||||
[Fact]
|
[Fact]
|
||||||
public void should_create_downstream_route()
|
public void should_create_downstream_route()
|
||||||
{
|
{
|
||||||
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions);
|
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions, new Version("1.1"));
|
||||||
|
|
||||||
this.Given(_ => GivenTheConfiguration(configuration))
|
this.Given(_ => GivenTheConfiguration(configuration))
|
||||||
.When(_ => WhenICreate())
|
.When(_ => WhenICreate())
|
||||||
@ -71,7 +72,7 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
|
|||||||
|
|
||||||
var reRoutes = new List<ReRoute> { reRoute };
|
var reRoutes = new List<ReRoute> { reRoute };
|
||||||
|
|
||||||
var configuration = new InternalConfiguration(reRoutes, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions);
|
var configuration = new InternalConfiguration(reRoutes, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions, new Version("1.1"));
|
||||||
|
|
||||||
this.Given(_ => GivenTheConfiguration(configuration))
|
this.Given(_ => GivenTheConfiguration(configuration))
|
||||||
.When(_ => WhenICreate())
|
.When(_ => WhenICreate())
|
||||||
@ -83,7 +84,7 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
|
|||||||
[Fact]
|
[Fact]
|
||||||
public void should_cache_downstream_route()
|
public void should_cache_downstream_route()
|
||||||
{
|
{
|
||||||
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions);
|
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions, new Version("1.1"));
|
||||||
|
|
||||||
this.Given(_ => GivenTheConfiguration(configuration, "/geoffisthebest/"))
|
this.Given(_ => GivenTheConfiguration(configuration, "/geoffisthebest/"))
|
||||||
.When(_ => WhenICreate())
|
.When(_ => WhenICreate())
|
||||||
@ -96,7 +97,7 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
|
|||||||
[Fact]
|
[Fact]
|
||||||
public void should_not_cache_downstream_route()
|
public void should_not_cache_downstream_route()
|
||||||
{
|
{
|
||||||
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions);
|
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions, new Version("1.1"));
|
||||||
|
|
||||||
this.Given(_ => GivenTheConfiguration(configuration, "/geoffistheworst/"))
|
this.Given(_ => GivenTheConfiguration(configuration, "/geoffistheworst/"))
|
||||||
.When(_ => WhenICreate())
|
.When(_ => WhenICreate())
|
||||||
@ -110,7 +111,7 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
|
|||||||
public void should_create_downstream_route_with_no_path()
|
public void should_create_downstream_route_with_no_path()
|
||||||
{
|
{
|
||||||
var upstreamUrlPath = "/auth/";
|
var upstreamUrlPath = "/auth/";
|
||||||
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions);
|
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions, new Version("1.1"));
|
||||||
|
|
||||||
this.Given(_ => GivenTheConfiguration(configuration, upstreamUrlPath))
|
this.Given(_ => GivenTheConfiguration(configuration, upstreamUrlPath))
|
||||||
.When(_ => WhenICreate())
|
.When(_ => WhenICreate())
|
||||||
@ -122,7 +123,7 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
|
|||||||
public void should_create_downstream_route_with_only_first_segment_no_traling_slash()
|
public void should_create_downstream_route_with_only_first_segment_no_traling_slash()
|
||||||
{
|
{
|
||||||
var upstreamUrlPath = "/auth";
|
var upstreamUrlPath = "/auth";
|
||||||
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions);
|
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions, new Version("1.1"));
|
||||||
|
|
||||||
this.Given(_ => GivenTheConfiguration(configuration, upstreamUrlPath))
|
this.Given(_ => GivenTheConfiguration(configuration, upstreamUrlPath))
|
||||||
.When(_ => WhenICreate())
|
.When(_ => WhenICreate())
|
||||||
@ -134,7 +135,7 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
|
|||||||
public void should_create_downstream_route_with_segments_no_traling_slash()
|
public void should_create_downstream_route_with_segments_no_traling_slash()
|
||||||
{
|
{
|
||||||
var upstreamUrlPath = "/auth/test";
|
var upstreamUrlPath = "/auth/test";
|
||||||
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions);
|
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions, new Version("1.1"));
|
||||||
|
|
||||||
this.Given(_ => GivenTheConfiguration(configuration, upstreamUrlPath))
|
this.Given(_ => GivenTheConfiguration(configuration, upstreamUrlPath))
|
||||||
.When(_ => WhenICreate())
|
.When(_ => WhenICreate())
|
||||||
@ -146,7 +147,7 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
|
|||||||
public void should_create_downstream_route_and_remove_query_string()
|
public void should_create_downstream_route_and_remove_query_string()
|
||||||
{
|
{
|
||||||
var upstreamUrlPath = "/auth/test?test=1&best=2";
|
var upstreamUrlPath = "/auth/test?test=1&best=2";
|
||||||
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions);
|
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions, new Version("1.1"));
|
||||||
|
|
||||||
this.Given(_ => GivenTheConfiguration(configuration, upstreamUrlPath))
|
this.Given(_ => GivenTheConfiguration(configuration, upstreamUrlPath))
|
||||||
.When(_ => WhenICreate())
|
.When(_ => WhenICreate())
|
||||||
@ -158,7 +159,7 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
|
|||||||
public void should_create_downstream_route_for_sticky_sessions()
|
public void should_create_downstream_route_for_sticky_sessions()
|
||||||
{
|
{
|
||||||
var loadBalancerOptions = new LoadBalancerOptionsBuilder().WithType(nameof(CookieStickySessions)).WithKey("boom").WithExpiryInMs(1).Build();
|
var loadBalancerOptions = new LoadBalancerOptionsBuilder().WithType(nameof(CookieStickySessions)).WithKey("boom").WithExpiryInMs(1).Build();
|
||||||
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", loadBalancerOptions, "http", _qoSOptions, _handlerOptions);
|
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", loadBalancerOptions, "http", _qoSOptions, _handlerOptions, new Version("1.1"));
|
||||||
|
|
||||||
this.Given(_ => GivenTheConfiguration(configuration))
|
this.Given(_ => GivenTheConfiguration(configuration))
|
||||||
.When(_ => WhenICreate())
|
.When(_ => WhenICreate())
|
||||||
@ -174,7 +175,7 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
|
|||||||
.WithTimeoutValue(1)
|
.WithTimeoutValue(1)
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", qoSOptions, _handlerOptions);
|
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", qoSOptions, _handlerOptions, new Version("1.1"));
|
||||||
|
|
||||||
this.Given(_ => GivenTheConfiguration(configuration))
|
this.Given(_ => GivenTheConfiguration(configuration))
|
||||||
.And(_ => GivenTheQosCreatorReturns(qoSOptions))
|
.And(_ => GivenTheQosCreatorReturns(qoSOptions))
|
||||||
@ -186,7 +187,7 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
|
|||||||
[Fact]
|
[Fact]
|
||||||
public void should_create_downstream_route_with_handler_options()
|
public void should_create_downstream_route_with_handler_options()
|
||||||
{
|
{
|
||||||
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions);
|
var configuration = new InternalConfiguration(null, "doesnt matter", null, "doesnt matter", _loadBalancerOptions, "http", _qoSOptions, _handlerOptions, new Version("1.1"));
|
||||||
|
|
||||||
this.Given(_ => GivenTheConfiguration(configuration))
|
this.Given(_ => GivenTheConfiguration(configuration))
|
||||||
.When(_ => WhenICreate())
|
.When(_ => WhenICreate())
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
namespace Ocelot.UnitTests.DownstreamRouteFinder
|
namespace Ocelot.UnitTests.DownstreamRouteFinder
|
||||||
{
|
{
|
||||||
|
using System;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Moq;
|
using Moq;
|
||||||
using Ocelot.Configuration;
|
using Ocelot.Configuration;
|
||||||
@ -48,7 +49,7 @@
|
|||||||
[Fact]
|
[Fact]
|
||||||
public void should_call_scoped_data_repository_correctly()
|
public void should_call_scoped_data_repository_correctly()
|
||||||
{
|
{
|
||||||
var config = new InternalConfiguration(null, null, new ServiceProviderConfigurationBuilder().Build(), "", new LoadBalancerOptionsBuilder().Build(), "", new QoSOptionsBuilder().Build(), new HttpHandlerOptionsBuilder().Build());
|
var config = new InternalConfiguration(null, null, new ServiceProviderConfigurationBuilder().Build(), "", new LoadBalancerOptionsBuilder().Build(), "", new QoSOptionsBuilder().Build(), new HttpHandlerOptionsBuilder().Build(), new Version("1.1"));
|
||||||
|
|
||||||
var downstreamReRoute = new DownstreamReRouteBuilder()
|
var downstreamReRoute = new DownstreamReRouteBuilder()
|
||||||
.WithDownstreamPathTemplate("any old string")
|
.WithDownstreamPathTemplate("any old string")
|
||||||
|
@ -13,6 +13,8 @@ using Xunit;
|
|||||||
|
|
||||||
namespace Ocelot.UnitTests.DownstreamRouteFinder
|
namespace Ocelot.UnitTests.DownstreamRouteFinder
|
||||||
{
|
{
|
||||||
|
using System;
|
||||||
|
|
||||||
public class DownstreamRouteFinderTests
|
public class DownstreamRouteFinderTests
|
||||||
{
|
{
|
||||||
private readonly IDownstreamRouteProvider _downstreamRouteFinder;
|
private readonly IDownstreamRouteProvider _downstreamRouteFinder;
|
||||||
@ -739,7 +741,7 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
|
|||||||
private void GivenTheConfigurationIs(List<ReRoute> reRoutesConfig, string adminPath, ServiceProviderConfiguration serviceProviderConfig)
|
private void GivenTheConfigurationIs(List<ReRoute> reRoutesConfig, string adminPath, ServiceProviderConfiguration serviceProviderConfig)
|
||||||
{
|
{
|
||||||
_reRoutesConfig = reRoutesConfig;
|
_reRoutesConfig = reRoutesConfig;
|
||||||
_config = new InternalConfiguration(_reRoutesConfig, adminPath, serviceProviderConfig, "", new LoadBalancerOptionsBuilder().Build(), "", new QoSOptionsBuilder().Build(), new HttpHandlerOptionsBuilder().Build());
|
_config = new InternalConfiguration(_reRoutesConfig, adminPath, serviceProviderConfig, "", new LoadBalancerOptionsBuilder().Build(), "", new QoSOptionsBuilder().Build(), new HttpHandlerOptionsBuilder().Build(), new Version("1.1"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void GivenThereIsAnUpstreamUrlPath(string upstreamUrlPath)
|
private void GivenThereIsAnUpstreamUrlPath(string upstreamUrlPath)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
namespace Ocelot.UnitTests.DownstreamRouteFinder
|
namespace Ocelot.UnitTests.DownstreamRouteFinder
|
||||||
{
|
{
|
||||||
|
using System;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Moq;
|
using Moq;
|
||||||
using Ocelot.Configuration;
|
using Ocelot.Configuration;
|
||||||
@ -140,12 +141,12 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
|
|||||||
|
|
||||||
private void GivenTheReRoutes(List<ReRoute> reRoutes)
|
private void GivenTheReRoutes(List<ReRoute> reRoutes)
|
||||||
{
|
{
|
||||||
_config = new InternalConfiguration(reRoutes, "", null, "", new LoadBalancerOptionsBuilder().Build(), "", new QoSOptionsBuilder().Build(), new HttpHandlerOptionsBuilder().Build());
|
_config = new InternalConfiguration(reRoutes, "", null, "", new LoadBalancerOptionsBuilder().Build(), "", new QoSOptionsBuilder().Build(), new HttpHandlerOptionsBuilder().Build(), new Version("1.1"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void GivenTheReRoutes(List<ReRoute> reRoutes, ServiceProviderConfiguration config)
|
private void GivenTheReRoutes(List<ReRoute> reRoutes, ServiceProviderConfiguration config)
|
||||||
{
|
{
|
||||||
_config = new InternalConfiguration(reRoutes, "", config, "", new LoadBalancerOptionsBuilder().Build(), "", new QoSOptionsBuilder().Build(), new HttpHandlerOptionsBuilder().Build());
|
_config = new InternalConfiguration(reRoutes, "", config, "", new LoadBalancerOptionsBuilder().Build(), "", new QoSOptionsBuilder().Build(), new HttpHandlerOptionsBuilder().Build(), new Version("1.1"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -382,7 +382,7 @@
|
|||||||
|
|
||||||
private void GivenTheServiceProviderConfigIs(ServiceProviderConfiguration config)
|
private void GivenTheServiceProviderConfigIs(ServiceProviderConfiguration config)
|
||||||
{
|
{
|
||||||
var configuration = new InternalConfiguration(null, null, config, null, null, null, null, null);
|
var configuration = new InternalConfiguration(null, null, config, null, null, null, null, null, null);
|
||||||
_downstreamContext.Configuration = configuration;
|
_downstreamContext.Configuration = configuration;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ namespace Ocelot.UnitTests.Errors
|
|||||||
[Fact]
|
[Fact]
|
||||||
public void NoDownstreamException()
|
public void NoDownstreamException()
|
||||||
{
|
{
|
||||||
var config = new InternalConfiguration(null, null, null, null, null, null, null, null);
|
var config = new InternalConfiguration(null, null, null, null, null, null, null, null, null);
|
||||||
|
|
||||||
this.Given(_ => GivenAnExceptionWillNotBeThrownDownstream())
|
this.Given(_ => GivenAnExceptionWillNotBeThrownDownstream())
|
||||||
.And(_ => GivenTheConfigurationIs(config))
|
.And(_ => GivenTheConfigurationIs(config))
|
||||||
@ -65,7 +65,7 @@ namespace Ocelot.UnitTests.Errors
|
|||||||
[Fact]
|
[Fact]
|
||||||
public void DownstreamException()
|
public void DownstreamException()
|
||||||
{
|
{
|
||||||
var config = new InternalConfiguration(null, null, null, null, null, null, null, null);
|
var config = new InternalConfiguration(null, null, null, null, null, null, null, null, null);
|
||||||
|
|
||||||
this.Given(_ => GivenAnExceptionWillBeThrownDownstream())
|
this.Given(_ => GivenAnExceptionWillBeThrownDownstream())
|
||||||
.And(_ => GivenTheConfigurationIs(config))
|
.And(_ => GivenTheConfigurationIs(config))
|
||||||
@ -77,7 +77,7 @@ namespace Ocelot.UnitTests.Errors
|
|||||||
[Fact]
|
[Fact]
|
||||||
public void ShouldSetRequestId()
|
public void ShouldSetRequestId()
|
||||||
{
|
{
|
||||||
var config = new InternalConfiguration(null, null, null, "requestidkey", null, null, null, null);
|
var config = new InternalConfiguration(null, null, null, "requestidkey", null, null, null, null, null);
|
||||||
|
|
||||||
this.Given(_ => GivenAnExceptionWillNotBeThrownDownstream())
|
this.Given(_ => GivenAnExceptionWillNotBeThrownDownstream())
|
||||||
.And(_ => GivenTheConfigurationIs(config))
|
.And(_ => GivenTheConfigurationIs(config))
|
||||||
@ -90,7 +90,7 @@ namespace Ocelot.UnitTests.Errors
|
|||||||
[Fact]
|
[Fact]
|
||||||
public void ShouldSetAspDotNetRequestId()
|
public void ShouldSetAspDotNetRequestId()
|
||||||
{
|
{
|
||||||
var config = new InternalConfiguration(null, null, null, null, null, null, null, null);
|
var config = new InternalConfiguration(null, null, null, null, null, null, null, null, null);
|
||||||
|
|
||||||
this.Given(_ => GivenAnExceptionWillNotBeThrownDownstream())
|
this.Given(_ => GivenAnExceptionWillNotBeThrownDownstream())
|
||||||
.And(_ => GivenTheConfigurationIs(config))
|
.And(_ => GivenTheConfigurationIs(config))
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
{
|
{
|
||||||
var configRepo = new Mock<IInternalConfigurationRepository>();
|
var configRepo = new Mock<IInternalConfigurationRepository>();
|
||||||
configRepo.Setup(x => x.Get())
|
configRepo.Setup(x => x.Get())
|
||||||
.Returns(new OkResponse<IInternalConfiguration>(new InternalConfiguration(null, null, null, null, null, null, null, null)));
|
.Returns(new OkResponse<IInternalConfiguration>(new InternalConfiguration(null, null, null, null, null, null, null, null, null)));
|
||||||
var services = new ServiceCollection();
|
var services = new ServiceCollection();
|
||||||
services.AddSingleton<IInternalConfigurationRepository>(configRepo.Object);
|
services.AddSingleton<IInternalConfigurationRepository>(configRepo.Object);
|
||||||
var sp = services.BuildServiceProvider();
|
var sp = services.BuildServiceProvider();
|
||||||
@ -35,7 +35,7 @@
|
|||||||
var client = new Mock<IDiscoveryClient>();
|
var client = new Mock<IDiscoveryClient>();
|
||||||
var configRepo = new Mock<IInternalConfigurationRepository>();
|
var configRepo = new Mock<IInternalConfigurationRepository>();
|
||||||
configRepo.Setup(x => x.Get())
|
configRepo.Setup(x => x.Get())
|
||||||
.Returns(new OkResponse<IInternalConfiguration>(new InternalConfiguration(null, null, serviceProviderConfig, null, null, null, null, null)));
|
.Returns(new OkResponse<IInternalConfiguration>(new InternalConfiguration(null, null, serviceProviderConfig, null, null, null, null, null, null)));
|
||||||
var services = new ServiceCollection();
|
var services = new ServiceCollection();
|
||||||
services.AddSingleton<IInternalConfigurationRepository>(configRepo.Object);
|
services.AddSingleton<IInternalConfigurationRepository>(configRepo.Object);
|
||||||
services.AddSingleton<IDiscoveryClient>(client.Object);
|
services.AddSingleton<IDiscoveryClient>(client.Object);
|
||||||
|
@ -139,7 +139,7 @@ namespace Ocelot.UnitTests.LoadBalancer
|
|||||||
private void GivenTheConfigurationIs(ServiceProviderConfiguration config)
|
private void GivenTheConfigurationIs(ServiceProviderConfiguration config)
|
||||||
{
|
{
|
||||||
_config = config;
|
_config = config;
|
||||||
var configuration = new InternalConfiguration(null, null, config, null, null, null, null, null);
|
var configuration = new InternalConfiguration(null, null, config, null, null, null, null, null, null);
|
||||||
_downstreamContext.Configuration = configuration;
|
_downstreamContext.Configuration = configuration;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user