elsa-core/test/unit/Elsa.Workflows.Runtime.UnitTests/HealthChecks/HealthCheckExtensionsTests.cs
2026-05-21 01:47:46 +02:00

43 lines
1.4 KiB
C#

using Elsa.Extensions;
using Elsa.Workflows.Runtime.Options;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Diagnostics.HealthChecks;
using Microsoft.Extensions.Options;
namespace Elsa.Workflows.Runtime.UnitTests.HealthChecks;
public class HealthCheckExtensionsTests
{
[Fact]
public void AddElsaReadinessChecksRegistersReadinessOptions()
{
var services = new ServiceCollection();
services
.AddHealthChecks()
.AddElsaReadinessChecks(includePersistence: false, includeDistributedLocks: true);
using var serviceProvider = services.BuildServiceProvider();
Assert.NotNull(serviceProvider.GetRequiredService<IOptions<ElsaReadinessHealthCheckOptions>>());
}
[Fact]
public void AddElsaReadinessChecksUsesElsaSpecificReadinessTag()
{
var services = new ServiceCollection();
services
.AddHealthChecks()
.AddElsaReadinessChecks(includePersistence: false);
using var serviceProvider = services.BuildServiceProvider();
var registrations = serviceProvider.GetRequiredService<IOptions<HealthCheckServiceOptions>>().Value.Registrations;
var registration = Assert.Single(registrations);
Assert.Contains("elsa", registration.Tags);
Assert.Contains(HealthCheckExtensions.ReadinessTag, registration.Tags);
Assert.DoesNotContain("readiness", registration.Tags);
}
}