public async Task InvokeAsync_FindsCorrelationHeader()
        {
            var correlationId         = "1234";
            var context               = new DefaultHttpContext();
            var correlationProvider   = new CorrelationProvider();
            var correlationMiddleware = new LoggingCorrelationMiddleware(correlationProvider, new NullLogger <LoggingCorrelationMiddleware>(), obtainCorrelationIdFromRequestHeaders: true);

            context.Request.Headers.Add("X-Request-Id", correlationId);
            await correlationMiddleware.InvokeAsync(context, (innerHttpContext) => Task.FromResult(0));

            Assert.AreEqual(correlationId, correlationProvider.GetCorrelationId());
        }
Exemple #2
0
        public void GetCorrelation_return_correlation_from_request_header()
        {
            var configuration = Substitute.For <IConfiguration>();

            var correlationId = Guid.NewGuid().ToString("D");

            configuration[CorrelationProvider.CorrelationIdConfigKey].Returns(CorrelationProvider.DefaultCorrelationIdHeaderKey);

            var groupId = Guid.NewGuid().ToString("D");

            configuration[CorrelationProvider.CorrelationIdConfigKey].Returns(CorrelationProvider.DefaultCorrelationIdHeaderKey);

            var httpContextAccessor = Substitute.For <IHttpContextAccessor>();

            httpContextAccessor.HttpContext.Returns(new DefaultHttpContext());
            httpContextAccessor.HttpContext.Request.Headers[CorrelationProvider.DefaultCorrelationIdHeaderKey] = correlationId;

            var correlationIdProvider = new CorrelationProvider(configuration, httpContextAccessor);

            correlationIdProvider.GetCorrelationId().Should().Be(correlationId);
        }