public void Should_not_replace_formatter_if_types_are_different_and_asked_not_to_replace() { // Arrange var formatter = new HealthStatusTextOutputFormatter(new HealthTextOptions { Encoding = Encoding.BigEndianUnicode }); var builder = new HealthBuilder() .OutputHealth.Using(formatter) .OutputHealth.Using <HealthStatusJsonOutputFormatter>(false); // Act var health = builder.Build(); // Assert health.OutputHealthFormatters.Count.Should().Be(2); }
/// <summary> /// Add the <see cref="IHealthOutputFormatter" /> allowing health checks to optionally be reported as plain text. /// </summary> /// <param name="healthFormattingBuilder"> /// The <see cref="IHealthOutputFormattingBuilder" /> used to configure formatting /// options. /// </param> /// <param name="setupAction">The plain text formatting options to use.</param> /// <returns> /// An <see cref="IHealthBuilder" /> that can be used to further configure App Metrics Health. /// </returns> public static IHealthBuilder AsPlainText( this IHealthOutputFormattingBuilder healthFormattingBuilder, Action <HealthTextOptions> setupAction = null) { if (healthFormattingBuilder == null) { throw new ArgumentNullException(nameof(healthFormattingBuilder)); } var options = new HealthTextOptions(); setupAction?.Invoke(options); var formatter = new HealthStatusTextOutputFormatter(); return(healthFormattingBuilder.Using(formatter)); }
public void Can_keep_existing_formatter_if_registered_more_than_once() { // Arrange var formatter = new HealthStatusTextOutputFormatter(new HealthTextOptions { Encoding = Encoding.BigEndianUnicode }); var builder = new HealthBuilder() .OutputHealth.Using(formatter) .OutputHealth.Using <HealthStatusTextOutputFormatter>(false); // Act var health = builder.Build(); // Assert health.OutputHealthFormatters.Count.Should().Be(1); health.OutputHealthFormatters.First().Should().BeSameAs(formatter); }