public void ShouldUseSpecifiedHttpHeaderName() { // Arrange const string correlationId = "myCorrelationId"; var headers = new HeaderDictionary(new Dictionary <string, StringValues> { { "Request-Id", correlationId } }); var options = Options.Create(new DataverseODataClientOptions { CorrelationIdHeader = "Request-Id" }); var httpContextAccessor = A.Fake <IHttpContextAccessor>(); A.CallTo(() => httpContextAccessor.HttpContext.Request.Headers) .Returns(headers); var sut = new HttpHeaderCorrelationIdProvider(httpContextAccessor, options); // Act var result = sut.GetCorrelationId(); // Assert result.Should().Be(correlationId); }
public void ShouldReturnNullWhenHttpHeaderIsNotPresent() { // Arrange var options = Options.Create(new DataverseODataClientOptions()); var httpContextAccessor = A.Fake <IHttpContextAccessor>(); A.CallTo(() => httpContextAccessor.HttpContext.Request.Headers) .Returns(new HeaderDictionary()); var sut = new HttpHeaderCorrelationIdProvider(httpContextAccessor, options); // Act var result = sut.GetCorrelationId(); // Assert result.Should().BeNull(); }