Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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);
        }