in src/LibraryTest/Library/ConfigurationTests.cs [14:60]
public void ConfigurationTests_DefaultConfigurationIsCorrect()
{
// ARRANGE
string defaultConfig;
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "Microsoft.IstioMixerPlugin.LibraryTest.IstioMixerPlugin.config";
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
{
using (StreamReader reader = new StreamReader(stream))
{
defaultConfig = reader.ReadToEnd();
}
}
Environment.SetEnvironmentVariable("ISTIO_MIXER_PLUGIN_AI_INSTRUMENTATIONKEY", null, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("ISTIO_MIXER_PLUGIN_AI_ADAPTIVE_SAMPLING_LIMIT", "25", EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("ISTIO_MIXER_PLUGIN_WATCHLIST_NAMESPACES", null, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("ISTIO_MIXER_PLUGIN_WATCHLIST_NAMESPACES_IGNORED", null, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("ISTIO_MIXER_PLUGIN_TELEMETRY_CHANNEL_ENDPOINT", null, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("ISTIO_MIXER_PLUGIN_QUICKPULSE_SERVICE_ENDPOINT", null, EnvironmentVariableTarget.Process);
// ACT
var config = new Configuration(defaultConfig);
// ASSERT
Assert.AreEqual("0.0.0.0", config.Host);
Assert.AreEqual(6789, config.Port);
Assert.AreEqual("%ISTIO_MIXER_PLUGIN_AI_INSTRUMENTATIONKEY%", config.InstrumentationKey);
Assert.AreEqual("%ISTIO_MIXER_PLUGIN_AI_LIVE_METRICS_STREAM_AUTH_KEY%", config.LiveMetricsStreamAuthenticationApiKey);
Assert.AreEqual("%ISTIO_MIXER_PLUGIN_WATCHLIST_NAMESPACES%", config.Watchlist_Namespaces.Single());
Assert.AreEqual("%ISTIO_MIXER_PLUGIN_WATCHLIST_NAMESPACES_IGNORED%", config.Watchlist_IgnoredNamespaces.Single());
Assert.AreEqual("%ISTIO_MIXER_PLUGIN_TELEMETRY_CHANNEL_ENDPOINT%", config.Endpoints_TelemetryChannelEndpoint);
Assert.AreEqual("%ISTIO_MIXER_PLUGIN_QUICKPULSE_SERVICE_ENDPOINT%", config.Endpoints_QuickPulseServiceEndpoint);
Assert.AreEqual(true, config.AdaptiveSampling_Enabled);
Assert.AreEqual(10, config.AdaptiveSampling_MaxEventsPerSecond);
Assert.AreEqual(25, config.AdaptiveSampling_MaxOtherItemsPerSecond);
Environment.SetEnvironmentVariable("ISTIO_MIXER_PLUGIN_AI_INSTRUMENTATIONKEY", null, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("ISTIO_MIXER_PLUGIN_AI_ADAPTIVE_SAMPLING_LIMIT", null, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("ISTIO_MIXER_PLUGIN_WATCHLIST_NAMESPACES", null, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("ISTIO_MIXER_PLUGIN_WATCHLIST_NAMESPACES_IGNORED", null, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("ISTIO_MIXER_PLUGIN_TELEMETRY_CHANNEL_ENDPOINT", null, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("ISTIO_MIXER_PLUGIN_QUICKPULSE_SERVICE_ENDPOINT", null, EnvironmentVariableTarget.Process);
}