protected void Application_Start(object sender, EventArgs e) { var builder = new ContainerBuilder(); builder.RegisterType <Service1>().As <IService1>(); builder.RegisterType <MyHealthCheckService>(); var container = builder.Build(); AutofacHostFactory.Container = container; AutofacHostFactory.HostConfigurationAction = HealthCheckExtensions.AddHealthCheckEndpoint(); }
public void HealthCheckShouldReturnHealthJson() { // Arrange // var expectedJson = "{\r\n \"serverVersion\": \"" + SolutionInfo.Version + "\",\r\n \"status\": \"Healthy\",\r\n \"totalDuration\": \"00:00:01.1490236\",\r\n \"results\": {\r\n \"database\": {\r\n \"status\": \"Healthy\",\r\n \"description\": null,\r\n \"data\": {}\r\n },\r\n \"location\": {\r\n \"status\": \"Healthy\",\r\n \"description\": null,\r\n \"data\": {}\r\n }\r\n }\r\n}"; var reports = new Dictionary <string, HealthReportEntry> { { "database", new HealthReportEntry(HealthStatus.Healthy, null, TimeSpan.FromSeconds(1), null, null) }, { "location", new HealthReportEntry(HealthStatus.Healthy, null, TimeSpan.FromSeconds(1), null, null) } }; var report = new HealthReport( new ReadOnlyDictionary <string, HealthReportEntry>(reports), TimeSpan.FromMilliseconds(1149.0236)); HttpContext context = new DefaultHttpContext(); context.Response.Body = new MemoryStream(); // Act // HealthCheckExtensions.WriteHealthResultResponse(context, report); var code = context.Response.StatusCode; context.Response.Body.Position = 0; var result = new StreamReader(context.Response.Body, Encoding.UTF8).ReadToEnd(); //Assert // Assert.Equal(200, code); Assert.Equal(expectedJson, result, true, true, true); }
public void Validate(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase) { HealthCheckExtensions.AddHealthCheckEndpoint(serviceHostBase); }
public void IgnoreNullHealthCheck() { Assert.False(HealthCheckExtensions.NeedsStatusCheck(null)); }