mirror of
				https://github.com/nsnail/Ocelot.git
				synced 2025-11-04 20:10:50 +08:00 
			
		
		
		
	pulling out service config cretor
This commit is contained in:
		@@ -25,7 +25,7 @@ namespace Ocelot.Configuration.Builder
 | 
				
			|||||||
        private string _downstreamHost;
 | 
					        private string _downstreamHost;
 | 
				
			||||||
        private int _downstreamPort;
 | 
					        private int _downstreamPort;
 | 
				
			||||||
        private string _loadBalancer;
 | 
					        private string _loadBalancer;
 | 
				
			||||||
        private ServiceProviderConfiguraion _serviceProviderConfiguraion;
 | 
					        private ServiceProviderConfiguration _serviceProviderConfiguraion;
 | 
				
			||||||
        private bool _useQos;
 | 
					        private bool _useQos;
 | 
				
			||||||
        private QoSOptions _qosOptions;
 | 
					        private QoSOptions _qosOptions;
 | 
				
			||||||
        public bool _enableRateLimiting;
 | 
					        public bool _enableRateLimiting;
 | 
				
			||||||
@@ -150,7 +150,7 @@ namespace Ocelot.Configuration.Builder
 | 
				
			|||||||
            return this;
 | 
					            return this;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public ReRouteBuilder WithServiceProviderConfiguraion(ServiceProviderConfiguraion serviceProviderConfiguraion)
 | 
					        public ReRouteBuilder WithServiceProviderConfiguraion(ServiceProviderConfiguration serviceProviderConfiguraion)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            _serviceProviderConfiguraion = serviceProviderConfiguraion;
 | 
					            _serviceProviderConfiguraion = serviceProviderConfiguraion;
 | 
				
			||||||
            return this;
 | 
					            return this;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -53,9 +53,9 @@ namespace Ocelot.Configuration.Builder
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        public ServiceProviderConfiguraion Build()
 | 
					        public ServiceProviderConfiguration Build()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            return new ServiceProviderConfiguraion(_serviceName, _downstreamHost, _downstreamPort, _userServiceDiscovery,
 | 
					            return new ServiceProviderConfiguration(_serviceName, _downstreamHost, _downstreamPort, _userServiceDiscovery,
 | 
				
			||||||
            _serviceDiscoveryProvider, _serviceDiscoveryProviderHost,_serviceDiscoveryProviderPort);
 | 
					            _serviceDiscoveryProvider, _serviceDiscoveryProviderHost,_serviceDiscoveryProviderPort);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,6 +32,7 @@ namespace Ocelot.Configuration.Creator
 | 
				
			|||||||
        private readonly IAuthenticationOptionsCreator _authOptionsCreator;
 | 
					        private readonly IAuthenticationOptionsCreator _authOptionsCreator;
 | 
				
			||||||
        private IUpstreamTemplatePatternCreator _upstreamTemplatePatternCreator;
 | 
					        private IUpstreamTemplatePatternCreator _upstreamTemplatePatternCreator;
 | 
				
			||||||
        private IRequestIdKeyCreator _requestIdKeyCreator;
 | 
					        private IRequestIdKeyCreator _requestIdKeyCreator;
 | 
				
			||||||
 | 
					        private IServiceProviderConfigurationCreator _serviceProviderConfigCreator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public FileOcelotConfigurationCreator(
 | 
					        public FileOcelotConfigurationCreator(
 | 
				
			||||||
            IOptions<FileConfiguration> options, 
 | 
					            IOptions<FileConfiguration> options, 
 | 
				
			||||||
@@ -44,7 +45,8 @@ namespace Ocelot.Configuration.Creator
 | 
				
			|||||||
            IClaimsToThingCreator claimsToThingCreator,
 | 
					            IClaimsToThingCreator claimsToThingCreator,
 | 
				
			||||||
            IAuthenticationOptionsCreator authOptionsCreator,
 | 
					            IAuthenticationOptionsCreator authOptionsCreator,
 | 
				
			||||||
            IUpstreamTemplatePatternCreator upstreamTemplatePatternCreator,
 | 
					            IUpstreamTemplatePatternCreator upstreamTemplatePatternCreator,
 | 
				
			||||||
            IRequestIdKeyCreator requestIdKeyCreator)
 | 
					            IRequestIdKeyCreator requestIdKeyCreator,
 | 
				
			||||||
 | 
					            IServiceProviderConfigurationCreator serviceProviderConfigCreator)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            _requestIdKeyCreator = requestIdKeyCreator;
 | 
					            _requestIdKeyCreator = requestIdKeyCreator;
 | 
				
			||||||
            _upstreamTemplatePatternCreator = upstreamTemplatePatternCreator;
 | 
					            _upstreamTemplatePatternCreator = upstreamTemplatePatternCreator;
 | 
				
			||||||
@@ -57,6 +59,7 @@ namespace Ocelot.Configuration.Creator
 | 
				
			|||||||
            _configurationValidator = configurationValidator;
 | 
					            _configurationValidator = configurationValidator;
 | 
				
			||||||
            _logger = logger;
 | 
					            _logger = logger;
 | 
				
			||||||
            _claimsToThingCreator = claimsToThingCreator;
 | 
					            _claimsToThingCreator = claimsToThingCreator;
 | 
				
			||||||
 | 
					            _serviceProviderConfigCreator = serviceProviderConfigCreator;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public async Task<Response<IOcelotConfiguration>> Create()
 | 
					        public async Task<Response<IOcelotConfiguration>> Create()
 | 
				
			||||||
@@ -110,13 +113,13 @@ namespace Ocelot.Configuration.Creator
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            var requestIdKey = _requestIdKeyCreator.Create(fileReRoute, globalConfiguration);
 | 
					            var requestIdKey = _requestIdKeyCreator.Create(fileReRoute, globalConfiguration);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var reRouteKey = BuildReRouteKey(fileReRoute);
 | 
					            var reRouteKey = CreateReRouteKey(fileReRoute);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var upstreamTemplatePattern = _upstreamTemplatePatternCreator.Create(fileReRoute);
 | 
					            var upstreamTemplatePattern = _upstreamTemplatePatternCreator.Create(fileReRoute);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var isQos = IsQoS(fileReRoute);
 | 
					            var isQos = IsQoS(fileReRoute);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var serviceProviderConfiguration = BuildServiceProviderConfiguration(fileReRoute, globalConfiguration);
 | 
					            var serviceProviderConfiguration = _serviceProviderConfigCreator.Create(fileReRoute, globalConfiguration);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var authOptionsForRoute = _authOptionsCreator.Create(fileReRoute);
 | 
					            var authOptionsForRoute = _authOptionsCreator.Create(fileReRoute);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -213,7 +216,7 @@ namespace Ocelot.Configuration.Creator
 | 
				
			|||||||
            return fileReRoute.FileCacheOptions.TtlSeconds > 0;
 | 
					            return fileReRoute.FileCacheOptions.TtlSeconds > 0;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private string BuildReRouteKey(FileReRoute fileReRoute)
 | 
					        private string CreateReRouteKey(FileReRoute fileReRoute)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            //note - not sure if this is the correct key, but this is probably the only unique key i can think of given my poor brain
 | 
					            //note - not sure if this is the correct key, but this is probably the only unique key i can think of given my poor brain
 | 
				
			||||||
            var loadBalancerKey = $"{fileReRoute.UpstreamPathTemplate}{fileReRoute.UpstreamHttpMethod}";
 | 
					            var loadBalancerKey = $"{fileReRoute.UpstreamPathTemplate}{fileReRoute.UpstreamHttpMethod}";
 | 
				
			||||||
@@ -232,24 +235,6 @@ namespace Ocelot.Configuration.Creator
 | 
				
			|||||||
            _qosProviderHouse.Add(reRoute.ReRouteKey, loadBalancer);
 | 
					            _qosProviderHouse.Add(reRoute.ReRouteKey, loadBalancer);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private ServiceProviderConfiguraion BuildServiceProviderConfiguration(FileReRoute fileReRoute, FileGlobalConfiguration globalConfiguration)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            var useServiceDiscovery = !string.IsNullOrEmpty(fileReRoute.ServiceName)
 | 
					 | 
				
			||||||
                && !string.IsNullOrEmpty(globalConfiguration?.ServiceDiscoveryProvider?.Provider);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            var serviceProviderPort = globalConfiguration?.ServiceDiscoveryProvider?.Port ?? 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            return new ServiceProviderConfiguraionBuilder()
 | 
					 | 
				
			||||||
                    .WithServiceName(fileReRoute.ServiceName)
 | 
					 | 
				
			||||||
                    .WithDownstreamHost(fileReRoute.DownstreamHost)
 | 
					 | 
				
			||||||
                    .WithDownstreamPort(fileReRoute.DownstreamPort)
 | 
					 | 
				
			||||||
                    .WithUseServiceDiscovery(useServiceDiscovery)
 | 
					 | 
				
			||||||
                    .WithServiceDiscoveryProvider(globalConfiguration?.ServiceDiscoveryProvider?.Provider)
 | 
					 | 
				
			||||||
                    .WithServiceDiscoveryProviderHost(globalConfiguration?.ServiceDiscoveryProvider?.Host)
 | 
					 | 
				
			||||||
                    .WithServiceDiscoveryProviderPort(serviceProviderPort)
 | 
					 | 
				
			||||||
                    .Build();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        private bool IsPlaceHolder(string upstreamTemplate, int i)
 | 
					        private bool IsPlaceHolder(string upstreamTemplate, int i)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            return upstreamTemplate[i] == '{';
 | 
					            return upstreamTemplate[i] == '{';
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					using Ocelot.Configuration.File;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Ocelot.Configuration.Creator
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public interface IServiceProviderConfigurationCreator
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        ServiceProviderConfiguration Create(FileReRoute fileReRoute, FileGlobalConfiguration globalConfiguration);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					using Ocelot.Configuration.Builder;
 | 
				
			||||||
 | 
					using Ocelot.Configuration.File;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Ocelot.Configuration.Creator
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class ServiceProviderConfigurationCreator : IServiceProviderConfigurationCreator
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public ServiceProviderConfiguration Create(FileReRoute fileReRoute, FileGlobalConfiguration globalConfiguration)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            var useServiceDiscovery = !string.IsNullOrEmpty(fileReRoute.ServiceName)
 | 
				
			||||||
 | 
					                && !string.IsNullOrEmpty(globalConfiguration?.ServiceDiscoveryProvider?.Provider);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var serviceProviderPort = globalConfiguration?.ServiceDiscoveryProvider?.Port ?? 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return new ServiceProviderConfiguraionBuilder()
 | 
				
			||||||
 | 
					                    .WithServiceName(fileReRoute.ServiceName)
 | 
				
			||||||
 | 
					                    .WithDownstreamHost(fileReRoute.DownstreamHost)
 | 
				
			||||||
 | 
					                    .WithDownstreamPort(fileReRoute.DownstreamPort)
 | 
				
			||||||
 | 
					                    .WithUseServiceDiscovery(useServiceDiscovery)
 | 
				
			||||||
 | 
					                    .WithServiceDiscoveryProvider(globalConfiguration?.ServiceDiscoveryProvider?.Provider)
 | 
				
			||||||
 | 
					                    .WithServiceDiscoveryProviderHost(globalConfiguration?.ServiceDiscoveryProvider?.Host)
 | 
				
			||||||
 | 
					                    .WithServiceDiscoveryProviderPort(serviceProviderPort)
 | 
				
			||||||
 | 
					                    .Build();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -25,7 +25,7 @@ namespace Ocelot.Configuration
 | 
				
			|||||||
            string downstreamHost, 
 | 
					            string downstreamHost, 
 | 
				
			||||||
            int downstreamPort, 
 | 
					            int downstreamPort, 
 | 
				
			||||||
            string reRouteKey, 
 | 
					            string reRouteKey, 
 | 
				
			||||||
            ServiceProviderConfiguraion serviceProviderConfiguraion,
 | 
					            ServiceProviderConfiguration serviceProviderConfiguraion,
 | 
				
			||||||
            bool isQos,
 | 
					            bool isQos,
 | 
				
			||||||
            QoSOptions qos,
 | 
					            QoSOptions qos,
 | 
				
			||||||
            bool enableRateLimit,
 | 
					            bool enableRateLimit,
 | 
				
			||||||
@@ -81,7 +81,7 @@ namespace Ocelot.Configuration
 | 
				
			|||||||
        public string LoadBalancer {get;private set;}
 | 
					        public string LoadBalancer {get;private set;}
 | 
				
			||||||
        public string DownstreamHost { get; private set; }
 | 
					        public string DownstreamHost { get; private set; }
 | 
				
			||||||
        public int DownstreamPort { get; private set; }
 | 
					        public int DownstreamPort { get; private set; }
 | 
				
			||||||
        public ServiceProviderConfiguraion ServiceProviderConfiguraion { get; private set; }
 | 
					        public ServiceProviderConfiguration ServiceProviderConfiguraion { get; private set; }
 | 
				
			||||||
        public bool EnableEndpointRateLimiting { get; private set; }
 | 
					        public bool EnableEndpointRateLimiting { get; private set; }
 | 
				
			||||||
        public RateLimitOptions RateLimitOptions { get; private set; }
 | 
					        public RateLimitOptions RateLimitOptions { get; private set; }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
namespace Ocelot.Configuration
 | 
					namespace Ocelot.Configuration
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public class ServiceProviderConfiguraion
 | 
					    public class ServiceProviderConfiguration
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        public ServiceProviderConfiguraion(string serviceName, string downstreamHost,
 | 
					        public ServiceProviderConfiguration(string serviceName, string downstreamHost,
 | 
				
			||||||
            int downstreamPort, bool useServiceDiscovery, string serviceDiscoveryProvider, string serviceProviderHost, int serviceProviderPort)
 | 
					            int downstreamPort, bool useServiceDiscovery, string serviceDiscoveryProvider, string serviceProviderHost, int serviceProviderPort)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ServiceName = serviceName;
 | 
					            ServiceName = serviceName;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -64,6 +64,7 @@ namespace Ocelot.DependencyInjection
 | 
				
			|||||||
            services.AddSingleton<IAuthenticationOptionsCreator, AuthenticationOptionsCreator>();
 | 
					            services.AddSingleton<IAuthenticationOptionsCreator, AuthenticationOptionsCreator>();
 | 
				
			||||||
            services.AddSingleton<IUpstreamTemplatePatternCreator, UpstreamTemplatePatternCreator>();
 | 
					            services.AddSingleton<IUpstreamTemplatePatternCreator, UpstreamTemplatePatternCreator>();
 | 
				
			||||||
            services.AddSingleton<IRequestIdKeyCreator, RequestIdKeyCreator>();
 | 
					            services.AddSingleton<IRequestIdKeyCreator, RequestIdKeyCreator>();
 | 
				
			||||||
 | 
					            services.AddSingleton<IServiceProviderConfigurationCreator,ServiceProviderConfigurationCreator>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var identityServerConfiguration = IdentityServerConfigurationCreator.GetIdentityServerConfiguration();
 | 
					            var identityServerConfiguration = IdentityServerConfigurationCreator.GetIdentityServerConfiguration();
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,6 +5,6 @@ namespace Ocelot.ServiceDiscovery
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    public interface IServiceDiscoveryProviderFactory
 | 
					    public interface IServiceDiscoveryProviderFactory
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        IServiceDiscoveryProvider Get(ServiceProviderConfiguraion serviceConfig);
 | 
					        IServiceDiscoveryProvider Get(ServiceProviderConfiguration serviceConfig);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -6,7 +6,7 @@ namespace Ocelot.ServiceDiscovery
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    public class ServiceDiscoveryProviderFactory : IServiceDiscoveryProviderFactory
 | 
					    public class ServiceDiscoveryProviderFactory : IServiceDiscoveryProviderFactory
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        public  IServiceDiscoveryProvider Get(ServiceProviderConfiguraion serviceConfig)
 | 
					        public  IServiceDiscoveryProvider Get(ServiceProviderConfiguration serviceConfig)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (serviceConfig.UseServiceDiscovery)
 | 
					            if (serviceConfig.UseServiceDiscovery)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,6 +35,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
				
			|||||||
        private Mock<IAuthenticationOptionsCreator> _authOptionsCreator;
 | 
					        private Mock<IAuthenticationOptionsCreator> _authOptionsCreator;
 | 
				
			||||||
        private Mock<IUpstreamTemplatePatternCreator> _upstreamTemplatePatternCreator;
 | 
					        private Mock<IUpstreamTemplatePatternCreator> _upstreamTemplatePatternCreator;
 | 
				
			||||||
        private Mock<IRequestIdKeyCreator> _requestIdKeyCreator;
 | 
					        private Mock<IRequestIdKeyCreator> _requestIdKeyCreator;
 | 
				
			||||||
 | 
					        private Mock<IServiceProviderConfigurationCreator> _serviceProviderConfigCreator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public FileConfigurationCreatorTests()
 | 
					        public FileConfigurationCreatorTests()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@@ -51,12 +52,14 @@ namespace Ocelot.UnitTests.Configuration
 | 
				
			|||||||
            _authOptionsCreator = new Mock<IAuthenticationOptionsCreator>();
 | 
					            _authOptionsCreator = new Mock<IAuthenticationOptionsCreator>();
 | 
				
			||||||
            _upstreamTemplatePatternCreator = new Mock<IUpstreamTemplatePatternCreator>();
 | 
					            _upstreamTemplatePatternCreator = new Mock<IUpstreamTemplatePatternCreator>();
 | 
				
			||||||
            _requestIdKeyCreator = new Mock<IRequestIdKeyCreator>();
 | 
					            _requestIdKeyCreator = new Mock<IRequestIdKeyCreator>();
 | 
				
			||||||
 | 
					            _serviceProviderConfigCreator = new Mock<IServiceProviderConfigurationCreator>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            _ocelotConfigurationCreator = new FileOcelotConfigurationCreator( 
 | 
					            _ocelotConfigurationCreator = new FileOcelotConfigurationCreator( 
 | 
				
			||||||
                _fileConfig.Object, _validator.Object, _logger.Object,
 | 
					                _fileConfig.Object, _validator.Object, _logger.Object,
 | 
				
			||||||
                _loadBalancerFactory.Object, _loadBalancerHouse.Object, 
 | 
					                _loadBalancerFactory.Object, _loadBalancerHouse.Object, 
 | 
				
			||||||
                _qosProviderFactory.Object, _qosProviderHouse.Object, _claimsToThingCreator.Object,
 | 
					                _qosProviderFactory.Object, _qosProviderHouse.Object, _claimsToThingCreator.Object,
 | 
				
			||||||
                _authOptionsCreator.Object, _upstreamTemplatePatternCreator.Object, _requestIdKeyCreator.Object);
 | 
					                _authOptionsCreator.Object, _upstreamTemplatePatternCreator.Object, _requestIdKeyCreator.Object,
 | 
				
			||||||
 | 
					                _serviceProviderConfigCreator.Object);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        [Fact]
 | 
					        [Fact]
 | 
				
			||||||
@@ -470,9 +473,25 @@ namespace Ocelot.UnitTests.Configuration
 | 
				
			|||||||
                result.ClaimsToHeaders.Count.ShouldBe(expected.ClaimsToHeaders.Count);
 | 
					                result.ClaimsToHeaders.Count.ShouldBe(expected.ClaimsToHeaders.Count);
 | 
				
			||||||
                result.ClaimsToQueries.Count.ShouldBe(expected.ClaimsToQueries.Count);
 | 
					                result.ClaimsToQueries.Count.ShouldBe(expected.ClaimsToQueries.Count);
 | 
				
			||||||
                result.RequestIdKey.ShouldBe(expected.RequestIdKey);
 | 
					                result.RequestIdKey.ShouldBe(expected.RequestIdKey);
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        private void ThenTheServiceConfigurationIs(ServiceProviderConfiguration expected)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            for (int i = 0; i < _config.Data.ReRoutes.Count; i++)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                var result = _config.Data.ReRoutes[i];
 | 
				
			||||||
 | 
					                result.ServiceProviderConfiguraion.DownstreamHost.ShouldBe(expected.DownstreamHost);
 | 
				
			||||||
 | 
					                result.ServiceProviderConfiguraion.DownstreamPort.ShouldBe(expected.DownstreamPort);
 | 
				
			||||||
 | 
					                result.ServiceProviderConfiguraion.ServiceDiscoveryProvider.ShouldBe(expected.ServiceDiscoveryProvider);
 | 
				
			||||||
 | 
					                result.ServiceProviderConfiguraion.ServiceName.ShouldBe(expected.ServiceName);
 | 
				
			||||||
 | 
					                result.ServiceProviderConfiguraion.ServiceProviderHost.ShouldBe(expected.ServiceProviderHost);
 | 
				
			||||||
 | 
					                result.ServiceProviderConfiguraion.ServiceProviderPort.ShouldBe(expected.ServiceProviderPort);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private void ThenTheAuthenticationOptionsAre(List<ReRoute> expectedReRoutes)
 | 
					        private void ThenTheAuthenticationOptionsAre(List<ReRoute> expectedReRoutes)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            for (int i = 0; i < _config.Data.ReRoutes.Count; i++)
 | 
					            for (int i = 0; i < _config.Data.ReRoutes.Count; i++)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -90,14 +90,14 @@ namespace Ocelot.UnitTests.LoadBalancer
 | 
				
			|||||||
        private void GivenTheServiceProviderFactoryReturns()
 | 
					        private void GivenTheServiceProviderFactoryReturns()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            _serviceProviderFactory
 | 
					            _serviceProviderFactory
 | 
				
			||||||
                .Setup(x => x.Get(It.IsAny<ServiceProviderConfiguraion>()))
 | 
					                .Setup(x => x.Get(It.IsAny<ServiceProviderConfiguration>()))
 | 
				
			||||||
                .Returns(_serviceProvider.Object);
 | 
					                .Returns(_serviceProvider.Object);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private void ThenTheServiceProviderIsCalledCorrectly()
 | 
					        private void ThenTheServiceProviderIsCalledCorrectly()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            _serviceProviderFactory
 | 
					            _serviceProviderFactory
 | 
				
			||||||
                .Verify(x => x.Get(It.IsAny<ServiceProviderConfiguraion>()), Times.Once);
 | 
					                .Verify(x => x.Get(It.IsAny<ServiceProviderConfiguration>()), Times.Once);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private void GivenAReRoute(ReRoute reRoute)
 | 
					        private void GivenAReRoute(ReRoute reRoute)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@ namespace Ocelot.UnitTests.ServiceDiscovery
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    public class ServiceProviderFactoryTests
 | 
					    public class ServiceProviderFactoryTests
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        private ServiceProviderConfiguraion _serviceConfig;
 | 
					        private ServiceProviderConfiguration _serviceConfig;
 | 
				
			||||||
        private IServiceDiscoveryProvider _result;
 | 
					        private IServiceDiscoveryProvider _result;
 | 
				
			||||||
        private readonly ServiceDiscoveryProviderFactory _factory;
 | 
					        private readonly ServiceDiscoveryProviderFactory _factory;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -48,7 +48,7 @@ namespace Ocelot.UnitTests.ServiceDiscovery
 | 
				
			|||||||
                .BDDfy();
 | 
					                .BDDfy();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private void GivenTheReRoute(ServiceProviderConfiguraion serviceConfig)
 | 
					        private void GivenTheReRoute(ServiceProviderConfiguration serviceConfig)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            _serviceConfig = serviceConfig;
 | 
					            _serviceConfig = serviceConfig;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user