public HighSecurityModeDisabled(RemoteServiceFixtures.BasicMvcApplicationTestFixture fixture, ITestOutputHelper output) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); configModifier.ForceTransactionTraces(); configModifier.SetLogLevel("debug"); configModifier.SetHighSecurityMode(false); configModifier.SetEnableRequestParameters(true); configModifier.SetTransactionTracerRecordSql("raw"); configModifier.SetCustomHostName("custom-host-name"); //CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "log" }, "level", "debug"); //CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "requestParameters" }, "enabled", "true"); //CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "transactionTracer" }, "recordSql", "raw"); //CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "highSecurity" }, "enabled", "false"); //CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "service" }, "licenseKey", Configuration.License); }, exerciseApplication: () => { _fixture.GetWithData(QueryStringParameterValue); _fixture.ThrowException(); } ); _fixture.Initialize(); }
public AspNetCoreHSMEnabledWithCustomAttributesTests(HSMAspNetCoreWebApiCustomAttributesFixture fixture, ITestOutputHelper output) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "log" }, "level", "debug"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "highSecurity" }, "enabled", "true"); }, exerciseApplication: () => { _fixture.Get(); _fixture.AgentLog.WaitForLogLine(AgentLogFile.TransactionSampleLogLineRegex, TimeSpan.FromMinutes(2)); } ); _fixture.Initialize(); }
public PostgresAsyncLegacyAspPipelineTests(PostgresBasicMvcFixture fixture, ITestOutputHelper output) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var webConfigPath = Path.Combine(fixture.DestinationApplicationDirectoryPath, "web.config"); new WebConfigModifier(webConfigPath).ForceLegacyAspPipeline(); var newRelicConfigFilePath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(newRelicConfigFilePath); configModifier.ForceTransactionTraces(); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(newRelicConfigFilePath, new[] { "configuration", "transactionTracer" }, "explainThreshold", "1"); var instrumentationFilePath = $@"{fixture.DestinationNewRelicExtensionsDirectoryPath}\NewRelic.Providers.Wrapper.Sql.Instrumentation.xml"; CommonUtils.SetAttributeOnTracerFactoryInNewRelicInstrumentation( instrumentationFilePath, "", "enabled", "true"); }, exerciseApplication: () => { _fixture.GetPostgresAsync(); } ); _fixture.Initialize(); }
public MsSqlTestsBase(RemoteServiceFixtures.IMsSqlClientFixture fixture, ITestOutputHelper output, string expectedTransactionName) { _fixture = fixture; _fixture.TestLogger = output; _expectedTransactionName = expectedTransactionName; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "transactionTracer" }, "explainEnabled", "true"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "transactionTracer" }, "explainThreshold", "1"); var instrumentationFilePath = $@"{fixture.DestinationNewRelicExtensionsDirectoryPath}\NewRelic.Providers.Wrapper.Sql.Instrumentation.xml"; CommonUtils.SetAttributeOnTracerFactoryInNewRelicInstrumentation(instrumentationFilePath, "", "enabled", "true"); }, exerciseApplication: () => { _fixture.GetMsSql(); } ); _fixture.Initialize(); }
public BasicAspWebService(RemoteServiceFixtures.BasicAspWebService fixture, ITestOutputHelper output) : base(fixture) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions( setupConfiguration: () => { var newRelicConfig = _fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(newRelicConfig); configModifier.ForceTransactionTraces(); //The purpose of this custom instrumentation file is to ignore noisy transactions. var instrumentationFilePath = $@"{fixture.DestinationNewRelicExtensionsDirectoryPath}\CustomInstrumentation.xml"; CommonUtils.AddCustomInstrumentation(instrumentationFilePath, "System.Web.Extensions", "System.Web.Handlers.ScriptResourceHandler", "ProcessRequest", "NewRelic.Agent.Core.Tracer.Factories.IgnoreTransactionTracerFactory"); CommonUtils.AddCustomInstrumentation(instrumentationFilePath, "System.Web", "System.Web.Handlers.AssemblyResourceLoader", "GetAssemblyInfo", "NewRelic.Agent.Core.Tracer.Factories.IgnoreTransactionTracerFactory"); CommonUtils.AddCustomInstrumentation(instrumentationFilePath, "System.Web.Extensions", "System.Web.Script.Services.RestClientProxyHandler", "ProcessRequest", "NewRelic.Agent.Core.Tracer.Factories.IgnoreTransactionTracerFactory"); }, exerciseApplication: () => { _fixture.InvokeAsyncCall(); _fixture.AgentLog.WaitForLogLine(AgentLogBase.TransactionSampleLogLineRegex, TimeSpan.FromMinutes(2)); }); _fixture.Initialize(); }
public CouchbaseAsyncGetTests(RemoteServiceFixtures.CouchbaseBasicMvcFixture fixture, ITestOutputHelper output) : base(fixture) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); }, exerciseApplication: () => { _fixture.Couchbase_GetAsync(); _fixture.Couchbase_GetAndTouchAsync(); _fixture.Couchbase_GetDocumentAsync(); _fixture.Couchbase_GetFromReplicaAsync(); _fixture.Couchbase_GetWithLockAsync(); } ); _fixture.Initialize(); }
public StackExchangeRedisStrongNameTests(RemoteServiceFixtures.BasicMvcApplication fixture, ITestOutputHelper output) : base(fixture) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); var instrumentationFilePath = $@"{fixture.DestinationNewRelicExtensionsDirectoryPath}\NewRelic.Providers.Wrapper.Sql.Instrumentation.xml"; CommonUtils.SetAttributeOnTracerFactoryInNewRelicInstrumentation( instrumentationFilePath, "NewRelic.Agent.Core.Tracer.Factories.Sql.DataReaderTracerFactory", "enabled", "true"); }, exerciseApplication: () => { _fixture.GetStackExchangeRedisStrongName(); _fixture.GetStackExchangeRedisAsyncStrongName(); } ); _fixture.Initialize(); }
public CouchbaseUpsertTests(RemoteServiceFixtures.CouchbaseBasicMvcFixture fixture, ITestOutputHelper output) : base(fixture) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); }, exerciseApplication: () => { _fixture.Couchbase_Upsert(); _fixture.Couchbase_UpsertCASWithExpiration(); _fixture.Couchbase_UpsertReplicatePersist(); _fixture.Couchbase_UpsertReplicatePersistWithExpiration(); _fixture.Couchbase_UpsertCASReplicatePersistWithExpiration(); _fixture.Couchbase_UpsertMultiple(); _fixture.Couchbase_UpsertMultipleParallelOptions(); _fixture.Couchbase_UpsertMultipleParallelOptionsWithRangeSize(); _fixture.Couchbase_UpsertDocument(); } ); _fixture.Initialize(); }
// The base test class runs tests for Owin 2; the derived classes test Owin 3 and 4 protected OwinMiddlewareExceptionTestsBase(TFixture fixture, ITestOutputHelper output) : base(fixture) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "log" }, "level", "debug"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "requestParameters" }, "enabled", "true"); }, exerciseApplication: () => { _fixture.InvokeBadMiddleware(); _fixture.AgentLog.WaitForLogLine(AgentLogFile.AnalyticsEventDataLogLineRegex, TimeSpan.FromMinutes(2)); _fixture.AgentLog.WaitForLogLine(AgentLogFile.TransactionSampleLogLineRegex, TimeSpan.FromMinutes(2)); } ); _fixture.Initialize(); }
public CustomInstrumentationAsync(RemoteServiceFixtures.BasicMvcApplicationTestFixture fixture, ITestOutputHelper output) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); var instrumentationFilePath = $@"{fixture.DestinationNewRelicExtensionsDirectoryPath}\CustomInstrumentationAsync.xml"; CommonUtils.AddCustomInstrumentation(instrumentationFilePath, "BasicMvcApplication", "BasicMvcApplication.Controllers.CustomInstrumentationAsyncController", "CustomMethodDefaultWrapperAsync", "NewRelic.Providers.Wrapper.CustomInstrumentationAsync.DefaultWrapperAsync", "MyCustomMetricName", 7); CommonUtils.AddCustomInstrumentation(instrumentationFilePath, "BasicMvcApplication", "BasicMvcApplication.Controllers.CustomInstrumentationAsyncController", "CustomSegmentTransactionSegmentWrapper", "NewRelic.Providers.Wrapper.CustomInstrumentationAsync.CustomSegmentWrapperAsync"); CommonUtils.AddCustomInstrumentation(instrumentationFilePath, "BasicMvcApplication", "BasicMvcApplication.Controllers.CustomInstrumentationAsyncController", "CustomSegmentAlternateParameterNamingTheSegment", "NewRelic.Providers.Wrapper.CustomInstrumentationAsync.CustomSegmentWrapperAsync"); }, exerciseApplication: () => { _fixture.GetCustomInstrumentationAsync(); } ); _fixture.Initialize(); }
// The base test class runs tests for Owin 2; the derived classes test Owin 3 and 4 public OwinWebApiTests(RemoteServiceFixtures.OwinWebApiFixture fixture, ITestOutputHelper output) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "log" }, "level", "debug"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "requestParameters" }, "enabled", "true"); }, exerciseApplication: () => { _fixture.GetData(); _fixture.Get(); _fixture.Get404(); _fixture.GetId(); _fixture.Post(); _fixture.AgentLog.WaitForLogLine(AgentLogFile.AnalyticsEventDataLogLineRegex, TimeSpan.FromMinutes(2)); _fixture.AgentLog.WaitForLogLine(AgentLogFile.TransactionSampleLogLineRegex, TimeSpan.FromMinutes(2)); } ); _fixture.Initialize(); }
public InfiniteTracingTestsBase(TFixture fixture, ITestOutputHelper output) : base(fixture) { _fixture = fixture; _fixture.SetTimeout(System.TimeSpan.FromMinutes(2)); _fixture.TestLogger = output; _fixture.AddCommand($"InfiniteTracingTester StartAgent"); _fixture.AddCommand($"InfiniteTracingTester Make8TSpan"); _fixture.AddCommand($"InfiniteTracingTester Wait"); _fixture.Actions ( setupConfiguration: () => { var configModifier = new NewRelicConfigModifier(fixture.DestinationNewRelicConfigFilePath); configModifier.ForceTransactionTraces() .EnableDistributedTrace() .EnableInfinteTracing(_fixture.TestConfiguration.TraceObserverUrl) .SetLogLevel("finest"); } ); _fixture.Initialize(); }
public RestSharpInstrumentationDistributedTracing(RemoteServiceFixtures.BasicMvcApplicationTestFixture fixture, ITestOutputHelper output) : base(fixture) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.SetOrDeleteDistributedTraceEnabled(true); configModifier.ForceTransactionTraces(); }, exerciseApplication: () => { _fixture.GetRestSharpSyncClient(method: "GET", generic: false); _fixture.GetRestSharpSyncClient(method: "PUT", generic: false); _fixture.GetRestSharpSyncClient(method: "POST", generic: false); _fixture.GetRestSharpSyncClient(method: "DELETE", generic: false); _fixture.GetRestSharpClientTaskCancelled(); //Adding some time for metrics to be fully generated. Thread.Sleep(3000); } ); _fixture.Initialize(); }
public DTSupportabilityMetricTests(RemoteServiceFixtures.DTBasicMVCApplicationFixture fixture, ITestOutputHelper output) : base(fixture) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.SetOrDeleteDistributedTraceEnabled(true); configModifier.ForceTransactionTraces(); configModifier.SetOrDeleteSpanEventsEnabled(true); }, exerciseApplication: () => { _fixture.GenerateMajorVersionMetric(); _fixture.GenerateIgnoredNullMetric(); _fixture.GenerateParsePayloadMetric(); _fixture.GenerateAcceptSuccessMetric(); _fixture.GenerateUntrustedAccountMetric(); _fixture.GenerateCreateSuccessMetric(); } ); _fixture.Initialize(); }
public CouchbaseMiscTests(RemoteServiceFixtures.CouchbaseBasicMvcFixture fixture, ITestOutputHelper output) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); }, exerciseApplication: () => { _fixture.Couchbase_Unlock(); _fixture.Couchbase_Prepend(); _fixture.Couchbase_Append(); _fixture.Couchbase_Observe(); _fixture.Couchbase_Touch(); _fixture.Couchbase_Increment(); _fixture.Couchbase_Decrement(); _fixture.Couchbase_Exists(); _fixture.Couchbase_Invoke(); } ); _fixture.Initialize(); }
public NetStandardLibraryInstrumentation(TFixture fixture, ITestOutputHelper output) : base(fixture) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); var instrumentationXmlFilePath = Path.Combine(fixture.DestinationNewRelicExtensionsDirectoryPath, "TestCustomInstrumetnation.xml"); CommonUtils.AddCustomInstrumentation( instrumentationFilePath: instrumentationXmlFilePath, assemblyName: "NetStandardTestLibrary", typeName: "NetStandardTestLibrary.NetStandardTestLibUtil", methodName: "Test", wrapperName: "NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory"); _fixture.RemoteApplication.NewRelicConfig.SetLogLevel("finest"); _fixture.RemoteApplication.NewRelicConfig.ForceTransactionTraces(); _fixture.RemoteApplication.NewRelicConfig.SetOrDeleteDistributedTraceEnabled(true); _fixture.RemoteApplication.NewRelicConfig.SetCATEnabled(false); _fixture.AddCommand("AssemblyHelper LoadAssemblyFromFile NetStandardTestLibrary.dll"); _fixture.AddCommand($"NetStandardTestLibUtil Test {COUNT_ITERATIONS}"); } ); _fixture.Initialize(); }
public PostgresStoredProcedureAsyncCoreTests(PostgresBasicMvcCoreFixture fixture, ITestOutputHelper output) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); configModifier.SetLogLevel("finest"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "transactionTracer" }, "explainEnabled", "true"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "transactionTracer" }, "recordSql", "raw"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "transactionTracer" }, "explainThreshold", "1"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "datastoreTracer", "queryParameters" }, "enabled", "true"); }, exerciseApplication: () => { _fixture.PostgresParameterizedStoredProcedureAsync(_procedureName); _fixture.AgentLog.WaitForLogLine(AgentLogBase.TransactionTransformCompletedLogLineRegex); } ); _fixture.Initialize(); }
public ConnectResponseHandlingTests(MvcWithCollectorFixture fixture, ITestOutputHelper output) { _fixture = fixture; _fixture.TestLogger = output; _fixture.AddActions ( setupConfiguration: () => { var configModifier = new NewRelicConfigModifier(fixture.DestinationNewRelicConfigFilePath); configModifier.EnableSpanEvents(true); configModifier.ForceTransactionTraces(); configModifier.SetLogLevel("finest"); }, exerciseApplication: () => { _fixture.Get(); _fixture.AgentLog.WaitForLogLine(AgentLogFile.AgentConnectedLogLineRegex, TimeSpan.FromMinutes(1)); _fixture.AgentLog.WaitForLogLine(AgentLogFile.HarvestFinishedLogLineRegex, TimeSpan.FromMinutes(1)); _collectedRequests = _fixture.GetCollectedRequests(); _requestHeaderMapValidationData = _fixture.GetRequestHeaderMapValidationData(); } ); _fixture.Initialize(); }
public HighSecurityModeEnabled(RemoteServiceFixtures.HSMBasicMvcApplicationTestFixture fixture, ITestOutputHelper output) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); configModifier.SetLogLevel("debug"); configModifier.SetHighSecurityMode(true); configModifier.SetEnableRequestParameters(true); configModifier.SetTransactionTracerRecordSql("raw"); configModifier.SetCustomHostName("custom-host-name"); }, exerciseApplication: () => { _fixture.GetWithData(QueryStringParameterValue); _fixture.ThrowException(); } ); _fixture.Initialize(); }
public AspNetCoreLocalHSMEnabledAndServerSideHSMDisabledTests(RemoteServiceFixtures.AspNetCoreMvcBasicRequestsFixture fixture, ITestOutputHelper output) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "log" }, "level", "debug"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "requestParameters" }, "enabled", "true"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "service" }, "ssl", "false"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "transactionTracer" }, "recordSql", "raw"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "highSecurity" }, "enabled", "true"); }, exerciseApplication: () => { _fixture.GetWithData(QueryStringParameterValue); _fixture.ThrowException(); } ); _fixture.Initialize(); }
public RabbitMqLegacyReceiveTests(RemoteServiceFixtures.RabbitMqLegacyReceiverFixture fixture, ITestOutputHelper output) { _fixture = fixture; _fixture.TestLogger = output; _fixture.CommandLineArguments = $"--queue={_fixture.QueueName}"; _fixture.Actions ( setupConfiguration: () => { var configPath = _fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.SetLogLevel("all"); configModifier.ForceTransactionTraces(); }, exerciseApplication: () => { _fixture.CreateQueueAndSendMessage(); _fixture.AgentLog.WaitForLogLine(AgentLogBase.TransactionTransformCompletedLogLineRegex, TimeSpan.FromSeconds(30)); } ); _fixture.Initialize(); }
public CustomAttributesIgnored(RemoteServiceFixtures.CustomAttributesWebApi fixture, ITestOutputHelper output) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions(setupConfiguration: () => { var configPath = _fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "log" }, "level", "debug"); CommonUtils.AddXmlNodeInNewRelicConfig(configPath, new[] { "configuration", "attributes" }, "exclude", "*"); CommonUtils.AddXmlNodeInNewRelicConfig(configPath, new[] { "configuration", "attributes" }, "include", "name"); CommonUtils.AddXmlNodeInNewRelicConfig(configPath, new[] { "configuration", "attributes" }, "include", "foo"); CommonUtils.AddXmlNodeInNewRelicConfig(configPath, new[] { "configuration", "attributes" }, "include", "hey"); }, exerciseApplication: () => { _fixture.Get(); //This transaction trace will appear as error trace instead of transaction trace. _fixture.Get404(); _fixture.AgentLog.WaitForLogLine(AgentLogFile.TransactionSampleLogLineRegex, TimeSpan.FromMinutes(2)); } ); _fixture.Initialize(); }
public PostgresTests(PostgresBasicMvcFixture fixture, ITestOutputHelper output) : base(fixture) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "transactionTracer" }, "explainThreshold", "1"); var instrumentationFilePath = $@"{fixture.DestinationNewRelicExtensionsDirectoryPath}\NewRelic.Providers.Wrapper.Sql.Instrumentation.xml"; CommonUtils.SetAttributeOnTracerFactoryInNewRelicInstrumentation( instrumentationFilePath, "NewRelic.Agent.Core.Tracer.Factories.Sql.DataReaderTracerFactory", "enabled", "true"); }, exerciseApplication: () => { _fixture.GetPostgres(); } ); _fixture.Initialize(); }
// The base test class runs tests for Owin 2; the derived classes test Owin 3 and 4 protected OwinWebApiStatusCodeRollupTestsBase(TFixture fixture, ITestOutputHelper output) : base(fixture) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "log" }, "level", "debug"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "requestParameters" }, "enabled", "true"); }, exerciseApplication: () => { foreach (var bogusPath in bogusPaths) { _fixture.GetBogusPath(bogusPath); } _fixture.AgentLog.WaitForLogLine(AgentLogFile.MetricDataLogLineRegex, TimeSpan.FromMinutes(2)); } ); _fixture.Initialize(); }
public MsSqlQueryParameterCaptureTestsBase(RemoteServiceFixtures.IMsSqlClientFixture fixture, ITestOutputHelper output, string expectedTransactionName, bool paramsWithAtSigns) { _fixture = fixture; _fixture.TestLogger = output; _expectedTransactionName = expectedTransactionName; _paramsWithAtSigns = paramsWithAtSigns; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); configModifier.SetLogLevel("finest"); //This has to stay at finest to ensure parameter check security CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "transactionTracer" }, "explainEnabled", "true"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "transactionTracer" }, "explainThreshold", "1"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "transactionTracer" }, "recordSql", "raw"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "datastoreTracer", "queryParameters" }, "enabled", "true"); var instrumentationFilePath = $@"{fixture.DestinationNewRelicExtensionsDirectoryPath}\NewRelic.Providers.Wrapper.Sql.Instrumentation.xml"; CommonUtils.SetAttributeOnTracerFactoryInNewRelicInstrumentation(instrumentationFilePath, "", "enabled", "true"); }, exerciseApplication: () => { _fixture.GetMsSql_WithParameterizedQuery(_paramsWithAtSigns); } ); _fixture.Initialize(); }
public CatDisabledHeaderPresent(RemoteServiceFixtures.BasicMvcApplicationTestFixture fixture, ITestOutputHelper output) : base(fixture) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(_fixture.DestinationNewRelicConfigFilePath, new[] { "configuration" }, "crossApplicationTracingEnabled", "false"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(_fixture.DestinationNewRelicConfigFilePath, new[] { "configuration", "crossApplicationTracer" }, "enabled", "false"); }, exerciseApplication: () => { _fixture.GetIgnored(); _responseHeaders = _fixture.GetWithCatHeader(); } ); _fixture.Initialize(); }
public ChangeLogDirectoryTests(RemoteServiceFixtures.BasicMvcApplicationTestFixture fixture, ITestOutputHelper output) { _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); var testLoggingDirectory = Path.Combine("C:\\", "IntegrationTestWorkingDirectory", _fixture.UniqueFolderName, "TestLoggingDirectory"); Directory.CreateDirectory(testLoggingDirectory); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "log" }, "level", "info"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "log" }, "directory", testLoggingDirectory); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "log" }, "fileName", "dotNetAgent.log"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "log" }, "auditLog", "true"); }, exerciseApplication: () => { _fixture.Get(); } ); _fixture.Initialize(); }
public ChangeLogFilenameTestsBase(RemoteServiceFixtures.BasicMvcApplicationTestFixture fixture, ITestOutputHelper output, ConfigSettingTestCase testCase) : base(fixture) { _fixture = fixture; _fixture.TestLogger = output; _testCase = testCase; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "log" }, "level", "info"); if (_testCase == ConfigSettingTestCase.ConfigFile || _testCase == ConfigSettingTestCase.Both) { CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "log" }, "fileName", CustomLogFileNameFromConfig); } CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "log" }, "auditLog", "true"); }, exerciseApplication: () => { _fixture.Get(); } ); if (_testCase == ConfigSettingTestCase.EnvVar || _testCase == ConfigSettingTestCase.Both) { _fixture.SetAdditionalEnvironmentVariable("NEW_RELIC_LOG", CustomLogFileNameFromEnvVar); } _fixture.Initialize(); }
public MsSqlStoredProcedureUsingOleDbDriverTestsBase(OleDbBasicMvcFixture fixture, ITestOutputHelper output, bool paramsWithAtSigns) : base(fixture) { _paramsWithAtSigns = paramsWithAtSigns; _fixture = fixture; _fixture.TestLogger = output; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); configModifier.SetLogLevel("finest"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "transactionTracer" }, "explainEnabled", "true"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "transactionTracer" }, "recordSql", "raw"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "transactionTracer" }, "explainThreshold", "1"); CommonUtils.ModifyOrCreateXmlAttributeInNewRelicConfig(configPath, new[] { "configuration", "datastoreTracer", "queryParameters" }, "enabled", "true"); }, exerciseApplication: () => { _fixture.GetMsSqlParameterizedStoredProcedureUsingOleDbDriver(_paramsWithAtSigns); _fixture.AgentLog.WaitForLogLine(AgentLogBase.TransactionTransformCompletedLogLineRegex); } ); _fixture.Initialize(); }
public AspNetCoreMvcFrameworkTests(RemoteServiceFixtures.AspNetCoreMvcFrameworkFixture fixture, ITestOutputHelper output) : base(fixture) { _fixture = fixture; _fixture.TestLogger = output; _fixture.UseLocalConfig = true; _fixture.Actions ( setupConfiguration: () => { var configPath = fixture.DestinationNewRelicConfigFilePath; var configModifier = new NewRelicConfigModifier(configPath); configModifier.ForceTransactionTraces(); }, exerciseApplication: () => { _fixture.GetCORSPreflight(); _fixture.Get(); //We need to wait for a harvest cycle otherwise we do not always have enough time for the transaction //to complete and have all of its data included in the forced harvest during shutdown. _fixture.AgentLog.WaitForLogLine(AgentLogBase.TransactionSampleLogLineRegex, TimeSpan.FromMinutes(2)); } ); _fixture.Initialize(); }