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); }
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); }
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); }); }