public void TestGetFromResponseHeaders() { var guid = Guid.NewGuid(); var requestHeaderDictionary = new HeaderDictionary(); var responseHeaderDictionary = new HeaderDictionary(); responseHeaderDictionary.Add("Nar-Correlation-Id", guid.ToString()); var httpRequestMoq = new Mock <HttpRequest>(); httpRequestMoq.SetupGet(hrm => hrm.Headers).Returns(requestHeaderDictionary); var httpResponseMoq = new Mock <HttpResponse>(); httpResponseMoq.SetupGet(hrm => hrm.Headers).Returns(responseHeaderDictionary); var httpContextMoq = new Mock <HttpContext>(); httpContextMoq.SetupGet(hcm => hcm.Request).Returns(httpRequestMoq.Object); httpContextMoq.SetupGet(hcm => hcm.Response).Returns(httpResponseMoq.Object); var httpContextAccessorMoq = new Mock <IHttpContextAccessor>(); httpContextAccessorMoq.SetupGet(hcam => hcam.HttpContext).Returns(httpContextMoq.Object); var provider = new CorrelationIdProvider(httpContextAccessorMoq.Object); Assert.Equal(guid, provider.GetCorrelationId()); }
public void TestCreateNewGuid() { var requestHeaderDictionary = new HeaderDictionary(); var responseHeaderDictionary = new HeaderDictionary(); var httpRequestMoq = new Mock <HttpRequest>(); httpRequestMoq.SetupGet(hrm => hrm.Headers).Returns(requestHeaderDictionary); var httpResponseMoq = new Mock <HttpResponse>(); httpResponseMoq.SetupGet(hrm => hrm.Headers).Returns(responseHeaderDictionary); var httpContextMoq = new Mock <HttpContext>(); httpContextMoq.SetupGet(hcm => hcm.Request).Returns(httpRequestMoq.Object); httpContextMoq.SetupGet(hcm => hcm.Response).Returns(httpResponseMoq.Object); var httpContextAccessorMoq = new Mock <IHttpContextAccessor>(); httpContextAccessorMoq.SetupGet(hcam => hcam.HttpContext).Returns(httpContextMoq.Object); var provider = new CorrelationIdProvider(httpContextAccessorMoq.Object); Assert.NotEqual(Guid.Empty, provider.GetCorrelationId()); }
public void TestExceptionThrownWhenNotInHttpContext() { var httpContextAccessorMoq = new Mock <IHttpContextAccessor>(); var provider = new CorrelationIdProvider(httpContextAccessorMoq.Object); var ex = Assert.Throws <Exception>(() => provider.GetCorrelationId()); Assert.Equal("Correlation Id was asked when not in a request context", ex.Message); }
public void GetCorrelationId_return_correlationId_from_request_header() { var correlationId = Guid.NewGuid().ToString("D"); var configuration = Substitute.For <IConfiguration>(); configuration["CorrelationId"].Returns("CorrelationIdKey"); var httpContextAccessor = Substitute.For <IHttpContextAccessor>(); httpContextAccessor.HttpContext.Returns(new DefaultHttpContext()); httpContextAccessor.HttpContext.Request.Headers["CorrelationIdKey"] = correlationId; var correlationIdProvider = new CorrelationIdProvider(configuration, httpContextAccessor); correlationIdProvider.GetCorrelationId().Should().Be(correlationId); }