public void InstallAddsAuthenticatedUserTelemetryInitializer() { string emptyConfig = ConfigurationHelpers.GetEmptyConfig(); XDocument configAfterTransform = ConfigurationHelpers.InstallTransform(emptyConfig); Type typeToFind = typeof(AuthenticatedUserIdTelemetryInitializer); Assert.IsNotNull(AssertNodeExistsInConfiguration(configAfterTransform, typeToFind)); }
public void UninstallRemovesAllTelemetryModules() { string emptyConfig = ConfigurationHelpers.GetEmptyConfig(); XDocument configAfterInstall = ConfigurationHelpers.InstallTransform(emptyConfig); XDocument configAfterUninstall = ConfigurationHelpers.UninstallTransform(configAfterInstall.ToString()); Assert.AreEqual(0, ConfigurationHelpers.GetTelemetryModules(configAfterUninstall).ToList().Count); }
public void UninstallDoesNotRemoveTelemetryModulesTagIfCustomTelemetryModuleIsPresent() { string emptyConfig = ConfigurationHelpers.GetEmptyConfig(); XDocument configAfterInstall = ConfigurationHelpers.InstallTransform(emptyConfig); // Replace valid type on custom so during uninstall it should stay in the config string customConfig = configAfterInstall.ToString().Replace("ExceptionTrackingTelemetryModule", "blah"); XDocument configAfterUninstall = ConfigurationHelpers.UninstallTransform(customConfig); Assert.AreEqual(1, ConfigurationHelpers.GetTelemetryModules(configAfterUninstall).ToList().Count); Assert.AreEqual(1, ConfigurationHelpers.GetTelemetryModules(configAfterUninstall).Descendants().ToList().Count); }
public void InstallAddsExceptionTrackingTelemetryModule() { string emptyConfig = ConfigurationHelpers.GetEmptyConfig(); XDocument configAfterTransform = ConfigurationHelpers.InstallTransform(emptyConfig); var typeToFind = typeof(ExceptionTrackingTelemetryModule); var node = ConfigurationHelpers.GetTelemetryModules(configAfterTransform) .Descendants() .FirstOrDefault(element => element.Attribute("Type").Value == ConfigurationHelpers.GetPartialTypeName(typeToFind)); Assert.IsNotNull(node); }
public void InstallAddsHandlerProcessor() { string emptyConfig = ConfigurationHelpers.GetEmptyConfig(); XDocument configAfterTransform = ConfigurationHelpers.InstallTransform(emptyConfig); var typeToFind = typeof(HandlerTelemetryProcessor); var node = ConfigurationHelpers.GetTelemetryProcessors(configAfterTransform) .Descendants() .FirstOrDefault(element => (element.Attribute("Type") != null ? element.Attribute("Type").Value : null) == ConfigurationHelpers.GetPartialTypeName(typeToFind)); Assert.IsNotNull(node); }
public void UninstallRemovesAllTelemetryProcessorsExceptAdaptiveSampling() { string emptyConfig = ConfigurationHelpers.GetEmptyConfig(); XDocument configAfterInstall = ConfigurationHelpers.InstallTransform(emptyConfig); XDocument configAfterUninstall = ConfigurationHelpers.UninstallTransform(configAfterInstall.ToString()); var children = ConfigurationHelpers.GetTelemetryProcessors(configAfterUninstall) .Descendants().ToList(); var handler = children .FirstOrDefault(element => (element.Attribute("Type") != null ? element.Attribute("Type").Value : null) == ConfigurationHelpers.GetPartialTypeName(typeof(HandlerTelemetryProcessor))); var userAgent = children .FirstOrDefault(element => (element.Attribute("Type") != null ? element.Attribute("Type").Value : null) == ConfigurationHelpers.GetPartialTypeName(typeof(UserAgentTelemetryProcessor))); var sampler = children .FirstOrDefault(element => (element.Attribute("Type") != null ? element.Attribute("Type").Value : null) == "Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor, Microsoft.AI.ServerTelemetryChannel"); Assert.IsNull(handler, "HandlerTelemetryProcessor was not removed."); Assert.IsNull(userAgent, "UserAgentTelemetryProcessor was not removed."); Assert.IsNotNull(sampler, "AdaptiveSamplingTelemetryProcessor was removed"); }
public void InstallAddsAdaptiveSamplingProcessorLast() { string emptyConfig = ConfigurationHelpers.GetEmptyConfig(); XDocument configAfterTransform = ConfigurationHelpers.InstallTransform(emptyConfig); var children = ConfigurationHelpers.GetTelemetryProcessors(configAfterTransform) .Descendants().ToList(); var handler = children .FirstOrDefault(element => (element.Attribute("Type") != null ? element.Attribute("Type").Value : null) == ConfigurationHelpers.GetPartialTypeName(typeof(HandlerTelemetryProcessor))); var userAgent = children .FirstOrDefault(element => (element.Attribute("Type") != null ? element.Attribute("Type").Value : null) == ConfigurationHelpers.GetPartialTypeName(typeof(UserAgentTelemetryProcessor))); var sampler = children .FirstOrDefault(element => (element.Attribute("Type") != null ? element.Attribute("Type").Value : null) == "Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor, Microsoft.AI.ServerTelemetryChannel"); var handlerIndex = children.IndexOf(handler); var userAgentIndex = children.IndexOf(userAgent); var samplerIndex = children.IndexOf(sampler); Assert.IsTrue(samplerIndex > handlerIndex, "AdaptiveSamplingTelemetryProcessor is not placed before HandlerTelemetryProcessor"); Assert.IsTrue(samplerIndex > userAgentIndex, "AdaptiveSamplingTelemetryProcessor is not placed before UserAgentTelemetryProcessor"); }
public void InstallAddsHandlerProcessorWithDefaultConfiguration() { string emptyConfig = ConfigurationHelpers.GetEmptyConfig(); XDocument configAfterTransform = ConfigurationHelpers.InstallTransform(emptyConfig); var typeToFind = typeof(HandlerTelemetryProcessor); var handler = ConfigurationHelpers.GetTelemetryProcessors(configAfterTransform) .Descendants() .FirstOrDefault(element => (element.Attribute("Type") != null ? element.Attribute("Type").Value : null) == ConfigurationHelpers.GetPartialTypeName(typeToFind)); var node = handler .Descendants() .FirstOrDefault(element => (element.Attribute("Value") != null ? element.Attribute("Value").Value : null) == "System.Web.Handlers.TransferRequestHandler"); Assert.IsNotNull(node); node = handler .Descendants() .FirstOrDefault(element => (element.Attribute("Value") != null ? element.Attribute("Value").Value : null) == "Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.RequestDataHttpHandler"); Assert.IsNotNull(node); node = handler .Descendants() .FirstOrDefault(element => (element.Attribute("Value") != null ? element.Attribute("Value").Value : null) == "System.Web.StaticFileHandler"); Assert.IsNotNull(node); node = handler .Descendants() .FirstOrDefault(element => (element.Attribute("Value") != null ? element.Attribute("Value").Value : null) == "System.Web.Handlers.AssemblyResourceLoader"); Assert.IsNotNull(node); node = handler .Descendants() .FirstOrDefault(element => (element.Attribute("Value") != null ? element.Attribute("Value").Value : null) == "System.Web.Optimization.BundleHandler"); Assert.IsNotNull(node); node = handler .Descendants() .FirstOrDefault(element => (element.Attribute("Value") != null ? element.Attribute("Value").Value : null) == "System.Web.Script.Services.ScriptHandlerFactory"); Assert.IsNotNull(node); node = handler .Descendants() .FirstOrDefault(element => (element.Attribute("Value") != null ? element.Attribute("Value").Value : null) == "System.Web.Handlers.TraceHandler"); Assert.IsNotNull(node); node = handler .Descendants() .FirstOrDefault(element => (element.Attribute("Value") != null ? element.Attribute("Value").Value : null) == "System.Web.Services.Discovery.DiscoveryRequestHandler"); Assert.IsNotNull(node); node = handler .Descendants() .FirstOrDefault(element => (element.Attribute("Value") != null ? element.Attribute("Value").Value : null) == "System.Web.HttpDebugHandler"); Assert.IsNotNull(node); }