JAMES-2099 Integration Test for swagger API
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/80dae302 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/80dae302 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/80dae302 Branch: refs/heads/master Commit: 80dae3025c8aaa99bc5fa88f00e34d37596144b7 Parents: f697263 Author: quynhn <qngu...@linagora.com> Authored: Tue Jul 25 10:54:17 2017 +0700 Committer: quynhn <qngu...@linagora.com> Committed: Mon Jul 31 10:56:08 2017 +0700 ---------------------------------------------------------------------- .../WebAdminServerIntegrationTest.java | 26 +++++++++++++++++--- .../webadmin/WebAdminConfigurationTest.java | 24 ++++++++++++++++++ 2 files changed, 47 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/80dae302/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationTest.java b/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationTest.java index afd47d4..4a1205d 100644 --- a/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationTest.java @@ -24,7 +24,11 @@ import static com.jayway.restassured.config.EncoderConfig.encoderConfig; import static com.jayway.restassured.config.RestAssuredConfig.newConfig; import static org.apache.james.webadmin.Constants.SEPARATOR; import static org.assertj.core.api.Assertions.assertThat; +import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.notNullValue; +import static org.hamcrest.Matchers.stringContainsInOrder; import org.apache.james.CassandraJmapTestRule; import org.apache.james.GuiceJamesServer; @@ -36,7 +40,7 @@ import org.apache.james.utils.WebAdminGuiceProbe; import org.apache.james.webadmin.routes.DomainRoutes; import org.apache.james.webadmin.routes.UserMailboxesRoutes; import org.apache.james.webadmin.routes.UserRoutes; -import org.apache.james.webadmin.service.CassandraMigrationService; +import org.apache.james.webadmin.swagger.routes.SwaggerRoutes; import org.junit.After; import org.junit.Before; @@ -44,8 +48,6 @@ import org.junit.Rule; import org.junit.Test; import com.google.common.base.Charsets; -import com.google.inject.AbstractModule; -import com.google.inject.name.Names; import com.jayway.restassured.RestAssured; import com.jayway.restassured.builder.RequestSpecBuilder; import com.jayway.restassured.http.ContentType; @@ -250,4 +252,22 @@ public class WebAdminServerIntegrationTest { .statusCode(200) .body(is("{\"version\":" + CassandraSchemaVersionManager.MAX_VERSION + "}")); } + + @Test + public void getSwaggerShouldReturnJsonDataForSwagger() throws Exception { + given() + .port(webAdminGuiceProbe.getWebAdminPort()) + .when() + .get(SwaggerRoutes.SWAGGER_ENDPOINT) + .then() + .statusCode(200) + .body(containsString("\"swagger\":\"2.0\"")) + .body(containsString("\"info\":{\"description\":\"All the web administration API for JAMES\",\"version\":\"V1.0\",\"title\":\"JAMES Web Admin API\"}")) + .body(containsString("\"tags\":[\"User's Mailbox\"]")) + .body(containsString("\"tags\":[\"GlobalQuota\"]")) + .body(containsString("\"tags\":[\"Domains\"]")) + .body(containsString("\"tags\":[\"Users\"]")) + ; + } + } http://git-wip-us.apache.org/repos/asf/james-project/blob/80dae302/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/WebAdminConfigurationTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/WebAdminConfigurationTest.java b/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/WebAdminConfigurationTest.java index 1030dcf..ab0649f 100644 --- a/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/WebAdminConfigurationTest.java +++ b/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/WebAdminConfigurationTest.java @@ -174,6 +174,30 @@ public class WebAdminConfigurationTest { } @Test + public void builderShouldDefineHostWithDefault() { + assertThat( + WebAdminConfiguration.builder() + .enabled() + .port(PORT) + .build()) + .extracting(WebAdminConfiguration::getHost) + .containsExactly(WebAdminConfiguration.DEFAULT_HOST); + } + + @Test + public void builderShouldDefineHostWithSetting() { + String host = "any.host"; + assertThat( + WebAdminConfiguration.builder() + .enabled() + .port(PORT) + .host(host) + .build()) + .extracting(WebAdminConfiguration::getHost) + .containsExactly(host); + } + + @Test public void shouldMatchBeanContract() { EqualsVerifier.forClass(WebAdminConfiguration.class).verify(); } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org