public void InitializeDoesNotThrowIfRequestIsUnavailable() { var contextAccessor = HttpContextAccessorHelper.CreateHttpContextAccessorWithoutRequest(new HttpContextStub(), new RequestTelemetry()); var initializer = new ClientIpHeaderTelemetryInitializer(contextAccessor); initializer.Initialize(new EventTelemetry()); }
public void InitializeDoesNotThrowIfRequestTelemetryIsUnavailable() { var ac = new HttpContextAccessor() { HttpContext = new DefaultHttpContext() }; var initializer = new ClientIpHeaderTelemetryInitializer(ac); initializer.Initialize(new RequestTelemetry()); }
public void InitializeDoesNotThrowIfRequestServicesAreUnavailable() { var ac = new HttpContextAccessor { HttpContext = new DefaultHttpContext() }; var initializer = new ClientIpHeaderTelemetryInitializer(ac); initializer.Initialize(new RequestTelemetry()); }
public void InitializeDoesNotThrowIfHttpContextIsUnavailable() { var ac = new HttpContextAccessor { HttpContext = null }; var initializer = new ClientIpHeaderTelemetryInitializer(ac); initializer.Initialize(new RequestTelemetry()); }
public void InitializeDoesNotThrowIfRemoteIpAddressIsNull() { var requestTelemetry = new RequestTelemetry(); var contextAccessor = HttpContextAccessorHelper.CreateHttpContextAccessor(requestTelemetry); contextAccessor.HttpContext.Features.Set <IHttpConnectionFeature>(new HttpConnectionFeature()); var initializer = new ClientIpHeaderTelemetryInitializer(contextAccessor); initializer.Initialize(requestTelemetry); }
public void InitializeDoesNotThrowIfHeaderCollectionIsUnavailable() { var httpContext = new HttpContextStub(); httpContext.OnRequestGetter = () => new HttpRequestStub(httpContext); var contextAccessor = HttpContextAccessorHelper.CreateHttpContextAccessorWithoutRequest(httpContext, new RequestTelemetry()); var initializer = new ClientIpHeaderTelemetryInitializer(contextAccessor); initializer.Initialize(new EventTelemetry()); }
public void InitializeSetsIPFromStandardHeader() { var requestTelemetry = new RequestTelemetry(); var contextAccessor = HttpContextAccessorHelper.CreateHttpContextAccessor(requestTelemetry); contextAccessor.HttpContext.Request.Headers.Add("X-Forwarded-For", new string[] { "127.0.0.3" }); var initializer = new ClientIpHeaderTelemetryInitializer(contextAccessor); initializer.Initialize(requestTelemetry); Assert.Equal("127.0.0.3", requestTelemetry.Context.Location.Ip); }
public void InitializeSetsIPFromCustomHeader() { var requestTelemetry = new RequestTelemetry(); var contextAccessor = HttpContextAccessorHelper.CreateHttpContextAccessor(requestTelemetry); contextAccessor.HttpContext.Request.Headers.Add("HEADER", new string[] { "127.0.0.3;127.0.0.4" }); var initializer = new ClientIpHeaderTelemetryInitializer(contextAccessor); initializer.HeaderNames.Add("HEADER"); initializer.HeaderValueSeparators = ",;"; initializer.Initialize(requestTelemetry); Assert.Equal("127.0.0.3", requestTelemetry.Context.Location.Ip); }
public void InitializeDoesNotOverrideIPProvidedInline() { var requestTelemetry = new RequestTelemetry(); requestTelemetry.Context.Location.Ip = "127.0.0.4"; var contextAccessor = HttpContextAccessorHelper.CreateHttpContextAccessor(requestTelemetry); contextAccessor.HttpContext.Request.Headers.Add("X-Forwarded-For", new string[] { "127.0.0.3" }); var initializer = new ClientIpHeaderTelemetryInitializer(contextAccessor); initializer.Initialize(requestTelemetry); Assert.Equal("127.0.0.4", requestTelemetry.Context.Location.Ip); }
public void InitializeSetsIpFromRemoteIpAddress() { var requestTelemetry = new RequestTelemetry(); var contextAccessor = HttpContextAccessorHelper.CreateHttpContextAccessor(requestTelemetry); var httpConnectionFeature = new HttpConnectionFeature { RemoteIpAddress = new IPAddress(new byte[] { 1, 2, 3, 4 }) }; contextAccessor.HttpContext.Features.Set <IHttpConnectionFeature>(httpConnectionFeature); var initializer = new ClientIpHeaderTelemetryInitializer(contextAccessor); initializer.Initialize(requestTelemetry); Assert.Equal("1.2.3.4", requestTelemetry.Context.Location.Ip); }
public void InitializeThrowIfHttpContextAccessorIsNull() { Assert.ThrowsAny <ArgumentNullException>(() => { var initializer = new ClientIpHeaderTelemetryInitializer(null); }); }
public void InitializeThrowIfHttpContextAccessorIsNull() { Assert.ThrowsAny<ArgumentNullException>(() => { var initializer = new ClientIpHeaderTelemetryInitializer(null); }); }