public static void RegistersTelemetryConfigurationFactoryMethodThatPopulatesItWithTelemetryProcessorFactoriesFromContainer() { var services = ApplicationInsightsExtensionsTests.GetServiceCollectionWithContextAccessor(); services.AddSingleton <Func <ITelemetryProcessor, ITelemetryProcessor> >((next) => new FakeTelemetryProcessor(next)); services.AddApplicationInsightsTelemetry(new ConfigurationBuilder().Build()); IServiceProvider serviceProvider = services.BuildServiceProvider(); var telemetryConfiguration = serviceProvider.GetTelemetryConfiguration(); FakeTelemetryProcessor telemetryProcessor = telemetryConfiguration.TelemetryProcessors.OfType <FakeTelemetryProcessor>().FirstOrDefault(); Assert.NotNull(telemetryProcessor); Assert.True(telemetryProcessor.IsInitialized); }
public static void RegistersTelemetryConfigurationFactoryMethodThatPopulatesItWithTelemetryInitializersFromContainer() { var telemetryInitializer = new FakeTelemetryInitializer(); var services = ApplicationInsightsExtensionsTests.GetServiceCollectionWithContextAccessor(); services.AddSingleton <ITelemetryInitializer>(telemetryInitializer); services.AddSingleton <ITelemetryChannel>(new InMemoryChannel()); services.AddApplicationInsightsTelemetry(new ConfigurationBuilder().Build()); IServiceProvider serviceProvider = services.BuildServiceProvider(); var telemetryConfiguration = serviceProvider.GetTelemetryConfiguration(); Assert.Contains(telemetryInitializer, telemetryConfiguration.TelemetryInitializers); }
public static void RegistersTelemetryConfigurationFactoryMethodThatReadsEndpointAddressFromEnvironment() { var services = ApplicationInsightsExtensionsTests.GetServiceCollectionWithContextAccessor(); services.AddSingleton <ITelemetryChannel>(new InMemoryChannel()); Environment.SetEnvironmentVariable("APPINSIGHTS_ENDPOINTADDRESS", "http://localhost:1234/v2/track/"); var config = new ConfigurationBuilder().AddEnvironmentVariables().Build(); try { services.AddApplicationInsightsTelemetry(config); IServiceProvider serviceProvider = services.BuildServiceProvider(); var telemetryConfiguration = serviceProvider.GetRequiredService <TelemetryConfiguration>(); Assert.Equal("http://localhost:1234/v2/track/", telemetryConfiguration.TelemetryChannel.EndpointAddress); } finally { Environment.SetEnvironmentVariable("APPINSIGHTS_ENDPOINTADDRESS", null); } }
public static void RegistersTelemetryConfigurationFactoryMethodThatReadsDeveloperModeFromEnvironment() { var services = ApplicationInsightsExtensionsTests.GetServiceCollectionWithContextAccessor(); services.AddSingleton <ITelemetryChannel>(new InMemoryChannel()); Environment.SetEnvironmentVariable("APPINSIGHTS_DEVELOPER_MODE", "true"); var config = new ConfigurationBuilder().AddEnvironmentVariables().Build(); try { services.AddApplicationInsightsTelemetry(config); IServiceProvider serviceProvider = services.BuildServiceProvider(); var telemetryConfiguration = serviceProvider.GetRequiredService <TelemetryConfiguration>(); Assert.Equal(true, telemetryConfiguration.TelemetryChannel.DeveloperMode); } finally { Environment.SetEnvironmentVariable("APPINSIGHTS_DEVELOPER_MODE", null); } }
public static void RegistersTelemetryConfigurationFactoryMethodThatReadsInstrumentationKeyFromEnvironment() { var services = ApplicationInsightsExtensionsTests.GetServiceCollectionWithContextAccessor(); services.AddSingleton <ITelemetryChannel>(new InMemoryChannel()); Environment.SetEnvironmentVariable("APPINSIGHTS_INSTRUMENTATIONKEY", TestInstrumentationKey); var config = new ConfigurationBuilder().AddEnvironmentVariables().Build(); try { services.AddApplicationInsightsTelemetry(config); IServiceProvider serviceProvider = services.BuildServiceProvider(); var telemetryConfiguration = serviceProvider.GetRequiredService <TelemetryConfiguration>(); Assert.Equal(TestInstrumentationKey, telemetryConfiguration.InstrumentationKey); } finally { Environment.SetEnvironmentVariable("APPINSIGHTS_INSTRUMENTATIONKEY", null); } }
public static ServiceCollection CreateServicesAndAddApplicationinsightsTelemetry(string jsonPath, string channelEndPointAddress, Action <ApplicationInsightsServiceOptions> serviceOptions = null, bool addChannel = true) { var services = ApplicationInsightsExtensionsTests.GetServiceCollectionWithContextAccessor(); if (addChannel) { services.AddSingleton <ITelemetryChannel>(new InMemoryChannel()); } IConfigurationRoot config = null; if (jsonPath != null) { var jsonFullPath = Path.Combine(Directory.GetCurrentDirectory(), jsonPath); Console.WriteLine("json:" + jsonFullPath); Trace.WriteLine("json:" + jsonFullPath); try { config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile(jsonFullPath).Build(); } catch (Exception) { throw new Exception("Unable to build with json:" + jsonFullPath); } } else if (channelEndPointAddress != null) { config = new ConfigurationBuilder().AddApplicationInsightsSettings(endpointAddress: channelEndPointAddress).Build(); } else { config = new ConfigurationBuilder().Build(); } services.AddApplicationInsightsTelemetry(config); if (serviceOptions != null) { services.Configure(serviceOptions); } return(services); }
public static void AppApplicationInsightsTelemetryFromApplicationInsightsServiceOptionsCopiesAllSettings() { ServiceCollection services = ApplicationInsightsExtensionsTests.GetServiceCollectionWithContextAccessor(); ApplicationInsightsServiceOptions options = new ApplicationInsightsServiceOptions() { ApplicationVersion = "test", DeveloperMode = true, EnableAdaptiveSampling = false, EnableAuthenticationTrackingJavaScript = false, EnableDebugLogger = true, EnableQuickPulseMetricStream = false, EndpointAddress = "http://test", EnableHeartbeat = false, InstrumentationKey = "test" }; services.AddApplicationInsightsTelemetry(options); ApplicationInsightsServiceOptions servicesOptions = null; services.Configure((ApplicationInsightsServiceOptions o) => { servicesOptions = o; }); IServiceProvider serviceProvider = services.BuildServiceProvider(); TelemetryConfiguration telemetryConfiguration = serviceProvider.GetTelemetryConfiguration(); Type optionsType = typeof(ApplicationInsightsServiceOptions); PropertyInfo[] properties = optionsType.GetProperties(BindingFlags.Public | BindingFlags.Instance); Assert.True(properties.Length > 0); foreach (PropertyInfo property in properties) { Assert.Equal(property.GetValue(options).ToString(), property.GetValue(servicesOptions).ToString()); } }
public static void AddApplicationInsightsTelemetryProcessorWithNullTelemetryProcessorTypeThrows() { var services = ApplicationInsightsExtensionsTests.GetServiceCollectionWithContextAccessor(); Assert.Throws <ArgumentNullException>(() => services.AddApplicationInsightsTelemetryProcessor(null)); }