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()); }
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); }