public async Task AddHealthActuator_IHostBuilder_IStartupFilterFireRegistersAvailabilityEvents() { // Arrange var hostBuilder = new HostBuilder().ConfigureWebHost(testServerWithRouting); // start the server, get a client var host = await hostBuilder.AddHealthActuator().StartAsync(); var client = host.GetTestClient(); // request liveness & readiness in order to validate the ApplicationAvailability has been set as expected var livenessResult = await client.GetAsync("actuator/health/liveness"); var readinessResult = await client.GetAsync("actuator/health/readiness"); Assert.Equal(HttpStatusCode.OK, livenessResult.StatusCode); Assert.Contains("\"LivenessState\":\"CORRECT\"", await livenessResult.Content.ReadAsStringAsync()); Assert.Equal(HttpStatusCode.OK, readinessResult.StatusCode); Assert.Contains("\"ReadinessState\":\"ACCEPTING_TRAFFIC\"", await readinessResult.Content.ReadAsStringAsync()); // confirm that the Readiness state will be changed to refusing traffic when ApplicationStopping fires var availability = host.Services.GetService <ApplicationAvailability>(); await host.StopAsync(); Assert.Equal(LivenessState.Correct, availability.GetLivenessState()); Assert.Equal(ReadinessState.RefusingTraffic, availability.GetReadinessState()); }
public async Task AddHealthActuator_IHostBuilder_IStartupFilterFires() { var hostBuilder = new HostBuilder().ConfigureWebHost(_testServerWithRouting); var host = await hostBuilder.AddHealthActuator().StartAsync(); var response = await host.GetTestServer().CreateClient().GetAsync("/actuator/health"); Assert.Equal(HttpStatusCode.OK, response.StatusCode); }
public void AddHealthActuator_IHostBuilder() { var hostBuilder = new HostBuilder(); var host = hostBuilder.AddHealthActuator().Build(); var managementEndpoint = host.Services.GetServices <HealthEndpointCore>(); var filter = host.Services.GetServices <IStartupFilter>().FirstOrDefault(); Assert.Single(managementEndpoint); Assert.NotNull(filter); Assert.IsType <AllActuatorsStartupFilter>(filter); }
public void AddHealthActuator_IHostBuilder_WithAggregator() { var hostBuilder = new HostBuilder(); var host = hostBuilder.AddHealthActuator(new DefaultHealthAggregator(), new Type[] { typeof(DownContributor) }).Build(); var managementEndpoint = host.Services.GetServices <HealthEndpointCore>(); var filter = host.Services.GetServices <IStartupFilter>().FirstOrDefault(); Assert.Single(managementEndpoint); Assert.NotNull(filter); Assert.IsType <AllActuatorsStartupFilter>(filter); }
public async Task AddHealthActuator_IHostBuilder_IStartupFilterFires() { // Arrange var hostBuilder = new HostBuilder().ConfigureWebHost(testServerWithRouting); // Act var host = await hostBuilder.AddHealthActuator().StartAsync(); // Assert var response = host.GetTestServer().CreateClient().GetAsync("/actuator/health"); Assert.Equal(System.Net.HttpStatusCode.OK, response.Result.StatusCode); }
public async Task AddHealthActuator_IHostBuilder_IStartupFilterFires() { // Arrange var hostBuilder = new HostBuilder() .ConfigureWebHost(c => c.UseTestServer().Configure(app => { })); // Act var host = await hostBuilder.AddHealthActuator().StartAsync(); // Assert general success... // not sure how to actually validate the StartupFilter worked, // but debug through and you'll see it. Also the code coverage report should provide validation Assert.NotNull(host.Services.GetService <HealthEndpointCore>()); }