public async Task StopLoggingFileRequests() { var middlewareConfig = new TrafficCometMiddlewareConfig { StartLoggingFileRequest = false }; await RunMiddlewareWithConfiguration(middlewareConfig, "/bootstrap.css"); }
public async Task IgnoredRequest() { var middlewareConfig = new TrafficCometMiddlewareConfig { IgnoreUrls = new[] { MockStaticData.RequestPath } }; await RunMiddlewareWithConfiguration(middlewareConfig); }
public async Task StopLogging() { var middlewareConfig = new TrafficCometMiddlewareConfig { StopLogging = true }; await RunMiddlewareWithConfiguration(middlewareConfig); }
internal async Task RunMiddlewareWithConfiguration(TrafficCometMiddlewareConfig config, string requestPath = null) { var accessor = new TrafficCometMiddlewaresAccessor(); var logWriter = ITrafficLogWriterMockFactory.CreateMockObject(); var trafficCometMiddleware = TrafficCometMiddlewareMockFactory.CreateMockObject(out HttpContext httpContext, config, requestPath); var trafficLogFactory = ITrafficLogFactoryMockFactory.CreateMockObject(MockStaticData.MockLog); var traceIdGenerator = ITraceIdGeneratorMockFactory.CreateObjectMock(MockStaticData.TraceId); var clientIdGenerator = IClientUniqueIdGeneratorMockFactory.CreateMockObject(MockStaticData.UserUniqueId); await trafficCometMiddleware.Invoke(httpContext, accessor, logWriter, trafficLogFactory, traceIdGenerator, clientIdGenerator); Assert.True(accessor.IgnoreWholeRequest); }
internal static TrafficCometMiddleware CreateMockObject(out HttpContext httpContext, TrafficCometMiddlewareConfig config = null, string requestPath = null) { var mockHttpRequest = HttpMockFactory.CreateHttpRequestMockObject(new PathString(requestPath ?? MockStaticData.RequestPath), new QueryString(), MockStaticData.HttpMethodPost); var requestMemoryStream = new MemoryStream(Encoding.UTF8.GetBytes(MockStaticData.RequestBody)); mockHttpRequest.AddBody(requestMemoryStream); var httpResponse = HttpMockFactory.CreateHttpResponseMockObject(200, new MemoryStream(Encoding.UTF8.GetBytes(MockStaticData.ResponseBody)), MockStaticData.RequestHeaders); var connectionInfo = HttpMockFactory.CreateConnectionInfoMockObject(MockStaticData.IPAddress1, MockStaticData.Port1, MockStaticData.IPAddress2, MockStaticData.Port2); httpContext = HttpMockFactory.CreateHttpContextMockObject(mockHttpRequest.Object, httpResponse, connectionInfo); var middlewareConfig = config ?? new TrafficCometMiddlewareConfig(); return(new TrafficCometMiddleware(MockServicesHelper.FakeRequestDelegate, MockServicesHelper.CreateOptionsMock(middlewareConfig))); }