63 lines
2.2 KiB
C#
63 lines
2.2 KiB
C#
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
using IntegrationTests.Helpers;
|
|
using Xunit.Abstractions;
|
|
|
|
namespace IntegrationTests;
|
|
|
|
public class PluginsTests : TestHelper
|
|
{
|
|
public PluginsTests(ITestOutputHelper output)
|
|
: base("Plugins", output)
|
|
{
|
|
}
|
|
|
|
[Fact]
|
|
[Trait("Category", "EndToEnd")]
|
|
public void InitPlugin()
|
|
{
|
|
SetEnvironmentVariable("OTEL_DOTNET_AUTO_PLUGINS", "TestApplication.Plugins.Plugin, TestApplication.Plugins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null");
|
|
|
|
var (standardOutput, _, _) = RunTestApplication();
|
|
|
|
Assert.Contains("Plugin.Initializing() invoked.", standardOutput);
|
|
}
|
|
|
|
[Fact]
|
|
[Trait("Category", "EndToEnd")]
|
|
public void SubmitsTraces()
|
|
{
|
|
using var collector = new MockSpansCollector(Output);
|
|
SetExporter(collector);
|
|
collector.Expect("MyCompany.MyProduct.MyLibrary");
|
|
#if NETFRAMEWORK
|
|
collector.Expect("OpenTelemetry.Instrumentation.Http.HttpWebRequest", span => span.Attributes.Any(att => att.Key == "example.plugin"));
|
|
#else
|
|
collector.Expect("System.Net.Http", span => span.Attributes.Any(att => att.Key == "example.plugin"));
|
|
#endif
|
|
|
|
SetEnvironmentVariable("OTEL_DOTNET_AUTO_PLUGINS", "TestApplication.Plugins.Plugin, TestApplication.Plugins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null");
|
|
var (standardOutput, _, _) = RunTestApplication();
|
|
|
|
collector.AssertExpectations();
|
|
Assert.Contains("Plugin.ConfigureTracesOptions(OtlpExporterOptions options) invoked.", standardOutput);
|
|
}
|
|
|
|
[Fact]
|
|
[Trait("Category", "EndToEnd")]
|
|
public void SubmitMetrics()
|
|
{
|
|
using var collector = new MockMetricsCollector(Output);
|
|
SetExporter(collector);
|
|
collector.Expect("MyCompany.MyProduct.MyLibrary");
|
|
|
|
SetEnvironmentVariable("OTEL_DOTNET_AUTO_PLUGINS", "TestApplication.Plugins.Plugin, TestApplication.Plugins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null");
|
|
|
|
var (standardOutput, _, _) = RunTestApplication();
|
|
|
|
collector.AssertExpectations();
|
|
Assert.Contains("Plugin.ConfigureMetricsOptions(OtlpExporterOptions options) invoked.", standardOutput);
|
|
}
|
|
}
|