Premiere commit - Omika
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Omika.Core;
|
||||
using Omika.Core.Observability;
|
||||
|
||||
namespace Omika.Tests.Observability;
|
||||
|
||||
public class ObservabilityCompositionTests
|
||||
{
|
||||
[Fact]
|
||||
public void AddOmikaTelemetry_ResolvesNullTelemetryService()
|
||||
{
|
||||
var services = new ServiceCollection();
|
||||
services.AddOmikaTelemetry();
|
||||
|
||||
using ServiceProvider provider = services.BuildServiceProvider();
|
||||
|
||||
var telemetry = provider.GetRequiredService<IOmikaTelemetry>();
|
||||
Assert.IsType<NullTelemetryService>(telemetry);
|
||||
Assert.Same(telemetry, provider.GetRequiredService<IEventTracker>());
|
||||
Assert.Same(telemetry, provider.GetRequiredService<IDiagnosticLogger>());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AddOmikaTelemetrySink_ResolvesFullPipeline()
|
||||
{
|
||||
var services = new ServiceCollection();
|
||||
services.AddOmikaTelemetrySink();
|
||||
|
||||
using ServiceProvider provider = services.BuildServiceProvider();
|
||||
|
||||
Assert.IsType<SafeTelemetrySink>(provider.GetRequiredService<IOmikaTelemetry>());
|
||||
Assert.IsType<NullTelemetryExporter>(provider.GetRequiredService<ITelemetryExporter>());
|
||||
Assert.NotNull(provider.GetRequiredService<PriorityTelemetryQueue>());
|
||||
Assert.NotNull(provider.GetRequiredService<TelemetryWorker>());
|
||||
Assert.NotNull(provider.GetRequiredService<TelemetryCounters>());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AddOmikaTelemetrySink_AppliesConfigure()
|
||||
{
|
||||
var services = new ServiceCollection();
|
||||
services.AddOmikaTelemetrySink(o => o.Enabled = false);
|
||||
|
||||
using ServiceProvider provider = services.BuildServiceProvider();
|
||||
|
||||
IOmikaTelemetry telemetry = provider.GetRequiredService<IOmikaTelemetry>();
|
||||
var sink = Assert.IsType<SafeTelemetrySink>(telemetry);
|
||||
|
||||
sink.Track(ObservabilityTestHarness.NewEvent(TelemetryEventCodes.MobileAppStarted));
|
||||
Assert.Equal(1L, sink.Counters.DroppedDisabled);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user