public void InitializeDoesNotThrowIfRequestTelemetryIsUnavailable()
        {
            var ac = new HttpContextAccessor()
            {
                HttpContext = new DefaultHttpContext()
            };

            var initializer = new UserAgentTelemetryInitializer(ac);

            initializer.Initialize(new RequestTelemetry());
        }
        public void InitializeSetsUserAgentFromHeader()
        {
            var requestTelemetry = new RequestTelemetry();
            var contextAccessor  = HttpContextAccessorHelper.CreateHttpContextAccessor(requestTelemetry);

            contextAccessor.HttpContext.Request.Headers.Add("User-Agent", new[] { "test" });
            var initializer = new UserAgentTelemetryInitializer(contextAccessor);

            initializer.Initialize(requestTelemetry);

            Assert.Equal("test", requestTelemetry.Context.User.UserAgent);
        }
        public void InitializeDoesNotOverrideUserAgentProvidedInline()
        {
            var requestTelemetry = new RequestTelemetry();

            requestTelemetry.Context.User.UserAgent = "Inline";
            var contextAccessor = HttpContextAccessorHelper.CreateHttpContextAccessor(requestTelemetry);

            contextAccessor.HttpContext.Request.Headers.Add("User-Agent", new[] { "test" });
            var initializer = new UserAgentTelemetryInitializer(contextAccessor);

            initializer.Initialize(requestTelemetry);

            Assert.Equal("Inline", requestTelemetry.Context.User.UserAgent);
        }
Ejemplo n.º 4
0
        public void UserAgentIsCopiedFromRequestIfPresent()
        {
            var context = new MockOperationContext();

            context.EndpointUri   = new Uri("http://localhost/Service1.svc");
            context.OperationName = "GetData";
            context.Request.Context.User.UserAgent = "MyUserAgent";

            var initializer = new UserAgentTelemetryInitializer();
            var telemetry   = new EventTelemetry();

            initializer.Initialize(telemetry, context);

            Assert.AreEqual(context.Request.Context.User.UserAgent, telemetry.Context.User.UserAgent);
        }
        public void UserAgentIsObtainedFromOperationContextIfPresent()
        {
            var context = new MockOperationContext();

            context.SetState("UATI_UserAgent", "MyAgent");

            context.EndpointUri   = new Uri("http://localhost/Service1.svc");
            context.OperationName = "GetData";

            var initializer = new UserAgentTelemetryInitializer();
            var telemetry   = new EventTelemetry();

            initializer.Initialize(telemetry, context);

            Assert.AreEqual("MyAgent", telemetry.Context.User.UserAgent);
        }
Ejemplo n.º 6
0
        public void ContextUserAgentIsSetIfPresent()
        {
            var context = new MockOperationContext();

            context.EndpointUri   = new Uri("http://localhost/Service1.svc");
            context.OperationName = "GetData";

            HttpRequestMessageProperty http = new HttpRequestMessageProperty();

            http.Headers["User-Agent"] = "MyUserAgent";
            context.IncomingProperties.Add(HttpRequestMessageProperty.Name, http);

            var initializer = new UserAgentTelemetryInitializer();
            var telemetry   = new RequestTelemetry();

            initializer.Initialize(telemetry, context);

            Assert.AreEqual("MyUserAgent", telemetry.Context.User.UserAgent);
        }
 public void InitializeThrowIfHttpContextAccessorIsNull()
 {
     Assert.Throws <ArgumentNullException>(() => { var initializer = new UserAgentTelemetryInitializer(null); });
 }