This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 583b7d4a584afe05f9a2c37ffabe68474e7e62d7 Author: Quan Tran <hqt...@linagora.com> AuthorDate: Wed Sep 21 15:33:25 2022 +0700 JAMES-3817 Integration tests for health check Make sure dead letter queue healthchecks are binded well --- ...itMQWebAdminServerIntegrationImmutableTest.java | 23 ++++++++++++++++++++++ ...moryWebAdminServerIntegrationImmutableTest.java | 23 ++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerIntegrationImmutableTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerIntegrationImmutableTest.java index 979407793e..8563add768 100644 --- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerIntegrationImmutableTest.java +++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerIntegrationImmutableTest.java @@ -24,9 +24,12 @@ import static io.restassured.RestAssured.when; import static io.restassured.RestAssured.with; import static org.apache.james.JamesServerExtension.Lifecycle.PER_CLASS; import static org.apache.james.webadmin.Constants.JSON_CONTENT_TYPE; +import static org.assertj.core.api.Assertions.assertThat; import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.is; +import java.util.List; + import org.apache.james.CassandraExtension; import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; @@ -40,6 +43,7 @@ import org.apache.james.modules.AwsS3BlobStoreExtension; import org.apache.james.modules.RabbitMQExtension; import org.apache.james.modules.blobstore.BlobStoreConfiguration; import org.apache.james.webadmin.integration.WebAdminServerIntegrationImmutableTest; +import org.apache.james.webadmin.routes.HealthCheckRoutes; import org.apache.james.webadmin.routes.TasksRoutes; import org.eclipse.jetty.http.HttpStatus; import org.junit.jupiter.api.Tag; @@ -117,4 +121,23 @@ class RabbitMQWebAdminServerIntegrationImmutableTest extends WebAdminServerInteg .body("additionalInformation.fixedInconsistencies", hasSize(0)) .body("additionalInformation.errors", hasSize(0)); } + + @Test + void healthCheckComponentsList() { + List<String> listComponentNames = + when() + .get(HealthCheckRoutes.HEALTHCHECK) + .then() + .statusCode(HttpStatus.OK_200) + .extract() + .body() + .jsonPath() + .getList("checks.componentName", String.class); + + assertThat(listComponentNames).containsOnly("Guice application lifecycle", "EmptyErrorMailRepository", + "RabbitMQ backend", "RabbitMQMailQueueDeadLetterQueueHealthCheck", + "RabbitMQEventBusDeadLetterQueueHealthCheck", "MailReceptionCheck", + "Cassandra backend", "EventDeadLettersHealthCheck", "MessageFastViewProjection", + "RabbitMQMailQueue BrowseStart", "OpenSearch Backend"); + } } diff --git a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryWebAdminServerIntegrationImmutableTest.java b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryWebAdminServerIntegrationImmutableTest.java index 094d4bf961..31046efbd5 100644 --- a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryWebAdminServerIntegrationImmutableTest.java +++ b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryWebAdminServerIntegrationImmutableTest.java @@ -19,14 +19,21 @@ package org.apache.james.webadmin.integration.memory; +import static io.restassured.RestAssured.when; import static org.apache.james.JamesServerExtension.Lifecycle.PER_CLASS; import static org.apache.james.data.UsersRepositoryModuleChooser.Implementation.DEFAULT; +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.List; import org.apache.james.JamesServerBuilder; import org.apache.james.JamesServerExtension; import org.apache.james.MemoryJamesConfiguration; import org.apache.james.MemoryJamesServerMain; import org.apache.james.webadmin.integration.WebAdminServerIntegrationImmutableTest; +import org.apache.james.webadmin.routes.HealthCheckRoutes; +import org.eclipse.jetty.http.HttpStatus; +import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; class MemoryWebAdminServerIntegrationImmutableTest extends WebAdminServerIntegrationImmutableTest { @@ -40,4 +47,20 @@ class MemoryWebAdminServerIntegrationImmutableTest extends WebAdminServerIntegra .server(MemoryJamesServerMain::createServer) .lifeCycle(PER_CLASS) .build(); + + @Test + void healthCheckComponentsList() { + List<String> listComponentNames = + when() + .get(HealthCheckRoutes.HEALTHCHECK) + .then() + .statusCode(HttpStatus.OK_200) + .extract() + .body() + .jsonPath() + .getList("checks.componentName", String.class); + + assertThat(listComponentNames).containsOnly("Guice application lifecycle", "MailReceptionCheck", + "EventDeadLettersHealthCheck", "EmptyErrorMailRepository", "MessageFastViewProjection"); + } } \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org