From 932bcb73d463ec1b474fa7361e4d43a248dde788 Mon Sep 17 00:00:00 2001 From: TomPallister Date: Sun, 5 Feb 2017 21:21:02 +0000 Subject: [PATCH] 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 --- .../LoadBalancers/LoadBalancerHouse.cs | 12 +++++------- .../ServiceDiscoveryTests.cs | 7 +++---- .../Ocelot.AcceptanceTests/TestConfiguration.cs | 2 +- .../LoadBalancer/LeastConnectionTests.cs | 17 +++++------------ 4 files changed, 14 insertions(+), 24 deletions(-) diff --git a/src/Ocelot/LoadBalancer/LoadBalancers/LoadBalancerHouse.cs b/src/Ocelot/LoadBalancer/LoadBalancers/LoadBalancerHouse.cs index 63ac3243..cc6ea73b 100644 --- a/src/Ocelot/LoadBalancer/LoadBalancers/LoadBalancerHouse.cs +++ b/src/Ocelot/LoadBalancer/LoadBalancers/LoadBalancerHouse.cs @@ -32,16 +32,14 @@ namespace Ocelot.LoadBalancer.LoadBalancers public Response Add(string key, ILoadBalancer loadBalancer) { - try + if (!_loadBalancers.ContainsKey(key)) { _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(); } } } diff --git a/test/Ocelot.AcceptanceTests/ServiceDiscoveryTests.cs b/test/Ocelot.AcceptanceTests/ServiceDiscoveryTests.cs index d8e5149d..2d9d55af 100644 --- a/test/Ocelot.AcceptanceTests/ServiceDiscoveryTests.cs +++ b/test/Ocelot.AcceptanceTests/ServiceDiscoveryTests.cs @@ -19,10 +19,9 @@ namespace Ocelot.AcceptanceTests private IWebHost _builderTwo; private IWebHost _fakeConsulBuilder; private readonly Steps _steps; - private List _serviceEntries; + private readonly List _serviceEntries; private int _counterOne; private int _counterTwo; - private static readonly object _syncLock = new object(); public ServiceDiscoveryTests() { @@ -101,8 +100,8 @@ namespace Ocelot.AcceptanceTests private void ThenBothServicesCalledRealisticAmountOfTimes() { - _counterOne.ShouldBeGreaterThan(25); - _counterTwo.ShouldBeGreaterThan(25); + _counterOne.ShouldBe(25); + _counterTwo.ShouldBe(25); } private void ThenTheTwoServicesShouldHaveBeenCalledTimes(int expected) diff --git a/test/Ocelot.AcceptanceTests/TestConfiguration.cs b/test/Ocelot.AcceptanceTests/TestConfiguration.cs index 6784391c..ce802efb 100644 --- a/test/Ocelot.AcceptanceTests/TestConfiguration.cs +++ b/test/Ocelot.AcceptanceTests/TestConfiguration.cs @@ -28,7 +28,7 @@ { 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; } diff --git a/test/Ocelot.UnitTests/LoadBalancer/LeastConnectionTests.cs b/test/Ocelot.UnitTests/LoadBalancer/LeastConnectionTests.cs index 3896b68e..f5ea4738 100644 --- a/test/Ocelot.UnitTests/LoadBalancer/LeastConnectionTests.cs +++ b/test/Ocelot.UnitTests/LoadBalancer/LeastConnectionTests.cs @@ -38,20 +38,13 @@ namespace Ocelot.UnitTests.LoadBalancer _leastConnection = new LeastConnectionLoadBalancer(() => Task.FromResult(_services), serviceName); var tasks = new Task[100]; - try + + for(var i = 0; i < tasks.Length; i++) { - for(var i = 0; i < tasks.Length; i++) - { - tasks[i] = LeaseDelayAndRelease(); - } + tasks[i] = LeaseDelayAndRelease(); + } - Task.WaitAll(tasks); - } - catch (System.Exception exception) - { - Console.WriteLine(exception.StackTrace); - throw; - } + Task.WaitAll(tasks); } private async Task LeaseDelayAndRelease()