public async Task Can_apply_ascii_health_formatting() { // Arrange var health = new HealthBuilder() .OutputHealth.AsPlainText() .HealthChecks.AddCheck("test", () => new ValueTask <HealthCheckResult>(HealthCheckResult.Healthy())) .Build(); var serializer = new HealthStatusSerializer(); // Act var healthStatus = await health.HealthCheckRunner.ReadAsync(); using (var sw = new StringWriter()) { using (var writer = new HealthStatusTextWriter(sw)) { serializer.Serialize(writer, healthStatus); } // Assert sw.ToString().Should().Be( "# OVERALL STATUS: Healthy\n--------------------------------------------------------------\n# CHECK: test\n\n MESSAGE = OK\n STATUS = Healthy\n--------------------------------------------------------------\n"); } }
public Task WriteAsync( Stream output, HealthStatus healthStatus, CancellationToken cancellationToken = default) { if (output == null) { throw new ArgumentNullException(nameof(output)); } var serializer = new HealthStatusSerializer(); using (var stringWriter = new StreamWriter(output, _options.Encoding)) { using (var textWriter = new HealthStatusTextWriter(stringWriter, _options.Separator, _options.Padding)) { serializer.Serialize(textWriter, healthStatus); } } #if !NETSTANDARD1_6 return(AppMetricsHealthTaskHelper.CompletedTask()); #else return(Task.CompletedTask); #endif }
public HealthStatusSerializationTests(ITestOutputHelper output) { _output = output; _serializer = new HealthStatusSerializer(new TestClock()); var healthyOne = new HealthCheck.Result("test_one_healthy", HealthCheckResult.Healthy("first check was good")); var healthyTwo = new HealthCheck.Result("test_two_healthy", HealthCheckResult.Healthy("second check was good")); var unhealthyOne = new HealthCheck.Result("test_three_unhealthy", HealthCheckResult.Unhealthy("something failed")); var unhealthyTwo = new HealthCheck.Result("test_four_unhealthy", HealthCheckResult.Unhealthy("something else failed")); var degradedOne = new HealthCheck.Result("test_five_degraded", HealthCheckResult.Degraded("degrading service")); var checks = new[] { healthyOne, healthyTwo, unhealthyOne, unhealthyTwo, degradedOne }; _healthStatus = new HealthStatus(checks); }