mirror of
https://github.com/nsnail/Ocelot.git
synced 2025-04-22 06:42:50 +08:00
Moved ScopedRepository into test base class.
This commit is contained in:
parent
c70a90f415
commit
d02e921a58
@ -11,7 +11,6 @@
|
|||||||
using Ocelot.Configuration.Builder;
|
using Ocelot.Configuration.Builder;
|
||||||
using Ocelot.DownstreamRouteFinder;
|
using Ocelot.DownstreamRouteFinder;
|
||||||
using Ocelot.DownstreamRouteFinder.UrlMatcher;
|
using Ocelot.DownstreamRouteFinder.UrlMatcher;
|
||||||
using Ocelot.Infrastructure.RequestData;
|
|
||||||
using Ocelot.Logging;
|
using Ocelot.Logging;
|
||||||
using Ocelot.Responses;
|
using Ocelot.Responses;
|
||||||
using Shouldly;
|
using Shouldly;
|
||||||
@ -20,13 +19,11 @@
|
|||||||
|
|
||||||
public class AuthenticationMiddlewareTests : ServerHostedMiddlewareTest
|
public class AuthenticationMiddlewareTests : ServerHostedMiddlewareTest
|
||||||
{
|
{
|
||||||
private readonly Mock<IRequestScopedDataRepository> _scopedRepository;
|
|
||||||
private readonly Mock<IAuthenticationHandlerFactory> _authFactory;
|
private readonly Mock<IAuthenticationHandlerFactory> _authFactory;
|
||||||
private OkResponse<DownstreamRoute> _downstreamRoute;
|
private OkResponse<DownstreamRoute> _downstreamRoute;
|
||||||
|
|
||||||
public AuthenticationMiddlewareTests()
|
public AuthenticationMiddlewareTests()
|
||||||
{
|
{
|
||||||
_scopedRepository = new Mock<IRequestScopedDataRepository>();
|
|
||||||
_authFactory = new Mock<IAuthenticationHandlerFactory>();
|
_authFactory = new Mock<IAuthenticationHandlerFactory>();
|
||||||
|
|
||||||
GivenTheTestServerIsConfigured();
|
GivenTheTestServerIsConfigured();
|
||||||
@ -49,7 +46,7 @@
|
|||||||
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
||||||
services.AddLogging();
|
services.AddLogging();
|
||||||
services.AddSingleton(_authFactory.Object);
|
services.AddSingleton(_authFactory.Object);
|
||||||
services.AddSingleton(_scopedRepository.Object);
|
services.AddSingleton(ScopedRepository.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
||||||
@ -71,7 +68,7 @@
|
|||||||
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
||||||
{
|
{
|
||||||
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
||||||
.Returns(_downstreamRoute);
|
.Returns(_downstreamRoute);
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
using Ocelot.Configuration.Builder;
|
using Ocelot.Configuration.Builder;
|
||||||
using Ocelot.DownstreamRouteFinder;
|
using Ocelot.DownstreamRouteFinder;
|
||||||
using Ocelot.DownstreamRouteFinder.UrlMatcher;
|
using Ocelot.DownstreamRouteFinder.UrlMatcher;
|
||||||
using Ocelot.Infrastructure.RequestData;
|
|
||||||
using Ocelot.Logging;
|
using Ocelot.Logging;
|
||||||
using Ocelot.Responses;
|
using Ocelot.Responses;
|
||||||
using TestStack.BDDfy;
|
using TestStack.BDDfy;
|
||||||
@ -18,14 +17,12 @@
|
|||||||
|
|
||||||
public class AuthorisationMiddlewareTests : ServerHostedMiddlewareTest
|
public class AuthorisationMiddlewareTests : ServerHostedMiddlewareTest
|
||||||
{
|
{
|
||||||
private readonly Mock<IRequestScopedDataRepository> _scopedRepository;
|
|
||||||
private readonly Mock<IClaimsAuthoriser> _authService;
|
private readonly Mock<IClaimsAuthoriser> _authService;
|
||||||
private readonly Mock<IScopesAuthoriser> _authScopesService;
|
private readonly Mock<IScopesAuthoriser> _authScopesService;
|
||||||
private OkResponse<DownstreamRoute> _downstreamRoute;
|
private OkResponse<DownstreamRoute> _downstreamRoute;
|
||||||
|
|
||||||
public AuthorisationMiddlewareTests()
|
public AuthorisationMiddlewareTests()
|
||||||
{
|
{
|
||||||
_scopedRepository = new Mock<IRequestScopedDataRepository>();
|
|
||||||
_authService = new Mock<IClaimsAuthoriser>();
|
_authService = new Mock<IClaimsAuthoriser>();
|
||||||
_authScopesService = new Mock<IScopesAuthoriser>();
|
_authScopesService = new Mock<IScopesAuthoriser>();
|
||||||
|
|
||||||
@ -52,7 +49,7 @@
|
|||||||
services.AddLogging();
|
services.AddLogging();
|
||||||
services.AddSingleton(_authService.Object);
|
services.AddSingleton(_authService.Object);
|
||||||
services.AddSingleton(_authScopesService.Object);
|
services.AddSingleton(_authScopesService.Object);
|
||||||
services.AddSingleton(_scopedRepository.Object);
|
services.AddSingleton(ScopedRepository.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
||||||
@ -63,7 +60,7 @@
|
|||||||
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
||||||
{
|
{
|
||||||
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
||||||
.Returns(_downstreamRoute);
|
.Returns(_downstreamRoute);
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
using Ocelot.Configuration.Builder;
|
using Ocelot.Configuration.Builder;
|
||||||
using Ocelot.DownstreamRouteFinder;
|
using Ocelot.DownstreamRouteFinder;
|
||||||
using Ocelot.DownstreamRouteFinder.UrlMatcher;
|
using Ocelot.DownstreamRouteFinder.UrlMatcher;
|
||||||
using Ocelot.Infrastructure.RequestData;
|
|
||||||
using Ocelot.Logging;
|
using Ocelot.Logging;
|
||||||
using Ocelot.Responses;
|
using Ocelot.Responses;
|
||||||
using TestStack.BDDfy;
|
using TestStack.BDDfy;
|
||||||
@ -21,15 +20,13 @@
|
|||||||
public class OutputCacheMiddlewareTests : ServerHostedMiddlewareTest
|
public class OutputCacheMiddlewareTests : ServerHostedMiddlewareTest
|
||||||
{
|
{
|
||||||
private readonly Mock<IOcelotCache<HttpResponseMessage>> _cacheManager;
|
private readonly Mock<IOcelotCache<HttpResponseMessage>> _cacheManager;
|
||||||
private readonly Mock<IRequestScopedDataRepository> _scopedRepo;
|
|
||||||
private HttpResponseMessage _response;
|
private HttpResponseMessage _response;
|
||||||
|
|
||||||
public OutputCacheMiddlewareTests()
|
public OutputCacheMiddlewareTests()
|
||||||
{
|
{
|
||||||
_cacheManager = new Mock<IOcelotCache<HttpResponseMessage>>();
|
_cacheManager = new Mock<IOcelotCache<HttpResponseMessage>>();
|
||||||
_scopedRepo = new Mock<IRequestScopedDataRepository>();
|
|
||||||
|
|
||||||
_scopedRepo
|
ScopedRepository
|
||||||
.Setup(sr => sr.Get<HttpRequestMessage>("DownstreamRequest"))
|
.Setup(sr => sr.Get<HttpRequestMessage>("DownstreamRequest"))
|
||||||
.Returns(new OkResponse<HttpRequestMessage>(new HttpRequestMessage(HttpMethod.Get, "https://some.url/blah?abcd=123")));
|
.Returns(new OkResponse<HttpRequestMessage>(new HttpRequestMessage(HttpMethod.Get, "https://some.url/blah?abcd=123")));
|
||||||
|
|
||||||
@ -64,7 +61,7 @@
|
|||||||
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
||||||
services.AddLogging();
|
services.AddLogging();
|
||||||
services.AddSingleton(_cacheManager.Object);
|
services.AddSingleton(_cacheManager.Object);
|
||||||
services.AddSingleton(_scopedRepo.Object);
|
services.AddSingleton(ScopedRepository.Object);
|
||||||
services.AddSingleton<IRegionCreator, RegionCreator>();
|
services.AddSingleton<IRegionCreator, RegionCreator>();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -83,7 +80,7 @@
|
|||||||
|
|
||||||
private void GivenResponseIsNotCached()
|
private void GivenResponseIsNotCached()
|
||||||
{
|
{
|
||||||
_scopedRepo
|
ScopedRepository
|
||||||
.Setup(x => x.Get<HttpResponseMessage>("HttpResponseMessage"))
|
.Setup(x => x.Get<HttpResponseMessage>("HttpResponseMessage"))
|
||||||
.Returns(new OkResponse<HttpResponseMessage>(new HttpResponseMessage()));
|
.Returns(new OkResponse<HttpResponseMessage>(new HttpResponseMessage()));
|
||||||
}
|
}
|
||||||
@ -98,21 +95,21 @@
|
|||||||
|
|
||||||
var downstreamRoute = new DownstreamRoute(new List<UrlPathPlaceholderNameAndValue>(), reRoute);
|
var downstreamRoute = new DownstreamRoute(new List<UrlPathPlaceholderNameAndValue>(), reRoute);
|
||||||
|
|
||||||
_scopedRepo
|
ScopedRepository
|
||||||
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
||||||
.Returns(new OkResponse<DownstreamRoute>(downstreamRoute));
|
.Returns(new OkResponse<DownstreamRoute>(downstreamRoute));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void GivenThereAreNoErrors()
|
private void GivenThereAreNoErrors()
|
||||||
{
|
{
|
||||||
_scopedRepo
|
ScopedRepository
|
||||||
.Setup(x => x.Get<bool>("OcelotMiddlewareError"))
|
.Setup(x => x.Get<bool>("OcelotMiddlewareError"))
|
||||||
.Returns(new OkResponse<bool>(false));
|
.Returns(new OkResponse<bool>(false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void GivenThereIsADownstreamUrl()
|
private void GivenThereIsADownstreamUrl()
|
||||||
{
|
{
|
||||||
_scopedRepo
|
ScopedRepository
|
||||||
.Setup(x => x.Get<string>("DownstreamUrl"))
|
.Setup(x => x.Get<string>("DownstreamUrl"))
|
||||||
.Returns(new OkResponse<string>("anything"));
|
.Returns(new OkResponse<string>("anything"));
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
using Ocelot.Configuration.Builder;
|
using Ocelot.Configuration.Builder;
|
||||||
using Ocelot.DownstreamRouteFinder;
|
using Ocelot.DownstreamRouteFinder;
|
||||||
using Ocelot.DownstreamRouteFinder.UrlMatcher;
|
using Ocelot.DownstreamRouteFinder.UrlMatcher;
|
||||||
using Ocelot.Infrastructure.RequestData;
|
|
||||||
using Ocelot.Logging;
|
using Ocelot.Logging;
|
||||||
using Ocelot.Responses;
|
using Ocelot.Responses;
|
||||||
using TestStack.BDDfy;
|
using TestStack.BDDfy;
|
||||||
@ -19,13 +18,11 @@
|
|||||||
|
|
||||||
public class ClaimsBuilderMiddlewareTests : ServerHostedMiddlewareTest
|
public class ClaimsBuilderMiddlewareTests : ServerHostedMiddlewareTest
|
||||||
{
|
{
|
||||||
private readonly Mock<IRequestScopedDataRepository> _scopedRepository;
|
|
||||||
private readonly Mock<IAddClaimsToRequest> _addHeaders;
|
private readonly Mock<IAddClaimsToRequest> _addHeaders;
|
||||||
private Response<DownstreamRoute> _downstreamRoute;
|
private Response<DownstreamRoute> _downstreamRoute;
|
||||||
|
|
||||||
public ClaimsBuilderMiddlewareTests()
|
public ClaimsBuilderMiddlewareTests()
|
||||||
{
|
{
|
||||||
_scopedRepository = new Mock<IRequestScopedDataRepository>();
|
|
||||||
_addHeaders = new Mock<IAddClaimsToRequest>();
|
_addHeaders = new Mock<IAddClaimsToRequest>();
|
||||||
|
|
||||||
GivenTheTestServerIsConfigured();
|
GivenTheTestServerIsConfigured();
|
||||||
@ -56,7 +53,7 @@
|
|||||||
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
||||||
services.AddLogging();
|
services.AddLogging();
|
||||||
services.AddSingleton(_addHeaders.Object);
|
services.AddSingleton(_addHeaders.Object);
|
||||||
services.AddSingleton(_scopedRepository.Object);
|
services.AddSingleton(ScopedRepository.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
||||||
@ -67,7 +64,7 @@
|
|||||||
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
||||||
{
|
{
|
||||||
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
||||||
.Returns(_downstreamRoute);
|
.Returns(_downstreamRoute);
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
using Ocelot.DownstreamRouteFinder.Finder;
|
using Ocelot.DownstreamRouteFinder.Finder;
|
||||||
using Ocelot.DownstreamRouteFinder.Middleware;
|
using Ocelot.DownstreamRouteFinder.Middleware;
|
||||||
using Ocelot.DownstreamRouteFinder.UrlMatcher;
|
using Ocelot.DownstreamRouteFinder.UrlMatcher;
|
||||||
using Ocelot.Infrastructure.RequestData;
|
|
||||||
using Ocelot.Logging;
|
using Ocelot.Logging;
|
||||||
using Ocelot.Responses;
|
using Ocelot.Responses;
|
||||||
using TestStack.BDDfy;
|
using TestStack.BDDfy;
|
||||||
@ -18,13 +17,11 @@
|
|||||||
public class DownstreamRouteFinderMiddlewareTests : ServerHostedMiddlewareTest
|
public class DownstreamRouteFinderMiddlewareTests : ServerHostedMiddlewareTest
|
||||||
{
|
{
|
||||||
private readonly Mock<IDownstreamRouteFinder> _downstreamRouteFinder;
|
private readonly Mock<IDownstreamRouteFinder> _downstreamRouteFinder;
|
||||||
private readonly Mock<IRequestScopedDataRepository> _scopedRepository;
|
|
||||||
private Response<DownstreamRoute> _downstreamRoute;
|
private Response<DownstreamRoute> _downstreamRoute;
|
||||||
|
|
||||||
public DownstreamRouteFinderMiddlewareTests()
|
public DownstreamRouteFinderMiddlewareTests()
|
||||||
{
|
{
|
||||||
_downstreamRouteFinder = new Mock<IDownstreamRouteFinder>();
|
_downstreamRouteFinder = new Mock<IDownstreamRouteFinder>();
|
||||||
_scopedRepository = new Mock<IRequestScopedDataRepository>();
|
|
||||||
|
|
||||||
GivenTheTestServerIsConfigured();
|
GivenTheTestServerIsConfigured();
|
||||||
}
|
}
|
||||||
@ -49,7 +46,7 @@
|
|||||||
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
||||||
services.AddLogging();
|
services.AddLogging();
|
||||||
services.AddSingleton(_downstreamRouteFinder.Object);
|
services.AddSingleton(_downstreamRouteFinder.Object);
|
||||||
services.AddSingleton(_scopedRepository.Object);
|
services.AddSingleton(ScopedRepository.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
||||||
@ -67,7 +64,7 @@
|
|||||||
|
|
||||||
private void ThenTheScopedDataRepositoryIsCalledCorrectly()
|
private void ThenTheScopedDataRepositoryIsCalledCorrectly()
|
||||||
{
|
{
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Verify(x => x.Add("DownstreamRoute", _downstreamRoute.Data), Times.Once());
|
.Verify(x => x.Add("DownstreamRoute", _downstreamRoute.Data), Times.Once());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
public class DownstreamUrlCreatorMiddlewareTests : ServerHostedMiddlewareTest
|
public class DownstreamUrlCreatorMiddlewareTests : ServerHostedMiddlewareTest
|
||||||
{
|
{
|
||||||
private readonly Mock<IDownstreamPathPlaceholderReplacer> _downstreamUrlTemplateVariableReplacer;
|
private readonly Mock<IDownstreamPathPlaceholderReplacer> _downstreamUrlTemplateVariableReplacer;
|
||||||
private readonly Mock<IRequestScopedDataRepository> _scopedRepository;
|
|
||||||
private readonly Mock<IUrlBuilder> _urlBuilder;
|
private readonly Mock<IUrlBuilder> _urlBuilder;
|
||||||
private Response<DownstreamRoute> _downstreamRoute;
|
private Response<DownstreamRoute> _downstreamRoute;
|
||||||
private OkResponse<DownstreamPath> _downstreamPath;
|
private OkResponse<DownstreamPath> _downstreamPath;
|
||||||
@ -32,12 +31,11 @@
|
|||||||
public DownstreamUrlCreatorMiddlewareTests()
|
public DownstreamUrlCreatorMiddlewareTests()
|
||||||
{
|
{
|
||||||
_downstreamUrlTemplateVariableReplacer = new Mock<IDownstreamPathPlaceholderReplacer>();
|
_downstreamUrlTemplateVariableReplacer = new Mock<IDownstreamPathPlaceholderReplacer>();
|
||||||
_scopedRepository = new Mock<IRequestScopedDataRepository>();
|
|
||||||
_urlBuilder = new Mock<IUrlBuilder>();
|
_urlBuilder = new Mock<IUrlBuilder>();
|
||||||
|
|
||||||
_downstreamRequest = new HttpRequestMessage(HttpMethod.Get, "https://my.url/abc/?q=123");
|
_downstreamRequest = new HttpRequestMessage(HttpMethod.Get, "https://my.url/abc/?q=123");
|
||||||
|
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Setup(sr => sr.Get<HttpRequestMessage>("DownstreamRequest"))
|
.Setup(sr => sr.Get<HttpRequestMessage>("DownstreamRequest"))
|
||||||
.Returns(new OkResponse<HttpRequestMessage>(_downstreamRequest));
|
.Returns(new OkResponse<HttpRequestMessage>(_downstreamRequest));
|
||||||
|
|
||||||
@ -67,7 +65,7 @@
|
|||||||
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
||||||
services.AddLogging();
|
services.AddLogging();
|
||||||
services.AddSingleton(_downstreamUrlTemplateVariableReplacer.Object);
|
services.AddSingleton(_downstreamUrlTemplateVariableReplacer.Object);
|
||||||
services.AddSingleton(_scopedRepository.Object);
|
services.AddSingleton(ScopedRepository.Object);
|
||||||
services.AddSingleton(_urlBuilder.Object);
|
services.AddSingleton(_urlBuilder.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,7 +77,7 @@
|
|||||||
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
||||||
{
|
{
|
||||||
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
||||||
.Returns(_downstreamRoute);
|
.Returns(_downstreamRoute);
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
using Ocelot.DownstreamRouteFinder.UrlMatcher;
|
using Ocelot.DownstreamRouteFinder.UrlMatcher;
|
||||||
using Ocelot.Headers;
|
using Ocelot.Headers;
|
||||||
using Ocelot.Headers.Middleware;
|
using Ocelot.Headers.Middleware;
|
||||||
using Ocelot.Infrastructure.RequestData;
|
|
||||||
using Ocelot.Logging;
|
using Ocelot.Logging;
|
||||||
using Ocelot.Responses;
|
using Ocelot.Responses;
|
||||||
using TestStack.BDDfy;
|
using TestStack.BDDfy;
|
||||||
@ -19,18 +18,16 @@
|
|||||||
|
|
||||||
public class HttpRequestHeadersBuilderMiddlewareTests : ServerHostedMiddlewareTest
|
public class HttpRequestHeadersBuilderMiddlewareTests : ServerHostedMiddlewareTest
|
||||||
{
|
{
|
||||||
private readonly Mock<IRequestScopedDataRepository> _scopedRepository;
|
|
||||||
private readonly Mock<IAddHeadersToRequest> _addHeaders;
|
private readonly Mock<IAddHeadersToRequest> _addHeaders;
|
||||||
private readonly HttpRequestMessage _downstreamRequest;
|
private readonly HttpRequestMessage _downstreamRequest;
|
||||||
private Response<DownstreamRoute> _downstreamRoute;
|
private Response<DownstreamRoute> _downstreamRoute;
|
||||||
|
|
||||||
public HttpRequestHeadersBuilderMiddlewareTests()
|
public HttpRequestHeadersBuilderMiddlewareTests()
|
||||||
{
|
{
|
||||||
_scopedRepository = new Mock<IRequestScopedDataRepository>();
|
|
||||||
_addHeaders = new Mock<IAddHeadersToRequest>();
|
_addHeaders = new Mock<IAddHeadersToRequest>();
|
||||||
|
|
||||||
_downstreamRequest = new HttpRequestMessage();
|
_downstreamRequest = new HttpRequestMessage();
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Setup(sr => sr.Get<HttpRequestMessage>("DownstreamRequest"))
|
.Setup(sr => sr.Get<HttpRequestMessage>("DownstreamRequest"))
|
||||||
.Returns(new OkResponse<HttpRequestMessage>(_downstreamRequest));
|
.Returns(new OkResponse<HttpRequestMessage>(_downstreamRequest));
|
||||||
|
|
||||||
@ -62,7 +59,7 @@
|
|||||||
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
||||||
services.AddLogging();
|
services.AddLogging();
|
||||||
services.AddSingleton(_addHeaders.Object);
|
services.AddSingleton(_addHeaders.Object);
|
||||||
services.AddSingleton(_scopedRepository.Object);
|
services.AddSingleton(ScopedRepository.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
||||||
@ -73,7 +70,7 @@
|
|||||||
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
||||||
{
|
{
|
||||||
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
||||||
.Returns(_downstreamRoute);
|
.Returns(_downstreamRoute);
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,6 @@ namespace Ocelot.UnitTests.LoadBalancer
|
|||||||
using Ocelot.Configuration.Builder;
|
using Ocelot.Configuration.Builder;
|
||||||
using Ocelot.DownstreamRouteFinder;
|
using Ocelot.DownstreamRouteFinder;
|
||||||
using Ocelot.Errors;
|
using Ocelot.Errors;
|
||||||
using Ocelot.Infrastructure.RequestData;
|
|
||||||
using Ocelot.LoadBalancer.LoadBalancers;
|
using Ocelot.LoadBalancer.LoadBalancers;
|
||||||
using Ocelot.LoadBalancer.Middleware;
|
using Ocelot.LoadBalancer.Middleware;
|
||||||
using Ocelot.Logging;
|
using Ocelot.Logging;
|
||||||
@ -21,7 +20,6 @@ namespace Ocelot.UnitTests.LoadBalancer
|
|||||||
public class LoadBalancerMiddlewareTests : ServerHostedMiddlewareTest
|
public class LoadBalancerMiddlewareTests : ServerHostedMiddlewareTest
|
||||||
{
|
{
|
||||||
private readonly Mock<ILoadBalancerHouse> _loadBalancerHouse;
|
private readonly Mock<ILoadBalancerHouse> _loadBalancerHouse;
|
||||||
private readonly Mock<IRequestScopedDataRepository> _scopedRepository;
|
|
||||||
private readonly Mock<ILoadBalancer> _loadBalancer;
|
private readonly Mock<ILoadBalancer> _loadBalancer;
|
||||||
private HostAndPort _hostAndPort;
|
private HostAndPort _hostAndPort;
|
||||||
private OkResponse<DownstreamRoute> _downstreamRoute;
|
private OkResponse<DownstreamRoute> _downstreamRoute;
|
||||||
@ -32,12 +30,12 @@ namespace Ocelot.UnitTests.LoadBalancer
|
|||||||
public LoadBalancerMiddlewareTests()
|
public LoadBalancerMiddlewareTests()
|
||||||
{
|
{
|
||||||
_loadBalancerHouse = new Mock<ILoadBalancerHouse>();
|
_loadBalancerHouse = new Mock<ILoadBalancerHouse>();
|
||||||
_scopedRepository = new Mock<IRequestScopedDataRepository>();
|
|
||||||
_loadBalancer = new Mock<ILoadBalancer>();
|
_loadBalancer = new Mock<ILoadBalancer>();
|
||||||
_loadBalancerHouse = new Mock<ILoadBalancerHouse>();
|
_loadBalancerHouse = new Mock<ILoadBalancerHouse>();
|
||||||
|
|
||||||
_downstreamRequest = new HttpRequestMessage(HttpMethod.Get, "");
|
_downstreamRequest = new HttpRequestMessage(HttpMethod.Get, "");
|
||||||
_scopedRepository
|
|
||||||
|
ScopedRepository
|
||||||
.Setup(sr => sr.Get<HttpRequestMessage>("DownstreamRequest"))
|
.Setup(sr => sr.Get<HttpRequestMessage>("DownstreamRequest"))
|
||||||
.Returns(new OkResponse<HttpRequestMessage>(_downstreamRequest));
|
.Returns(new OkResponse<HttpRequestMessage>(_downstreamRequest));
|
||||||
|
|
||||||
@ -99,7 +97,7 @@ namespace Ocelot.UnitTests.LoadBalancer
|
|||||||
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
||||||
services.AddLogging();
|
services.AddLogging();
|
||||||
services.AddSingleton(_loadBalancerHouse.Object);
|
services.AddSingleton(_loadBalancerHouse.Object);
|
||||||
services.AddSingleton(_scopedRepository.Object);
|
services.AddSingleton(ScopedRepository.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
||||||
@ -131,7 +129,7 @@ namespace Ocelot.UnitTests.LoadBalancer
|
|||||||
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
||||||
{
|
{
|
||||||
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
||||||
.Returns(_downstreamRoute);
|
.Returns(_downstreamRoute);
|
||||||
}
|
}
|
||||||
@ -157,28 +155,28 @@ namespace Ocelot.UnitTests.LoadBalancer
|
|||||||
|
|
||||||
private void ThenAnErrorStatingLoadBalancerCouldNotBeFoundIsSetOnPipeline()
|
private void ThenAnErrorStatingLoadBalancerCouldNotBeFoundIsSetOnPipeline()
|
||||||
{
|
{
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Verify(x => x.Add("OcelotMiddlewareError", true), Times.Once);
|
.Verify(x => x.Add("OcelotMiddlewareError", true), Times.Once);
|
||||||
|
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Verify(x => x.Add("OcelotMiddlewareErrors", _getLoadBalancerHouseError.Errors), Times.Once);
|
.Verify(x => x.Add("OcelotMiddlewareErrors", _getLoadBalancerHouseError.Errors), Times.Once);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ThenAnErrorSayingReleaseFailedIsSetOnThePipeline()
|
private void ThenAnErrorSayingReleaseFailedIsSetOnThePipeline()
|
||||||
{
|
{
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Verify(x => x.Add("OcelotMiddlewareError", true), Times.Once);
|
.Verify(x => x.Add("OcelotMiddlewareError", true), Times.Once);
|
||||||
|
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Verify(x => x.Add("OcelotMiddlewareErrors", It.IsAny<List<Error>>()), Times.Once);
|
.Verify(x => x.Add("OcelotMiddlewareErrors", It.IsAny<List<Error>>()), Times.Once);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ThenAnErrorStatingHostAndPortCouldNotBeFoundIsSetOnPipeline()
|
private void ThenAnErrorStatingHostAndPortCouldNotBeFoundIsSetOnPipeline()
|
||||||
{
|
{
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Verify(x => x.Add("OcelotMiddlewareError", true), Times.Once);
|
.Verify(x => x.Add("OcelotMiddlewareError", true), Times.Once);
|
||||||
|
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Verify(x => x.Add("OcelotMiddlewareErrors", _getHostAndPortError.Errors), Times.Once);
|
.Verify(x => x.Add("OcelotMiddlewareErrors", _getHostAndPortError.Errors), Times.Once);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
using Ocelot.Configuration.Builder;
|
using Ocelot.Configuration.Builder;
|
||||||
using Ocelot.DownstreamRouteFinder;
|
using Ocelot.DownstreamRouteFinder;
|
||||||
using Ocelot.DownstreamRouteFinder.UrlMatcher;
|
using Ocelot.DownstreamRouteFinder.UrlMatcher;
|
||||||
using Ocelot.Infrastructure.RequestData;
|
|
||||||
using Ocelot.Logging;
|
using Ocelot.Logging;
|
||||||
using Ocelot.QueryStrings;
|
using Ocelot.QueryStrings;
|
||||||
using Ocelot.QueryStrings.Middleware;
|
using Ocelot.QueryStrings.Middleware;
|
||||||
@ -20,18 +19,16 @@
|
|||||||
|
|
||||||
public class QueryStringBuilderMiddlewareTests : ServerHostedMiddlewareTest
|
public class QueryStringBuilderMiddlewareTests : ServerHostedMiddlewareTest
|
||||||
{
|
{
|
||||||
private readonly Mock<IRequestScopedDataRepository> _scopedRepository;
|
|
||||||
private readonly Mock<IAddQueriesToRequest> _addQueries;
|
private readonly Mock<IAddQueriesToRequest> _addQueries;
|
||||||
private readonly HttpRequestMessage _downstreamRequest;
|
private readonly HttpRequestMessage _downstreamRequest;
|
||||||
private Response<DownstreamRoute> _downstreamRoute;
|
private Response<DownstreamRoute> _downstreamRoute;
|
||||||
|
|
||||||
public QueryStringBuilderMiddlewareTests()
|
public QueryStringBuilderMiddlewareTests()
|
||||||
{
|
{
|
||||||
_scopedRepository = new Mock<IRequestScopedDataRepository>();
|
|
||||||
_addQueries = new Mock<IAddQueriesToRequest>();
|
_addQueries = new Mock<IAddQueriesToRequest>();
|
||||||
|
|
||||||
_downstreamRequest = new HttpRequestMessage();
|
_downstreamRequest = new HttpRequestMessage();
|
||||||
_scopedRepository.Setup(sr => sr.Get<HttpRequestMessage>("DownstreamRequest"))
|
ScopedRepository.Setup(sr => sr.Get<HttpRequestMessage>("DownstreamRequest"))
|
||||||
.Returns(new OkResponse<HttpRequestMessage>(_downstreamRequest));
|
.Returns(new OkResponse<HttpRequestMessage>(_downstreamRequest));
|
||||||
|
|
||||||
GivenTheTestServerIsConfigured();
|
GivenTheTestServerIsConfigured();
|
||||||
@ -62,7 +59,7 @@
|
|||||||
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
||||||
services.AddLogging();
|
services.AddLogging();
|
||||||
services.AddSingleton(_addQueries.Object);
|
services.AddSingleton(_addQueries.Object);
|
||||||
services.AddSingleton(_scopedRepository.Object);
|
services.AddSingleton(ScopedRepository.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
||||||
@ -92,7 +89,7 @@
|
|||||||
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
||||||
{
|
{
|
||||||
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
||||||
.Returns(_downstreamRoute);
|
.Returns(_downstreamRoute);
|
||||||
}
|
}
|
||||||
|
@ -1,39 +1,30 @@
|
|||||||
using Microsoft.AspNetCore.Hosting;
|
namespace Ocelot.UnitTests.RateLimit
|
||||||
using Microsoft.AspNetCore.Builder;
|
|
||||||
using Microsoft.AspNetCore.TestHost;
|
|
||||||
using Microsoft.AspNetCore.Http;
|
|
||||||
using Moq;
|
|
||||||
using Ocelot.Infrastructure.RequestData;
|
|
||||||
using Ocelot.RateLimit;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Net.Http;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
using Ocelot.Logging;
|
|
||||||
using System.IO;
|
|
||||||
using Ocelot.RateLimit.Middleware;
|
|
||||||
using Ocelot.DownstreamRouteFinder;
|
|
||||||
using Ocelot.Responses;
|
|
||||||
using Xunit;
|
|
||||||
using TestStack.BDDfy;
|
|
||||||
using Ocelot.Configuration.Builder;
|
|
||||||
using Shouldly;
|
|
||||||
using Ocelot.Configuration;
|
|
||||||
|
|
||||||
namespace Ocelot.UnitTests.RateLimit
|
|
||||||
{
|
{
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Net.Http;
|
||||||
|
using Microsoft.AspNetCore.Hosting;
|
||||||
|
using Microsoft.AspNetCore.Builder;
|
||||||
|
using Microsoft.AspNetCore.Http;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Moq;
|
||||||
|
using Ocelot.Configuration;
|
||||||
|
using Ocelot.Configuration.Builder;
|
||||||
|
using Ocelot.DownstreamRouteFinder;
|
||||||
|
using Ocelot.Logging;
|
||||||
|
using Ocelot.RateLimit;
|
||||||
|
using Ocelot.RateLimit.Middleware;
|
||||||
|
using Ocelot.Responses;
|
||||||
|
using Shouldly;
|
||||||
|
using TestStack.BDDfy;
|
||||||
|
using Xunit;
|
||||||
|
|
||||||
public class ClientRateLimitMiddlewareTests : ServerHostedMiddlewareTest
|
public class ClientRateLimitMiddlewareTests : ServerHostedMiddlewareTest
|
||||||
{
|
{
|
||||||
private readonly Mock<IRequestScopedDataRepository> _scopedRepository;
|
|
||||||
private OkResponse<DownstreamRoute> _downstreamRoute;
|
private OkResponse<DownstreamRoute> _downstreamRoute;
|
||||||
private int responseStatusCode;
|
private int responseStatusCode;
|
||||||
|
|
||||||
public ClientRateLimitMiddlewareTests()
|
public ClientRateLimitMiddlewareTests()
|
||||||
{
|
{
|
||||||
_scopedRepository = new Mock<IRequestScopedDataRepository>();
|
|
||||||
|
|
||||||
GivenTheTestServerIsConfigured();
|
GivenTheTestServerIsConfigured();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,7 +66,7 @@ namespace Ocelot.UnitTests.RateLimit
|
|||||||
services.AddLogging();
|
services.AddLogging();
|
||||||
services.AddMemoryCache();
|
services.AddMemoryCache();
|
||||||
services.AddSingleton<IRateLimitCounterHandler, MemoryCacheRateLimitCounterHandler>();
|
services.AddSingleton<IRateLimitCounterHandler, MemoryCacheRateLimitCounterHandler>();
|
||||||
services.AddSingleton(_scopedRepository.Object);
|
services.AddSingleton(ScopedRepository.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
||||||
@ -91,7 +82,7 @@ namespace Ocelot.UnitTests.RateLimit
|
|||||||
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
||||||
{
|
{
|
||||||
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
||||||
.Returns(_downstreamRoute);
|
.Returns(_downstreamRoute);
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
using Ocelot.Configuration.Builder;
|
using Ocelot.Configuration.Builder;
|
||||||
using Ocelot.DownstreamRouteFinder;
|
using Ocelot.DownstreamRouteFinder;
|
||||||
using Ocelot.DownstreamRouteFinder.UrlMatcher;
|
using Ocelot.DownstreamRouteFinder.UrlMatcher;
|
||||||
using Ocelot.Infrastructure.RequestData;
|
|
||||||
using Ocelot.Logging;
|
using Ocelot.Logging;
|
||||||
using Ocelot.RequestId.Middleware;
|
using Ocelot.RequestId.Middleware;
|
||||||
using Ocelot.Responses;
|
using Ocelot.Responses;
|
||||||
@ -22,7 +21,6 @@
|
|||||||
|
|
||||||
public class RequestIdMiddlewareTests : ServerHostedMiddlewareTest
|
public class RequestIdMiddlewareTests : ServerHostedMiddlewareTest
|
||||||
{
|
{
|
||||||
private readonly Mock<IRequestScopedDataRepository> _scopedRepository;
|
|
||||||
private readonly HttpRequestMessage _downstreamRequest;
|
private readonly HttpRequestMessage _downstreamRequest;
|
||||||
private Response<DownstreamRoute> _downstreamRoute;
|
private Response<DownstreamRoute> _downstreamRoute;
|
||||||
private string _value;
|
private string _value;
|
||||||
@ -32,8 +30,7 @@
|
|||||||
{
|
{
|
||||||
_downstreamRequest = new HttpRequestMessage();
|
_downstreamRequest = new HttpRequestMessage();
|
||||||
|
|
||||||
_scopedRepository = new Mock<IRequestScopedDataRepository>();
|
ScopedRepository
|
||||||
_scopedRepository
|
|
||||||
.Setup(sr => sr.Get<HttpRequestMessage>("DownstreamRequest"))
|
.Setup(sr => sr.Get<HttpRequestMessage>("DownstreamRequest"))
|
||||||
.Returns(new OkResponse<HttpRequestMessage>(_downstreamRequest));
|
.Returns(new OkResponse<HttpRequestMessage>(_downstreamRequest));
|
||||||
|
|
||||||
@ -79,7 +76,7 @@
|
|||||||
{
|
{
|
||||||
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
||||||
services.AddLogging();
|
services.AddLogging();
|
||||||
services.AddSingleton(_scopedRepository.Object);
|
services.AddSingleton(ScopedRepository.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
||||||
@ -96,7 +93,7 @@
|
|||||||
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
private void GivenTheDownStreamRouteIs(DownstreamRoute downstreamRoute)
|
||||||
{
|
{
|
||||||
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
_downstreamRoute = new OkResponse<DownstreamRoute>(downstreamRoute);
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
.Setup(x => x.Get<DownstreamRoute>(It.IsAny<string>()))
|
||||||
.Returns(_downstreamRoute);
|
.Returns(_downstreamRoute);
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
using Microsoft.AspNetCore.Builder;
|
using Microsoft.AspNetCore.Builder;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Moq;
|
using Moq;
|
||||||
using Ocelot.Infrastructure.RequestData;
|
|
||||||
using Ocelot.Logging;
|
using Ocelot.Logging;
|
||||||
using Ocelot.Requester;
|
using Ocelot.Requester;
|
||||||
using Ocelot.Requester.Middleware;
|
using Ocelot.Requester.Middleware;
|
||||||
@ -16,14 +15,12 @@
|
|||||||
public class HttpRequesterMiddlewareTests : ServerHostedMiddlewareTest
|
public class HttpRequesterMiddlewareTests : ServerHostedMiddlewareTest
|
||||||
{
|
{
|
||||||
private readonly Mock<IHttpRequester> _requester;
|
private readonly Mock<IHttpRequester> _requester;
|
||||||
private readonly Mock<IRequestScopedDataRepository> _scopedRepository;
|
|
||||||
private OkResponse<HttpResponseMessage> _response;
|
private OkResponse<HttpResponseMessage> _response;
|
||||||
private OkResponse<Ocelot.Request.Request> _request;
|
private OkResponse<Ocelot.Request.Request> _request;
|
||||||
|
|
||||||
public HttpRequesterMiddlewareTests()
|
public HttpRequesterMiddlewareTests()
|
||||||
{
|
{
|
||||||
_requester = new Mock<IHttpRequester>();
|
_requester = new Mock<IHttpRequester>();
|
||||||
_scopedRepository = new Mock<IRequestScopedDataRepository>();
|
|
||||||
|
|
||||||
GivenTheTestServerIsConfigured();
|
GivenTheTestServerIsConfigured();
|
||||||
}
|
}
|
||||||
@ -44,7 +41,7 @@
|
|||||||
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
services.AddSingleton<IOcelotLoggerFactory, AspDotNetLoggerFactory>();
|
||||||
services.AddLogging();
|
services.AddLogging();
|
||||||
services.AddSingleton(_requester.Object);
|
services.AddSingleton(_requester.Object);
|
||||||
services.AddSingleton(_scopedRepository.Object);
|
services.AddSingleton(ScopedRepository.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
||||||
@ -55,7 +52,7 @@
|
|||||||
private void GivenTheRequestIs(Ocelot.Request.Request request)
|
private void GivenTheRequestIs(Ocelot.Request.Request request)
|
||||||
{
|
{
|
||||||
_request = new OkResponse<Ocelot.Request.Request>(request);
|
_request = new OkResponse<Ocelot.Request.Request>(request);
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Setup(x => x.Get<Ocelot.Request.Request>(It.IsAny<string>()))
|
.Setup(x => x.Get<Ocelot.Request.Request>(It.IsAny<string>()))
|
||||||
.Returns(_request);
|
.Returns(_request);
|
||||||
}
|
}
|
||||||
@ -70,14 +67,14 @@
|
|||||||
|
|
||||||
private void GivenTheScopedRepoReturns()
|
private void GivenTheScopedRepoReturns()
|
||||||
{
|
{
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Setup(x => x.Add(It.IsAny<string>(), _response.Data))
|
.Setup(x => x.Add(It.IsAny<string>(), _response.Data))
|
||||||
.Returns(new OkResponse());
|
.Returns(new OkResponse());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ThenTheScopedRepoIsCalledCorrectly()
|
private void ThenTheScopedRepoIsCalledCorrectly()
|
||||||
{
|
{
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Verify(x => x.Add("HttpResponseMessage", _response.Data), Times.Once());
|
.Verify(x => x.Add("HttpResponseMessage", _response.Data), Times.Once());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,29 +1,27 @@
|
|||||||
using System.Net.Http;
|
namespace Ocelot.UnitTests.Responder
|
||||||
using Microsoft.AspNetCore.Hosting;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
using Moq;
|
|
||||||
using Ocelot.Infrastructure.RequestData;
|
|
||||||
using Ocelot.Logging;
|
|
||||||
using Ocelot.Responder;
|
|
||||||
using Ocelot.Responder.Middleware;
|
|
||||||
using Ocelot.Responses;
|
|
||||||
using TestStack.BDDfy;
|
|
||||||
using Xunit;
|
|
||||||
using Microsoft.AspNetCore.Builder;
|
|
||||||
using Shouldly;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Microsoft.AspNetCore.Http;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using Ocelot.Errors;
|
|
||||||
using System.Net;
|
|
||||||
using Ocelot.Headers;
|
|
||||||
|
|
||||||
namespace Ocelot.UnitTests.Responder
|
|
||||||
{
|
{
|
||||||
|
using System.Net.Http;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Microsoft.AspNetCore.Builder;
|
||||||
|
using Microsoft.AspNetCore.Hosting;
|
||||||
|
using Microsoft.AspNetCore.Http;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Moq;
|
||||||
|
using Ocelot.Errors;
|
||||||
|
using Ocelot.Headers;
|
||||||
|
using Ocelot.Logging;
|
||||||
|
using Ocelot.Responder;
|
||||||
|
using Ocelot.Responder.Middleware;
|
||||||
|
using Ocelot.Responses;
|
||||||
|
using Shouldly;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Net;
|
||||||
|
using TestStack.BDDfy;
|
||||||
|
using Xunit;
|
||||||
|
|
||||||
public class ResponderMiddlewareTests : ServerHostedMiddlewareTest
|
public class ResponderMiddlewareTests : ServerHostedMiddlewareTest
|
||||||
{
|
{
|
||||||
private readonly IHttpResponder _responder;
|
private readonly IHttpResponder _responder;
|
||||||
private readonly Mock<IRequestScopedDataRepository> _scopedRepository;
|
|
||||||
private readonly Mock<IErrorsToHttpStatusCodeMapper> _codeMapper;
|
private readonly Mock<IErrorsToHttpStatusCodeMapper> _codeMapper;
|
||||||
private readonly Mock<IRemoveOutputHeaders> _outputHeaderRemover;
|
private readonly Mock<IRemoveOutputHeaders> _outputHeaderRemover;
|
||||||
private HttpStatusCode _httpStatusFromController;
|
private HttpStatusCode _httpStatusFromController;
|
||||||
@ -35,10 +33,10 @@ namespace Ocelot.UnitTests.Responder
|
|||||||
public ResponderMiddlewareTests()
|
public ResponderMiddlewareTests()
|
||||||
{
|
{
|
||||||
_outputHeaderRemover = new Mock<IRemoveOutputHeaders>();
|
_outputHeaderRemover = new Mock<IRemoveOutputHeaders>();
|
||||||
_responder = new HttpContextResponder(_outputHeaderRemover.Object);
|
|
||||||
_scopedRepository = new Mock<IRequestScopedDataRepository>();
|
|
||||||
_codeMapper = new Mock<IErrorsToHttpStatusCodeMapper>();
|
_codeMapper = new Mock<IErrorsToHttpStatusCodeMapper>();
|
||||||
|
|
||||||
|
_responder = new HttpContextResponder(_outputHeaderRemover.Object);
|
||||||
|
|
||||||
GivenTheTestServerIsConfigured();
|
GivenTheTestServerIsConfigured();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,7 +69,7 @@ namespace Ocelot.UnitTests.Responder
|
|||||||
services.AddLogging();
|
services.AddLogging();
|
||||||
services.AddSingleton(_codeMapper.Object);
|
services.AddSingleton(_codeMapper.Object);
|
||||||
services.AddSingleton(_responder);
|
services.AddSingleton(_responder);
|
||||||
services.AddSingleton(_scopedRepository.Object);
|
services.AddSingleton(ScopedRepository.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
protected override void GivenTheTestServerPipelineIsConfigured(IApplicationBuilder app)
|
||||||
@ -102,11 +100,11 @@ namespace Ocelot.UnitTests.Responder
|
|||||||
{
|
{
|
||||||
_pipelineErrors = pipelineErrors;
|
_pipelineErrors = pipelineErrors;
|
||||||
|
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Setup(x => x.Get<bool>("OcelotMiddlewareError"))
|
.Setup(x => x.Get<bool>("OcelotMiddlewareError"))
|
||||||
.Returns(new OkResponse<bool>(_pipelineErrors.Count != 0));
|
.Returns(new OkResponse<bool>(_pipelineErrors.Count != 0));
|
||||||
|
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Setup(sr => sr.Get<List<Error>>("OcelotMiddlewareErrors"))
|
.Setup(sr => sr.Get<List<Error>>("OcelotMiddlewareErrors"))
|
||||||
.Returns(new OkResponse<List<Error>>(_pipelineErrors));
|
.Returns(new OkResponse<List<Error>>(_pipelineErrors));
|
||||||
}
|
}
|
||||||
@ -114,7 +112,7 @@ namespace Ocelot.UnitTests.Responder
|
|||||||
private void GivenTheIncomingHttpResponseMessageIs(HttpResponseMessage response)
|
private void GivenTheIncomingHttpResponseMessageIs(HttpResponseMessage response)
|
||||||
{
|
{
|
||||||
_response = new OkResponse<HttpResponseMessage>(response);
|
_response = new OkResponse<HttpResponseMessage>(response);
|
||||||
_scopedRepository
|
ScopedRepository
|
||||||
.Setup(x => x.Get<HttpResponseMessage>(It.IsAny<string>()))
|
.Setup(x => x.Get<HttpResponseMessage>(It.IsAny<string>()))
|
||||||
.Returns(_response);
|
.Returns(_response);
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.AspNetCore.Builder;
|
using Microsoft.AspNetCore.Builder;
|
||||||
|
using Moq;
|
||||||
|
using Ocelot.Infrastructure.RequestData;
|
||||||
|
|
||||||
public abstract class ServerHostedMiddlewareTest : IDisposable
|
public abstract class ServerHostedMiddlewareTest : IDisposable
|
||||||
{
|
{
|
||||||
@ -14,10 +16,12 @@
|
|||||||
protected HttpClient Client { get; private set; }
|
protected HttpClient Client { get; private set; }
|
||||||
protected string Url { get; private set; }
|
protected string Url { get; private set; }
|
||||||
protected HttpResponseMessage ResponseMessage { get; private set; }
|
protected HttpResponseMessage ResponseMessage { get; private set; }
|
||||||
|
protected Mock<IRequestScopedDataRepository> ScopedRepository { get; private set; }
|
||||||
|
|
||||||
public ServerHostedMiddlewareTest()
|
public ServerHostedMiddlewareTest()
|
||||||
{
|
{
|
||||||
Url = "http://localhost:51879";
|
Url = "http://localhost:51879";
|
||||||
|
ScopedRepository = new Mock<IRequestScopedDataRepository>();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void GivenTheTestServerIsConfigured()
|
protected virtual void GivenTheTestServerIsConfigured()
|
Loading…
x
Reference in New Issue
Block a user