< Summary

Information
Class: Elsa.ExternalAuthentication.Services.ExternalAuthenticationHealthCheck
Assembly: Elsa.ExternalAuthentication
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.ExternalAuthentication/Services/ExternalAuthenticationHealthCheck.cs
Line coverage
83%
Covered lines: 10
Uncovered lines: 2
Coverable lines: 12
Total lines: 23
Line coverage: 83.3%
Branch coverage
50%
Covered branches: 4
Total branches: 8
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
CheckHealthAsync()50%5466.66%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.ExternalAuthentication/Services/ExternalAuthenticationHealthCheck.cs

#LineLine coverage
 1using Elsa.ExternalAuthentication.Contracts;
 2using Microsoft.Extensions.Diagnostics.HealthChecks;
 3
 4namespace Elsa.ExternalAuthentication.Services;
 5
 6/// <summary>Opt-in health bridge. It reports the latest redacted test observation and never performs provider traffic.<
 17public sealed class ExternalAuthenticationHealthCheck(
 18    IIdentityProviderConnectionRegistry registry,
 19    IConnectionObservationStore observations) : IHealthCheck
 10{
 11    public async Task<HealthCheckResult> CheckHealthAsync(HealthCheckContext context, CancellationToken cancellationToke
 12    {
 113        var registrySnapshot = await registry.GetAsync(string.Empty, cancellationToken);
 214        var enabled = registrySnapshot.Connections.Where(x => x.Connection.IsEnabled && x.Connection.ArchivedAt is null 
 115        if (enabled.Length == 0)
 016            return HealthCheckResult.Healthy("No enabled external identity provider connections.");
 17
 218        var latest = await Task.WhenAll(enabled.Select(x => observations.FindLatestAsync(x.Connection.Id, cancellationTo
 219        if (latest.Any(x => x?.Status == Models.ConnectionObservationStatus.Failed))
 120            return HealthCheckResult.Degraded("One or more explicitly tested connections last failed.");
 021        return HealthCheckResult.Healthy("Latest explicit connection tests contain no failures.");
 122    }
 23}