public void AddCloudFoundryActuators_IHostBuilder() { // Arrange var hostBuilder = new HostBuilder().ConfigureAppConfiguration(cbuilder => cbuilder.AddInMemoryCollection(ManagementSettings)); // Act var host = hostBuilder.AddCloudFoundryActuators(MediaTypeVersion.V1).Build(); var managementOptions = host.Services.GetServices <IManagementOptions>(); var filter = host.Services.GetServices <IStartupFilter>().FirstOrDefault(); // Assert Assert.Contains(managementOptions, t => t.GetType() == typeof(CloudFoundryManagementOptions)); if (Platform.IsWindows) { Assert.Single(host.Services.GetServices <ThreadDumpEndpoint>()); } else { Assert.Empty(host.Services.GetServices <ThreadDumpEndpoint>()); } if (Endpoint.HeapDump.EndpointServiceCollectionExtensions.IsHeapDumpSupported()) { Assert.Single(host.Services.GetServices <HeapDumpEndpoint>()); } else { Assert.Empty(host.Services.GetServices <HeapDumpEndpoint>()); } Assert.NotNull(filter); Assert.IsType <CloudFoundryActuatorsStartupFilter>(filter); }
public async Task AddCloudFoundryActuators_IHostBuilder_IStartupFilterFires() { // Arrange var hostBuilder = new HostBuilder() .ConfigureWebHost(c => c.UseTestServer().Configure(app => { })) .ConfigureAppConfiguration(cbuilder => cbuilder.AddInMemoryCollection(managementSettings)); // Act var host = await hostBuilder.AddCloudFoundryActuators(MediaTypeVersion.V1, ActuatorContext.ActuatorAndCloudFoundry).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.True(true); }
public async Task AddCloudFoundryActuatorsV1_IHostBuilder_IStartupFilterFires() { // Arrange var hostBuilder = new HostBuilder() .ConfigureWebHost(testServerWithRouting) .ConfigureAppConfiguration(cbuilder => cbuilder.AddInMemoryCollection(ManagementSettings)); // Act var host = await hostBuilder.AddCloudFoundryActuators(MediaTypeVersion.V1).StartAsync(); // Assert var response = host.GetTestServer().CreateClient().GetAsync("/cloudfoundryapplication"); Assert.Equal(System.Net.HttpStatusCode.OK, response.Result.StatusCode); response = host.GetTestServer().CreateClient().GetAsync("/cloudfoundryapplication/info"); Assert.Equal(System.Net.HttpStatusCode.OK, response.Result.StatusCode); response = host.GetTestServer().CreateClient().GetAsync("/cloudfoundryapplication/trace"); Assert.Equal(System.Net.HttpStatusCode.OK, response.Result.StatusCode); }