| File: Telemetry\TestTelemetryHelper.cs | Web Access |
| Project: src\tests\Aspire.Cli.Tests\Aspire.Cli.Tests.csproj (Aspire.Cli.Tests) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Aspire.Cli.Telemetry; using Microsoft.Extensions.Logging.Abstractions; namespace Aspire.Cli.Tests.Telemetry; /// <summary> /// Provides test helpers for creating telemetry instances. /// </summary> internal static class TestTelemetryHelper { /// <summary> /// Creates and initializes an <see cref="AspireCliTelemetry"/> instance for testing. /// </summary> public static AspireCliTelemetry CreateInitializedTelemetry() { var provider = new TestMachineInformationProvider(); var ciDetector = new TestCIEnvironmentDetector(); var telemetry = new AspireCliTelemetry(NullLogger<AspireCliTelemetry>.Instance, provider, ciDetector); telemetry.InitializeAsync().GetAwaiter().GetResult(); return telemetry; } /// <summary> /// Creates and initializes an <see cref="AspireCliTelemetry"/> instance for testing with custom activity source names. /// </summary> public static AspireCliTelemetry CreateInitializedTelemetry(string reportedSourceName, string diagnosticsSourceName) { var provider = new TestMachineInformationProvider(); var ciDetector = new TestCIEnvironmentDetector(); var telemetry = new AspireCliTelemetry(NullLogger<AspireCliTelemetry>.Instance, provider, ciDetector, reportedSourceName, diagnosticsSourceName); telemetry.InitializeAsync().GetAwaiter().GetResult(); return telemetry; } private sealed class TestMachineInformationProvider : IMachineInformationProvider { public Task<string?> GetOrCreateDeviceId() => Task.FromResult<string?>("test-device-id"); public Task<string> GetMacAddressHash() => Task.FromResult("test-mac-hash"); } private sealed class TestCIEnvironmentDetector : ICIEnvironmentDetector { public bool IsCIEnvironment() => false; } }