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);
        }
Example #5
0
        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)));
        }