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); }
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 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 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 Initialize() { ConfigurationHelpers.ConfigureNet45(); }