public async Task TestCallbacksAll() { var callbacks = new HealthMonitorCallbacks(_logger); var healthyCount = 0; var degradedCount = 0; var unhealthyCount = 0; callbacks.AddCallback("Check1", HealthMonitorStatus.Healthy, (result) => { healthyCount++; return(Task.CompletedTask); }); callbacks.AddCallback("Check2", HealthMonitorStatus.Degraded, (result) => { degradedCount++; return(Task.CompletedTask); }); callbacks.AddCallback("Check3", HealthMonitorStatus.Unhealthy, (result) => { unhealthyCount++; return(Task.CompletedTask); }); await callbacks.ProcessCallbacks(Data()); Assert.Equal(1, healthyCount); Assert.Equal(1, degradedCount); Assert.Equal(1, unhealthyCount); }
public async Task UnhealthyResultWithCallback() { var opts = Options(); opts.HealthChecks[0].Uri = "unhealthy"; var count = 0; var callbacks = new HealthMonitorCallbacks(_callbackLogger); callbacks.AddCallback("Check1", HealthMonitorStatus.Unhealthy, (result) => { count++; return(Task.CompletedTask); }); var data = await RunTest(opts, callbacks); Assert.Equal(3, data.MonitorResults.Count); Assert.Equal(HealthMonitorStatus.Unhealthy, data.MonitorResults["Check1"].Status); Assert.Equal(HealthMonitorStatus.Healthy, data.MonitorResults["Check2"].Status); Assert.Equal(HealthMonitorStatus.Healthy, data.MonitorResults["Check3"].Status); Assert.Equal(1, count); }