Initialize() public method

Initializes the telemetry module.
public Initialize ( Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration configuration ) : void
configuration Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration Telemetry configuration to use for initialization.
return void
        public void OnErrorDoesNotThrowOnNullContext()
        {
            var module = new ExceptionTrackingTelemetryModule();

            module.Initialize(this.configuration);
            module.OnError(null); // is not supposed to throw
        }
        public void OnErrorDoesNotThrowOnNullContext()
        {
            var module = new ExceptionTrackingTelemetryModule();

            module.Initialize(this.configuration);
            module.OnError(null); // is not supposed to throw
        }
        public void MvcExceptionFilterIsNotInjectedIsInjectionIsDisabled()
        {
            using (var exceptionModule = new ExceptionTrackingTelemetryModule())
            {
                exceptionModule.EnableMvcAndWebApiExceptionAutoTracking = false;
                exceptionModule.Initialize(this.configuration);

                Assert.IsFalse(GlobalFilters.Filters.Any());
            }
        }
        public void OnErrorSetsSeverityToCriticalForRequestWithStatusCode500()
        {
            var platformContext = HttpModuleHelper.GetFakeHttpContext();
            platformContext.Response.StatusCode = 500;
            platformContext.AddError(new Exception());

            var module = new ExceptionTrackingTelemetryModule();
            module.Initialize(this.configuration);
            module.OnError(platformContext);

            Assert.Equal(SeverityLevel.Critical, ((ExceptionTelemetry)this.sendItems[0]).SeverityLevel);
        }
        public void OnErrorSetsSeverityToCriticalForRequestWithStatusCode500()
        {
            var platformContext = HttpModuleHelper.GetFakeHttpContext();

            platformContext.Response.StatusCode = 500;
            platformContext.AddError(new Exception());

            var module = new ExceptionTrackingTelemetryModule();

            module.Initialize(this.configuration);
            module.OnError(platformContext);

            Assert.Equal(SeverityLevel.Critical, ((ExceptionTelemetry)this.sendItems[0]).SeverityLevel);
        }
        public void MvcExceptionLoggerIsNotInjectedIfAnotherInjectionDetected()
        {
            GlobalFilters.Filters.Add(new MvcAutoInjectedFilter());
            Assert.AreEqual(1, GlobalFilters.Filters.Count);

            using (var exceptionModule = new ExceptionTrackingTelemetryModule())
            {
                exceptionModule.Initialize(this.configuration);

                var filters = GlobalFilters.Filters;
                Assert.AreEqual(1, filters.Count);
                Assert.IsInstanceOfType(filters.Single().Instance, typeof(MvcAutoInjectedFilter));
            }
        }
        public void OnErrorTracksExceptionsThatArePresentInHttpContext()
        {
            var platformContext = HttpModuleHelper.GetFakeHttpContext();
            var exception1 = new Exception("1");
            platformContext.AddError(exception1);
            platformContext.AddError(new Exception("2"));

            var module = new ExceptionTrackingTelemetryModule();
            module.Initialize(this.configuration);
            module.OnError(platformContext);

            Assert.Equal(2, this.sendItems.Count);
            Assert.Equal(exception1, ((ExceptionTelemetry)this.sendItems[0]).Exception);
        }
        public void OnErrorTracksExceptionsThatArePresentInHttpContext()
        {
            var platformContext = HttpModuleHelper.GetFakeHttpContext();
            var exception1      = new Exception("1");

            platformContext.AddError(exception1);
            platformContext.AddError(new Exception("2"));

            var module = new ExceptionTrackingTelemetryModule();

            module.Initialize(this.configuration);
            module.OnError(platformContext);

            Assert.Equal(2, this.sendItems.Count);
            Assert.Equal(exception1, ((ExceptionTelemetry)this.sendItems[0]).Exception);
        }
        public void MvcExceptionFilterNoopIfCustomErrorsIsFalse()
        {
            using (var exceptionModule = new ExceptionTrackingTelemetryModule())
            {
                exceptionModule.Initialize(this.configuration);

                var mvcExceptionFilters = GlobalFilters.Filters;
                Assert.AreEqual(1, mvcExceptionFilters.Count);

                var handleExceptionFilter = (HandleErrorAttribute)mvcExceptionFilters.Single().Instance;
                Assert.IsNotNull(handleExceptionFilter);

                var exception     = new Exception("test");
                var controllerCtx = HttpModuleHelper.GetFakeControllerContext(isCustomErrorEnabled: false);
                handleExceptionFilter.OnException(new ExceptionContext(controllerCtx, exception));

                Assert.IsFalse(this.sentTelemetry.Any());
            }
        }