コード例 #1
0
        public void InitializeDoNotMakeRequestAParentOfItself()
        {
            var context          = new MockOperationContext();
            var initializer      = new OperationCorrelationTelemetryInitializer();
            var requestTelemetry = context.Request;

            initializer.Initialize(requestTelemetry, context);
            Assert.AreEqual(null, requestTelemetry.Context.Operation.ParentId);
            Assert.AreEqual(requestTelemetry.Id, requestTelemetry.Context.Operation.Id);
        }
コード例 #2
0
        public void InitializeDoesNotOverrideCustomerParentOperationId()
        {
            var context     = new MockOperationContext();
            var initializer = new OperationCorrelationTelemetryInitializer();
            var telemetry   = new TraceTelemetry();

            telemetry.Context.Operation.ParentId = "someId";
            initializer.Initialize(telemetry, context);

            Assert.AreEqual("someId", telemetry.Context.Operation.ParentId);
        }
コード例 #3
0
        public void SetsOperationIdWhenNoParentOperationIsPresent()
        {
            var context     = new MockOperationContext();
            var initializer = new OperationCorrelationTelemetryInitializer();

            var telemetry = context.Request;

            initializer.Initialize(telemetry, context);

            Assert.AreEqual(telemetry.Id, telemetry.Context.Operation.Id);
        }
コード例 #4
0
        public void InitializeSetsRequestTelemetryRootOperationIdToOperationId()
        {
            var context          = new MockOperationContext();
            var initializer      = new OperationCorrelationTelemetryInitializer();
            var requestTelemetry = context.Request;

            var customerTelemetry = new TraceTelemetry();

            initializer.Initialize(customerTelemetry, context);

            Assert.AreEqual(requestTelemetry.Id, requestTelemetry.Context.Operation.Id);
        }
コード例 #5
0
        public void InitializeSetsRootOperationIdForTelemetryUsingIdFromRequestTelemetry()
        {
            var context = new MockOperationContext();

            context.Request.Context.Operation.Id = "RootId";

            var initializer        = new OperationCorrelationTelemetryInitializer();
            var exceptionTelemetry = new ExceptionTelemetry();

            initializer.Initialize(exceptionTelemetry, context);

            Assert.AreEqual(context.Request.Context.Operation.Id, exceptionTelemetry.Context.Operation.Id);
        }
コード例 #6
0
        public void InitializeDoesNotOverrideCustomerRootOperationId()
        {
            var context          = new MockOperationContext();
            var initializer      = new OperationCorrelationTelemetryInitializer();
            var requestTelemetry = context.Request;

            requestTelemetry.Context.Operation.Id = "RootId";

            var customerTelemetry = new TraceTelemetry();

            customerTelemetry.Context.Operation.Id = "CustomId";

            initializer.Initialize(customerTelemetry, context);

            Assert.AreEqual("CustomId", customerTelemetry.Context.Operation.Id);
        }
コード例 #7
0
        public void InitializeReadsRootIdFromCustomSoapHeader()
        {
            var context = new MockOperationContext();

            context.AddIncomingMessageHeader("headerName", "somenamespace", "RootId");

            var initializer = new OperationCorrelationTelemetryInitializer();

            initializer.SoapRootOperationIdHeaderName = "headerName";
            initializer.SoapHeaderNamespace           = "somenamespace";

            var requestTelemetry = context.Request;

            var customerTelemetry = new TraceTelemetry();

            initializer.Initialize(customerTelemetry, context);
            Assert.AreEqual("RootId", customerTelemetry.Context.Operation.Id);
            Assert.AreEqual("RootId", requestTelemetry.Context.Operation.Id);
        }
コード例 #8
0
        public void InitializeReadsRootIdFromCustomHeader()
        {
            var httpHeaders = new HttpRequestMessageProperty();

            httpHeaders.Headers["headerName"] = "RootId";

            var context = new MockOperationContext();

            context.SetHttpHeaders(httpHeaders);
            var initializer = new OperationCorrelationTelemetryInitializer();

            initializer.RootOperationIdHeaderName = "headerName";

            var requestTelemetry = context.Request;

            var customerTelemetry = new TraceTelemetry();

            initializer.Initialize(customerTelemetry, context);
            Assert.AreEqual("RootId", customerTelemetry.Context.Operation.Id);
            Assert.AreEqual("RootId", requestTelemetry.Context.Operation.Id);
        }