Esempio n. 1
0
        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);
        }
Esempio n. 5
0
        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>());
        }