ApplicationInsights.OwinExtensions.Tests.HttpRequestTrackingMiddlewareTests.Can_Pass_Request_Details_For_Filtering C# (CSharp) Method

Can_Pass_Request_Details_For_Filtering() private method

private Can_Pass_Request_Details_For_Filtering ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task
        public async Task Can_Pass_Request_Details_For_Filtering()
        {
            // given
            var channel = new MockTelemetryChannel();

            var request = Mock.Of<IOwinRequest>(r =>
                r.Method == "GET" &&
                r.Path == new PathString("/path") &&
                r.Uri == new Uri("http://google.com/path")
                );

            var response = Mock.Of<IOwinResponse>(r => r.StatusCode == 200);

            var context = new MockOwinContextBuilder()
                .WithRequest(request)
                .WithResponse(response)
                .Build();

            var configuration = new TelemetryConfigurationBuilder()
                .WithChannel(channel)
                .Build();
            IOwinRequest filteredRequest = null;
            IOwinResponse filteredResponse = null;

            var sut = new OperationIdContextMiddleware(
                new HttpRequestTrackingMiddleware(
                    new NoopMiddleware(), configuration, (req, resp) =>
                    {
                        filteredRequest = req;
                        filteredResponse = resp;
                        return false;
                    }),
                new OperationIdContextMiddlewareConfiguration());

            // when
            await sut.Invoke(context);

            // then
            filteredRequest.ShouldBeEquivalentTo(request);
            filteredResponse.ShouldBeEquivalentTo(response);

        }