diff --git a/test/Ocelot.AcceptanceTests/ServiceDiscoveryTests.cs b/test/Ocelot.AcceptanceTests/ServiceDiscoveryTests.cs index 1bc6723a..ef7e0dd7 100644 --- a/test/Ocelot.AcceptanceTests/ServiceDiscoveryTests.cs +++ b/test/Ocelot.AcceptanceTests/ServiceDiscoveryTests.cs @@ -37,8 +37,6 @@ namespace Ocelot.AcceptanceTests var downstreamServiceOneUrl = "http://localhost:50879"; var downstreamServiceTwoUrl = "http://localhost:50880"; var fakeConsulServiceDiscoveryUrl = "http://localhost:8500"; - var downstreamServiceOneCounter = 0; - var downstreamServiceTwoCounter = 0; var serviceEntryOne = new ServiceEntry() { Service = new AgentService() @@ -154,14 +152,21 @@ namespace Ocelot.AcceptanceTests { app.Run(async context => { - var response = string.Empty; - lock (_syncLock) + try { - _counterOne++; - response = _counterOne.ToString(); + var response = string.Empty; + lock (_syncLock) + { + _counterOne++; + response = _counterOne.ToString(); + } + context.Response.StatusCode = statusCode; + await context.Response.WriteAsync(response); + } + catch (System.Exception exception) + { + await context.Response.WriteAsync(exception.StackTrace); } - context.Response.StatusCode = statusCode; - await context.Response.WriteAsync(response); }); }) .Build(); @@ -181,14 +186,23 @@ namespace Ocelot.AcceptanceTests { app.Run(async context => { - var response = string.Empty; - lock (_syncLock) + try { - _counterTwo++; - response = _counterTwo.ToString(); + var response = string.Empty; + lock (_syncLock) + { + _counterTwo++; + response = _counterTwo.ToString(); + } + + context.Response.StatusCode = statusCode; + await context.Response.WriteAsync(response); } - context.Response.StatusCode = statusCode; - await context.Response.WriteAsync(response); + catch (System.Exception exception) + { + await context.Response.WriteAsync(exception.StackTrace); + } + }); }) .Build(); diff --git a/test/Ocelot.AcceptanceTests/Steps.cs b/test/Ocelot.AcceptanceTests/Steps.cs index 5d015994..9b5faa04 100644 --- a/test/Ocelot.AcceptanceTests/Steps.cs +++ b/test/Ocelot.AcceptanceTests/Steps.cs @@ -5,6 +5,7 @@ using System.Linq; using System.Net; using System.Net.Http; using System.Net.Http.Headers; +using System.Threading; using System.Threading.Tasks; using CacheManager.Core; using Microsoft.AspNetCore.Hosting; @@ -30,6 +31,12 @@ namespace Ocelot.AcceptanceTests private BearerToken _token; public HttpClient OcelotClient => _ocelotClient; public string RequestIdKey = "OcRequestId"; + private Random _random; + + public Steps() + { + _random = new Random(); + } public void GivenThereIsAConfiguration(FileConfiguration fileConfiguration) { @@ -162,6 +169,7 @@ namespace Ocelot.AcceptanceTests { var urlCopy = url; tasks[i] = GetForServiceDiscoveryTest(urlCopy); + Thread.Sleep(_random.Next(40,60)); } Task.WaitAll(tasks); @@ -171,7 +179,7 @@ namespace Ocelot.AcceptanceTests { var response = await _ocelotClient.GetAsync(url); var content = await response.Content.ReadAsStringAsync(); - var count = int.Parse(content); + int count = int.Parse(content); count.ShouldBeGreaterThan(0); }