wip: removed some debug statements and all tests passing on my PC...feel there is something wrong with the service discovery test around task execution not completing

This commit is contained in:
TomPallister 2017-02-05 21:21:02 +00:00
parent fb0f101732
commit 932bcb73d4
4 changed files with 14 additions and 24 deletions

View File

@ -32,16 +32,14 @@ namespace Ocelot.LoadBalancer.LoadBalancers
public Response Add(string key, ILoadBalancer loadBalancer) public Response Add(string key, ILoadBalancer loadBalancer)
{ {
try if (!_loadBalancers.ContainsKey(key))
{ {
_loadBalancers.Add(key, loadBalancer); _loadBalancers.Add(key, loadBalancer);
return new OkResponse();
}
catch (System.Exception exception)
{
Console.WriteLine(exception.StackTrace);
throw;
} }
_loadBalancers.Remove(key);
_loadBalancers.Add(key, loadBalancer);
return new OkResponse();
} }
} }
} }

View File

@ -19,10 +19,9 @@ namespace Ocelot.AcceptanceTests
private IWebHost _builderTwo; private IWebHost _builderTwo;
private IWebHost _fakeConsulBuilder; private IWebHost _fakeConsulBuilder;
private readonly Steps _steps; private readonly Steps _steps;
private List<ServiceEntry> _serviceEntries; private readonly List<ServiceEntry> _serviceEntries;
private int _counterOne; private int _counterOne;
private int _counterTwo; private int _counterTwo;
private static readonly object _syncLock = new object();
public ServiceDiscoveryTests() public ServiceDiscoveryTests()
{ {
@ -101,8 +100,8 @@ namespace Ocelot.AcceptanceTests
private void ThenBothServicesCalledRealisticAmountOfTimes() private void ThenBothServicesCalledRealisticAmountOfTimes()
{ {
_counterOne.ShouldBeGreaterThan(25); _counterOne.ShouldBe(25);
_counterTwo.ShouldBeGreaterThan(25); _counterTwo.ShouldBe(25);
} }
private void ThenTheTwoServicesShouldHaveBeenCalledTimes(int expected) private void ThenTheTwoServicesShouldHaveBeenCalledTimes(int expected)

View File

@ -28,7 +28,7 @@
{ {
var runTime = $"{oSDescription}-{osArchitecture}".ToLower(); var runTime = $"{oSDescription}-{osArchitecture}".ToLower();
var configPath = $"./test/Ocelot.AcceptanceTests/bin/Debug/netcoreapp{Version}/{runTime}/configuration.json"; var configPath = $"./bin/Debug/netcoreapp{Version}/{runTime}/configuration.json";
return configPath; return configPath;
} }

View File

@ -38,20 +38,13 @@ namespace Ocelot.UnitTests.LoadBalancer
_leastConnection = new LeastConnectionLoadBalancer(() => Task.FromResult(_services), serviceName); _leastConnection = new LeastConnectionLoadBalancer(() => Task.FromResult(_services), serviceName);
var tasks = new Task[100]; var tasks = new Task[100];
try
{
for(var i = 0; i < tasks.Length; i++)
{
tasks[i] = LeaseDelayAndRelease();
}
Task.WaitAll(tasks); for(var i = 0; i < tasks.Length; i++)
}
catch (System.Exception exception)
{ {
Console.WriteLine(exception.StackTrace); tasks[i] = LeaseDelayAndRelease();
throw;
} }
Task.WaitAll(tasks);
} }
private async Task LeaseDelayAndRelease() private async Task LeaseDelayAndRelease()