Address health check review feedback
Agent-Logs-Url: https://github.com/elsa-workflows/elsa-core/sessions/71c9cf76-ccac-4020-87f4-1e4122d34645 Co-authored-by: sfmskywalker <938393+sfmskywalker@users.noreply.github.com>
This commit is contained in:
parent
d2c2e5c429
commit
2ade23bc82
|
|
@ -27,6 +27,7 @@ public class ElsaWorkflowPersistenceHealthCheck(IServiceProvider serviceProvider
|
|||
var attemptedProbes = probeResults.Where(x => !x.Skipped).Select(x => x.StoreName).ToList();
|
||||
var successfulProbes = probeResults.Where(x => !x.Skipped && x.Exception == null).Select(x => x.StoreName).ToList();
|
||||
var skippedProbes = probeResults.Where(x => x.Skipped).Select(x => x.StoreName).ToList();
|
||||
var failedProbes = probeResults.Where(x => x.Exception != null).Select(x => x.StoreName).ToList();
|
||||
var failedProbe = probeResults.FirstOrDefault(x => x.Exception != null);
|
||||
if (failedProbe != null)
|
||||
{
|
||||
|
|
@ -78,6 +79,9 @@ public class ElsaWorkflowPersistenceHealthCheck(IServiceProvider serviceProvider
|
|||
if (attemptedProbes.Count > 0)
|
||||
data["attemptedProbes"] = string.Join(",", attemptedProbes);
|
||||
|
||||
if (failedProbes.Count > 0)
|
||||
data["failedProbes"] = string.Join(",", failedProbes);
|
||||
|
||||
if (skippedProbes.Count > 0)
|
||||
data["skippedProbes"] = string.Join(",", skippedProbes);
|
||||
|
||||
|
|
|
|||
|
|
@ -37,6 +37,11 @@ public class ElsaWorkflowPersistenceHealthCheckTests
|
|||
|
||||
Assert.Equal(HealthStatus.Healthy, result.Status);
|
||||
Assert.Equal("persistence", result.Data["category"]);
|
||||
Assert.Equal("workflow-definitions,workflow-instances,triggers,bookmark-queue", result.Data["probes"]);
|
||||
Assert.Equal("workflow-definitions,workflow-instances,triggers,bookmark-queue", result.Data["attemptedProbes"]);
|
||||
await _workflowDefinitionStore.Received(1).FindAsync(
|
||||
Arg.Is<WorkflowDefinitionFilter>(x => x.Id == "00000000-0000-0000-0000-000000000000"),
|
||||
Arg.Any<CancellationToken>());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -51,8 +56,9 @@ public class ElsaWorkflowPersistenceHealthCheckTests
|
|||
Assert.Equal("persistence", result.Data["category"]);
|
||||
Assert.Equal("triggers", result.Data["failedStore"]);
|
||||
Assert.Equal("triggers", result.Data["failedProbe"]);
|
||||
Assert.Equal("workflow-definitions,workflow-instances,triggers,bookmark-queue", result.Data["attemptedProbes"]);
|
||||
Assert.Equal("workflow-definitions,workflow-instances,bookmark-queue", result.Data["probes"]);
|
||||
Assert.Equal("workflow-definitions,workflow-instances,triggers,bookmark-queue", result.Data["attemptedProbes"]);
|
||||
Assert.Equal("triggers", result.Data["failedProbes"]);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
using Elsa.Extensions;
|
||||
using Elsa.Workflows.Runtime.Options;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
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>>());
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue