mirror of
https://github.com/nsnail/Ocelot.git
synced 2025-04-22 06:22:50 +08:00
added lame test for service config creator
This commit is contained in:
parent
fff743ccf8
commit
034732ce90
@ -1,6 +1,6 @@
|
|||||||
namespace Ocelot.Configuration.Builder
|
namespace Ocelot.Configuration.Builder
|
||||||
{
|
{
|
||||||
public class ServiceProviderConfiguraionBuilder
|
public class ServiceProviderConfigurationBuilder
|
||||||
{
|
{
|
||||||
private string _serviceName;
|
private string _serviceName;
|
||||||
private string _downstreamHost;
|
private string _downstreamHost;
|
||||||
@ -10,43 +10,43 @@ namespace Ocelot.Configuration.Builder
|
|||||||
private string _serviceDiscoveryProviderHost;
|
private string _serviceDiscoveryProviderHost;
|
||||||
private int _serviceDiscoveryProviderPort;
|
private int _serviceDiscoveryProviderPort;
|
||||||
|
|
||||||
public ServiceProviderConfiguraionBuilder WithServiceName(string serviceName)
|
public ServiceProviderConfigurationBuilder WithServiceName(string serviceName)
|
||||||
{
|
{
|
||||||
_serviceName = serviceName;
|
_serviceName = serviceName;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ServiceProviderConfiguraionBuilder WithDownstreamHost(string downstreamHost)
|
public ServiceProviderConfigurationBuilder WithDownstreamHost(string downstreamHost)
|
||||||
{
|
{
|
||||||
_downstreamHost = downstreamHost;
|
_downstreamHost = downstreamHost;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ServiceProviderConfiguraionBuilder WithDownstreamPort(int downstreamPort)
|
public ServiceProviderConfigurationBuilder WithDownstreamPort(int downstreamPort)
|
||||||
{
|
{
|
||||||
_downstreamPort = downstreamPort;
|
_downstreamPort = downstreamPort;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ServiceProviderConfiguraionBuilder WithUseServiceDiscovery(bool userServiceDiscovery)
|
public ServiceProviderConfigurationBuilder WithUseServiceDiscovery(bool userServiceDiscovery)
|
||||||
{
|
{
|
||||||
_userServiceDiscovery = userServiceDiscovery;
|
_userServiceDiscovery = userServiceDiscovery;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ServiceProviderConfiguraionBuilder WithServiceDiscoveryProvider(string serviceDiscoveryProvider)
|
public ServiceProviderConfigurationBuilder WithServiceDiscoveryProvider(string serviceDiscoveryProvider)
|
||||||
{
|
{
|
||||||
_serviceDiscoveryProvider = serviceDiscoveryProvider;
|
_serviceDiscoveryProvider = serviceDiscoveryProvider;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ServiceProviderConfiguraionBuilder WithServiceDiscoveryProviderHost(string serviceDiscoveryProviderHost)
|
public ServiceProviderConfigurationBuilder WithServiceDiscoveryProviderHost(string serviceDiscoveryProviderHost)
|
||||||
{
|
{
|
||||||
_serviceDiscoveryProviderHost = serviceDiscoveryProviderHost;
|
_serviceDiscoveryProviderHost = serviceDiscoveryProviderHost;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ServiceProviderConfiguraionBuilder WithServiceDiscoveryProviderPort(int serviceDiscoveryProviderPort)
|
public ServiceProviderConfigurationBuilder WithServiceDiscoveryProviderPort(int serviceDiscoveryProviderPort)
|
||||||
{
|
{
|
||||||
_serviceDiscoveryProviderPort = serviceDiscoveryProviderPort;
|
_serviceDiscoveryProviderPort = serviceDiscoveryProviderPort;
|
||||||
return this;
|
return this;
|
@ -12,7 +12,7 @@ namespace Ocelot.Configuration.Creator
|
|||||||
|
|
||||||
var serviceProviderPort = globalConfiguration?.ServiceDiscoveryProvider?.Port ?? 0;
|
var serviceProviderPort = globalConfiguration?.ServiceDiscoveryProvider?.Port ?? 0;
|
||||||
|
|
||||||
return new ServiceProviderConfiguraionBuilder()
|
return new ServiceProviderConfigurationBuilder()
|
||||||
.WithServiceName(fileReRoute.ServiceName)
|
.WithServiceName(fileReRoute.ServiceName)
|
||||||
.WithDownstreamHost(fileReRoute.DownstreamHost)
|
.WithDownstreamHost(fileReRoute.DownstreamHost)
|
||||||
.WithDownstreamPort(fileReRoute.DownstreamPort)
|
.WithDownstreamPort(fileReRoute.DownstreamPort)
|
||||||
|
@ -209,7 +209,7 @@ namespace Ocelot.UnitTests.Configuration
|
|||||||
.WithDownstreamPathTemplate("/products/{productId}")
|
.WithDownstreamPathTemplate("/products/{productId}")
|
||||||
.WithUpstreamPathTemplate("/api/products/{productId}")
|
.WithUpstreamPathTemplate("/api/products/{productId}")
|
||||||
.WithUpstreamHttpMethod("Get")
|
.WithUpstreamHttpMethod("Get")
|
||||||
.WithServiceProviderConfiguraion(new ServiceProviderConfiguraionBuilder()
|
.WithServiceProviderConfiguraion(new ServiceProviderConfigurationBuilder()
|
||||||
.WithUseServiceDiscovery(true)
|
.WithUseServiceDiscovery(true)
|
||||||
.WithServiceDiscoveryProvider("consul")
|
.WithServiceDiscoveryProvider("consul")
|
||||||
.WithServiceDiscoveryProviderHost("127.0.0.1")
|
.WithServiceDiscoveryProviderHost("127.0.0.1")
|
||||||
@ -244,7 +244,7 @@ namespace Ocelot.UnitTests.Configuration
|
|||||||
.WithDownstreamPathTemplate("/products/{productId}")
|
.WithDownstreamPathTemplate("/products/{productId}")
|
||||||
.WithUpstreamPathTemplate("/api/products/{productId}")
|
.WithUpstreamPathTemplate("/api/products/{productId}")
|
||||||
.WithUpstreamHttpMethod("Get")
|
.WithUpstreamHttpMethod("Get")
|
||||||
.WithServiceProviderConfiguraion(new ServiceProviderConfiguraionBuilder()
|
.WithServiceProviderConfiguraion(new ServiceProviderConfigurationBuilder()
|
||||||
.WithUseServiceDiscovery(false)
|
.WithUseServiceDiscovery(false)
|
||||||
.Build())
|
.Build())
|
||||||
.Build()
|
.Build()
|
||||||
|
@ -0,0 +1,76 @@
|
|||||||
|
using Ocelot.Configuration;
|
||||||
|
using Ocelot.Configuration.Builder;
|
||||||
|
using Ocelot.Configuration.Creator;
|
||||||
|
using Ocelot.Configuration.File;
|
||||||
|
using Shouldly;
|
||||||
|
using TestStack.BDDfy;
|
||||||
|
using Xunit;
|
||||||
|
|
||||||
|
namespace Ocelot.UnitTests.Configuration
|
||||||
|
{
|
||||||
|
public class ServiceProviderCreatorTests
|
||||||
|
{
|
||||||
|
private ServiceProviderConfigurationCreator _creator;
|
||||||
|
private FileReRoute _reRoute;
|
||||||
|
private FileGlobalConfiguration _globalConfig;
|
||||||
|
private ServiceProviderConfiguration _result;
|
||||||
|
|
||||||
|
public ServiceProviderCreatorTests()
|
||||||
|
{
|
||||||
|
_creator = new ServiceProviderConfigurationCreator();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void should_create_service_provider_config()
|
||||||
|
{
|
||||||
|
var reRoute = new FileReRoute();
|
||||||
|
|
||||||
|
var globalConfig = new FileGlobalConfiguration
|
||||||
|
{
|
||||||
|
ServiceDiscoveryProvider = new FileServiceDiscoveryProvider
|
||||||
|
{
|
||||||
|
Provider = "consul",
|
||||||
|
Host = "127.0.0.1",
|
||||||
|
Port = 1234
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var expected = new ServiceProviderConfigurationBuilder()
|
||||||
|
.WithServiceDiscoveryProvider("consul")
|
||||||
|
.WithServiceDiscoveryProviderHost("127.0.0.1")
|
||||||
|
.WithServiceDiscoveryProviderPort(1234)
|
||||||
|
.Build();
|
||||||
|
|
||||||
|
this.Given(x => x.GivenTheFollowingReRoute(reRoute))
|
||||||
|
.And(x => x.GivenTheFollowingGlobalConfig(globalConfig))
|
||||||
|
.When(x => x.WhenICreate())
|
||||||
|
.Then(x => x.ThenTheConfigIs(expected))
|
||||||
|
.BDDfy();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GivenTheFollowingReRoute(FileReRoute fileReRoute)
|
||||||
|
{
|
||||||
|
_reRoute = fileReRoute;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GivenTheFollowingGlobalConfig(FileGlobalConfiguration fileGlobalConfig)
|
||||||
|
{
|
||||||
|
_globalConfig = fileGlobalConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void WhenICreate()
|
||||||
|
{
|
||||||
|
_result = _creator.Create(_reRoute, _globalConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ThenTheConfigIs(ServiceProviderConfiguration expected)
|
||||||
|
{
|
||||||
|
_result.DownstreamHost.ShouldBe(expected.DownstreamHost);
|
||||||
|
_result.DownstreamPort.ShouldBe(expected.DownstreamPort);
|
||||||
|
_result.ServiceDiscoveryProvider.ShouldBe(expected.ServiceDiscoveryProvider);
|
||||||
|
_result.ServiceName.ShouldBe(expected.ServiceName);
|
||||||
|
_result.ServiceProviderHost.ShouldBe(expected.ServiceProviderHost);
|
||||||
|
_result.ServiceProviderPort.ShouldBe(expected.ServiceProviderPort);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -28,7 +28,7 @@ namespace Ocelot.UnitTests.LoadBalancer
|
|||||||
public void should_return_no_load_balancer()
|
public void should_return_no_load_balancer()
|
||||||
{
|
{
|
||||||
var reRoute = new ReRouteBuilder()
|
var reRoute = new ReRouteBuilder()
|
||||||
.WithServiceProviderConfiguraion(new ServiceProviderConfiguraionBuilder().Build())
|
.WithServiceProviderConfiguraion(new ServiceProviderConfigurationBuilder().Build())
|
||||||
.WithUpstreamHttpMethod("Get")
|
.WithUpstreamHttpMethod("Get")
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ namespace Ocelot.UnitTests.LoadBalancer
|
|||||||
var reRoute = new ReRouteBuilder()
|
var reRoute = new ReRouteBuilder()
|
||||||
.WithLoadBalancer("RoundRobin")
|
.WithLoadBalancer("RoundRobin")
|
||||||
.WithUpstreamHttpMethod("Get")
|
.WithUpstreamHttpMethod("Get")
|
||||||
.WithServiceProviderConfiguraion(new ServiceProviderConfiguraionBuilder().Build())
|
.WithServiceProviderConfiguraion(new ServiceProviderConfigurationBuilder().Build())
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
this.Given(x => x.GivenAReRoute(reRoute))
|
this.Given(x => x.GivenAReRoute(reRoute))
|
||||||
@ -61,7 +61,7 @@ namespace Ocelot.UnitTests.LoadBalancer
|
|||||||
var reRoute = new ReRouteBuilder()
|
var reRoute = new ReRouteBuilder()
|
||||||
.WithLoadBalancer("LeastConnection")
|
.WithLoadBalancer("LeastConnection")
|
||||||
.WithUpstreamHttpMethod("Get")
|
.WithUpstreamHttpMethod("Get")
|
||||||
.WithServiceProviderConfiguraion(new ServiceProviderConfiguraionBuilder().Build())
|
.WithServiceProviderConfiguraion(new ServiceProviderConfigurationBuilder().Build())
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
this.Given(x => x.GivenAReRoute(reRoute))
|
this.Given(x => x.GivenAReRoute(reRoute))
|
||||||
@ -77,7 +77,7 @@ namespace Ocelot.UnitTests.LoadBalancer
|
|||||||
var reRoute = new ReRouteBuilder()
|
var reRoute = new ReRouteBuilder()
|
||||||
.WithLoadBalancer("RoundRobin")
|
.WithLoadBalancer("RoundRobin")
|
||||||
.WithUpstreamHttpMethod("Get")
|
.WithUpstreamHttpMethod("Get")
|
||||||
.WithServiceProviderConfiguraion(new ServiceProviderConfiguraionBuilder().Build())
|
.WithServiceProviderConfiguraion(new ServiceProviderConfigurationBuilder().Build())
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
this.Given(x => x.GivenAReRoute(reRoute))
|
this.Given(x => x.GivenAReRoute(reRoute))
|
||||||
|
@ -21,7 +21,7 @@ namespace Ocelot.UnitTests.ServiceDiscovery
|
|||||||
[Fact]
|
[Fact]
|
||||||
public void should_return_no_service_provider()
|
public void should_return_no_service_provider()
|
||||||
{
|
{
|
||||||
var serviceConfig = new ServiceProviderConfiguraionBuilder()
|
var serviceConfig = new ServiceProviderConfigurationBuilder()
|
||||||
.WithDownstreamHost("127.0.0.1")
|
.WithDownstreamHost("127.0.0.1")
|
||||||
.WithDownstreamPort(80)
|
.WithDownstreamPort(80)
|
||||||
.WithUseServiceDiscovery(false)
|
.WithUseServiceDiscovery(false)
|
||||||
@ -36,7 +36,7 @@ namespace Ocelot.UnitTests.ServiceDiscovery
|
|||||||
[Fact]
|
[Fact]
|
||||||
public void should_return_consul_service_provider()
|
public void should_return_consul_service_provider()
|
||||||
{
|
{
|
||||||
var serviceConfig = new ServiceProviderConfiguraionBuilder()
|
var serviceConfig = new ServiceProviderConfigurationBuilder()
|
||||||
.WithServiceName("product")
|
.WithServiceName("product")
|
||||||
.WithUseServiceDiscovery(true)
|
.WithUseServiceDiscovery(true)
|
||||||
.WithServiceDiscoveryProvider("Consul")
|
.WithServiceDiscoveryProvider("Consul")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user