Beispiel #1
0
        public async Task Can_Send_Request_Telemetry(int statusCode, bool expectedSuccess)
        {
            // given
            var channel = new MockTelemetryChannel();

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

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

            var configuration = new TelemetryConfigurationBuilder()
                                .WithChannel(channel)
                                .Build();

            var sut = new HttpRequestTrackingMiddleware(new NoopMiddleware(), configuration);

            // when
            await sut.Invoke(context);

            // then
            var telemetry = channel.SentTelemetries.First() as RequestTelemetry;

            telemetry.Success.Should().Be(expectedSuccess);
        }
        public async Task LEGACY_On_Exception_Should_Pass_It_Further()
        {
            // given
            var configuration = new TelemetryConfigurationBuilder().Build();

            var context = new MockOwinContextBuilder().Build();

            var sut = new HttpRequestTrackingMiddleware(new ThrowingMiddleware(), configuration);

            // when / then
            Func <Task> sutAction = async() => await sut.Invoke(context);

            sutAction.ShouldThrow <OlabogaException>();
        }
        public async Task Can_Send_Request_Telemetry(int statusCode, bool expectedSuccess)
        {
            // given
            var channel = new MockTelemetryChannel();

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

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

            var configuration = new TelemetryConfigurationBuilder()
                .WithChannel(channel)
                .Build();

            var sut = new HttpRequestTrackingMiddleware(new NoopMiddleware(), configuration);

            // when
            await sut.Invoke(context);

            // then
            var telemetry = channel.SentTelemetries.First() as RequestTelemetry;
            telemetry.Success.Should().Be(expectedSuccess);
        }