public void SetTransactionSampleRateTest() { Environment.SetEnvironmentVariable(EnvVarNames.TransactionSampleRate, "0.789"); var config = new EnvironmentConfigurationReader(); config.TransactionSampleRate.Should().Be(0.789); }
public void SpanFramesMinDurationDefaultValuesInSync() { Environment.SetEnvironmentVariable(EnvVarNames.SpanFramesMinDuration, DefaultValues.SpanFramesMinDuration); var config = new EnvironmentConfigurationReader(new NoopLogger()); config.SpanFramesMinDurationInMilliseconds.Should().Be(DefaultValues.SpanFramesMinDurationInMilliseconds); }
public void TransactionMaxSpansTest(string configurationValue, int expectedValue) { Environment.SetEnvironmentVariable(EnvVarNames.TransactionMaxSpans, configurationValue); var reader = new EnvironmentConfigurationReader(); reader.TransactionMaxSpans.Should().Be(expectedValue); }
public void SetCaptureHeadersTest() { Environment.SetEnvironmentVariable(EnvVarNames.CaptureHeaders, "false"); var config = new EnvironmentConfigurationReader(); config.CaptureHeaders.Should().Be(false); }
private static double MetricsIntervalTestCommon(string configValue) { Environment.SetEnvironmentVariable(EnvVarNames.MetricsInterval, configValue); var testLogger = new TestLogger(); var config = new EnvironmentConfigurationReader(testLogger); return(config.MetricsIntervalInMilliseconds); }
public void TransactionSampleRateExpectsDotForFloatingPoint() { Environment.SetEnvironmentVariable(EnvVarNames.TransactionSampleRate, "0,789"); var config = new EnvironmentConfigurationReader(); // Since comma was used instead of dot then default value will be used config.TransactionSampleRate.Should().Be(DefaultValues.TransactionSampleRate); }
public void SpanFramesMinDurationDefaultValuesInSync() { Environment.SetEnvironmentVariable(EnvVarNames.MetricsInterval, DefaultValues.SpanFramesMinDuration); var testLogger = new TestLogger(); var config = new EnvironmentConfigurationReader(testLogger); config.SpanFramesMinDurationInMilliseconds.Should().Be(DefaultValues.SpanFramesMinDurationInMilliseconds); }
public void SetSpanFramesMinDurationAndStackTraceLimit() { Environment.SetEnvironmentVariable(EnvVarNames.SpanFramesMinDuration, DefaultValues.SpanFramesMinDuration); Environment.SetEnvironmentVariable(EnvVarNames.StackTraceLimit, DefaultValues.StackTraceLimit.ToString()); var config = new EnvironmentConfigurationReader(new NoopLogger()); config.SpanFramesMinDurationInMilliseconds.Should().Be(DefaultValues.SpanFramesMinDurationInMilliseconds); config.StackTraceLimit.Should().Be(DefaultValues.StackTraceLimit); }
public void SetCloudProviderTest() { foreach (var value in SupportedValues.CloudProviders) { Environment.SetEnvironmentVariable(EnvVarNames.CloudProvider, value); var config = new EnvironmentConfigurationReader(); config.CloudProvider.Should().Be(value); } }
public void LoggerNotNull() { Environment.SetEnvironmentVariable(EnvVarNames.ServerUrls, "localhost"); //invalid, it should be "http://localhost" var testLogger = new TestLogger(); var config = new EnvironmentConfigurationReader(testLogger); var serverUrl = config.ServerUrls.FirstOrDefault(); serverUrl.Should().NotBeNull(); testLogger.Lines.Should().NotBeEmpty(); }
public void SetCaptureBodyTest() { //Possible values : "off", "all", "errors", "transactions" foreach (var value in SupportedValues.CaptureBodySupportedValues) { Environment.SetEnvironmentVariable(EnvVarNames.CaptureBody, value); var config = new EnvironmentConfigurationReader(); config.CaptureBody.Should().Be(value); } }
public void LoggerNotNull() { Environment.SetEnvironmentVariable(ConfigConsts.ConfigKeys.Urls, "localhost"); //invalid, it should be "http://localhost" var testLogger = new TestLogger(); var config = new EnvironmentConfigurationReader(testLogger); var serverUrl = config.ServerUrls.FirstOrDefault(); Assert.NotNull(serverUrl); Assert.NotEmpty(testLogger.Lines); }
public void SetCaptureBodyContentTypesTest() { // var contentType = "application/x-www-form-urlencoded*"; Environment.SetEnvironmentVariable(EnvVarNames.CaptureBodyContentTypes, contentType); var config = new EnvironmentConfigurationReader(); config.CaptureBodyContentTypes.Should().HaveCount(1); config.CaptureBodyContentTypes[0].Should().Be(contentType); Environment.SetEnvironmentVariable(EnvVarNames.CaptureBodyContentTypes, "application/x-www-form-urlencoded*, text/*, application/json*, application/xml*"); config = new EnvironmentConfigurationReader(); config.CaptureBodyContentTypes.Should().HaveCount(4); config.CaptureBodyContentTypes[0].Should().Be("application/x-www-form-urlencoded*"); config.CaptureBodyContentTypes[1].Should().Be("text/*"); config.CaptureBodyContentTypes[2].Should().Be("application/json*"); config.CaptureBodyContentTypes[3].Should().Be("application/xml*"); }
public void Should_Update_Logger_That_Is_ILogLevelSwitchable() { var testLogger = new ConsoleLogger(LogLevel.Trace); var environmentConfigurationReader = new EnvironmentConfigurationReader(); var configSnapshotFromReader = new ConfigSnapshotFromReader(environmentConfigurationReader, "local"); var configStore = new ConfigStore(configSnapshotFromReader, testLogger); var service = Service.GetDefaultService(environmentConfigurationReader, testLogger); var waitHandle = new ManualResetEvent(false); var handler = new MockHttpMessageHandler(); var configUrl = BackendCommUtils.ApmServerEndpoints .BuildGetConfigAbsoluteUrl(environmentConfigurationReader.ServerUrl, service); handler.When(configUrl.AbsoluteUri) .Respond(_ => { waitHandle.Set(); return(new HttpResponseMessage(HttpStatusCode.OK) { Headers = { ETag = new EntityTagHeaderValue("\"etag\"") }, Content = new StringContent("{ \"log_level\": \"error\" }", Encoding.UTF8) }); }); var centralConfigFetcher = new CentralConfigFetcher(testLogger, configStore, service, handler); using (var agent = new ApmAgent(new TestAgentComponents(testLogger, centralConfigFetcher: centralConfigFetcher, payloadSender: new NoopPayloadSender()))) { centralConfigFetcher.IsRunning.Should().BeTrue(); waitHandle.WaitOne(); Thread.Sleep(TimeSpan.FromSeconds(3)); } testLogger.LogLevelSwitch.Level.Should().Be(LogLevel.Error); }
public void DefaultTransactionMaxSpansTest() { var reader = new EnvironmentConfigurationReader(); reader.TransactionMaxSpans.Should().Be(DefaultValues.TransactionMaxSpans); }
public void DefaultCloudProviderEnvironmentTest() { var reader = new EnvironmentConfigurationReader(); reader.CloudProvider.Should().Be(DefaultValues.CloudProvider); }