JAMES-2293 Webadmin utils should return a ready to use webadmin server
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/abf91be4 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/abf91be4 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/abf91be4 Branch: refs/heads/master Commit: abf91be4c6cd82bcad087157f072c09e7db1bfe4 Parents: 3cdb5ad Author: benwa <[email protected]> Authored: Mon Jan 22 15:22:29 2018 +0700 Committer: benwa <[email protected]> Committed: Thu Jan 25 11:39:29 2018 +0700 ---------------------------------------------------------------------- server/container/guice/cassandra-guice/pom.xml | 6 ++ .../apache/james/FixingGhostMailboxTest.java | 22 +++--- .../apache/james/utils/WebAdminGuiceProbe.java | 5 +- .../transport/mailets/GroupMappingTest.java | 65 +++++++++-------- .../integration/JwtFilterIntegrationTest.java | 15 +--- .../WebAdminServerIntegrationTest.java | 73 +++++--------------- .../routes/CassandraMigrationRoutesTest.java | 2 +- .../apache/james/webadmin/WebAdminUtils.java | 8 ++- .../james/webadmin/routes/TasksRoutesTest.java | 2 +- .../webadmin/routes/DomainsRoutesTest.java | 2 +- .../james/webadmin/routes/GroupsRoutesTest.java | 2 +- .../james/webadmin/routes/UsersRoutesTest.java | 2 +- .../webadmin/routes/GlobalQuotaRoutesTest.java | 2 +- .../routes/UserMailboxesRoutesTest.java | 2 +- .../routes/MailRepositoriesRoutesTest.java | 2 +- 15 files changed, 88 insertions(+), 122 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/abf91be4/server/container/guice/cassandra-guice/pom.xml ---------------------------------------------------------------------- diff --git a/server/container/guice/cassandra-guice/pom.xml b/server/container/guice/cassandra-guice/pom.xml index fc3bd28..77c4239 100644 --- a/server/container/guice/cassandra-guice/pom.xml +++ b/server/container/guice/cassandra-guice/pom.xml @@ -190,6 +190,12 @@ </dependency> <dependency> <groupId>${project.groupId}</groupId> + <artifactId>james-server-webadmin-core</artifactId> + <type>test-jar</type> + <scope>test</scope> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> <artifactId>metrics-es-reporter</artifactId> <version>${project.version}</version> </dependency> http://git-wip-us.apache.org/repos/asf/james-project/blob/abf91be4/server/container/guice/cassandra-guice/src/test/java/org/apache/james/FixingGhostMailboxTest.java ---------------------------------------------------------------------- diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/FixingGhostMailboxTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/FixingGhostMailboxTest.java index 9b3220b..036ee10 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/FixingGhostMailboxTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/FixingGhostMailboxTest.java @@ -69,6 +69,7 @@ import org.apache.james.utils.JmapGuiceProbe; import org.apache.james.utils.WebAdminGuiceProbe; import org.apache.james.webadmin.RandomPortSupplier; import org.apache.james.webadmin.WebAdminConfiguration; +import org.apache.james.webadmin.WebAdminUtils; import org.apache.james.webadmin.routes.CassandraMailboxMergingRoutes; import org.apache.james.webadmin.routes.TasksRoutes; import org.junit.After; @@ -84,6 +85,7 @@ import com.google.common.base.Charsets; import com.jayway.restassured.RestAssured; import com.jayway.restassured.builder.RequestSpecBuilder; import com.jayway.restassured.http.ContentType; +import com.jayway.restassured.specification.RequestSpecification; public class FixingGhostMailboxTest { @@ -119,6 +121,7 @@ public class FixingGhostMailboxTest { private MailboxPath aliceInboxPath; private ComposedMessageId message2; private WebAdminGuiceProbe webAdminProbe; + private RequestSpecification webadminSpecification; @Before public void setup() throws Throwable { @@ -140,6 +143,8 @@ public class FixingGhostMailboxTest { .setPort(jmapServer.getProbe(JmapGuiceProbe.class).getJmapPort()) .build(); RestAssured.enableLoggingOfRequestAndResponseIfValidationFails(); + webadminSpecification = WebAdminUtils.buildRequestSpecification(webAdminProbe.getWebAdminPort()) + .build(); domain = "domain.tld"; alice = "alice@" + domain; @@ -298,8 +303,8 @@ public class FixingGhostMailboxTest { String taskId = fixGhostMailboxes(newAliceInbox); - given() - .port(webAdminProbe.getWebAdminPort()) + with() + .spec(webadminSpecification) .basePath(TasksRoutes.BASE) .when() .get(taskId + "/await") @@ -315,22 +320,21 @@ public class FixingGhostMailboxTest { .body("submitDate", is(not(nullValue()))) .body("startedDate", is(not(nullValue()))) .body("completedDate", is(not(nullValue()))); - } private String fixGhostMailboxes(Mailbox newAliceInbox) { - String taskId = with() - .port(webAdminProbe.getWebAdminPort()) - .basePath(CassandraMailboxMergingRoutes.BASE) + String taskId = given() + .spec(webadminSpecification) .body("{" + " \"mergeOrigin\":\"" + aliceGhostInboxId.serialize() + "\"," + " \"mergeDestination\":\"" + newAliceInbox.getMailboxId().serialize() + "\"" + "}") - .post() + .post(CassandraMailboxMergingRoutes.BASE) .jsonPath() .getString("taskId"); - with() - .port(webAdminProbe.getWebAdminPort()) + + given() + .spec(webadminSpecification) .basePath(TasksRoutes.BASE) .get(taskId + "/await"); rule.await(); http://git-wip-us.apache.org/repos/asf/james-project/blob/abf91be4/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/utils/WebAdminGuiceProbe.java ---------------------------------------------------------------------- diff --git a/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/utils/WebAdminGuiceProbe.java b/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/utils/WebAdminGuiceProbe.java index 9caa85f..7b0528b 100644 --- a/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/utils/WebAdminGuiceProbe.java +++ b/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/utils/WebAdminGuiceProbe.java @@ -21,6 +21,7 @@ package org.apache.james.utils; import javax.inject.Inject; +import org.apache.james.webadmin.PortSupplier; import org.apache.james.webadmin.WebAdminServer; public class WebAdminGuiceProbe implements GuiceProbe { @@ -31,8 +32,8 @@ public class WebAdminGuiceProbe implements GuiceProbe { this.webAdminServer = webAdminServer; } - public int getWebAdminPort() { - return webAdminServer.getPort().get().getValue(); + public PortSupplier getWebAdminPort() { + return webAdminServer.getPort(); } public void await() { http://git-wip-us.apache.org/repos/asf/james-project/blob/abf91be4/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java ---------------------------------------------------------------------- diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java index dbcdf8e..1ccaf61 100644 --- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java +++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingTest.java @@ -19,6 +19,7 @@ package org.apache.james.transport.mailets; +import static com.jayway.restassured.RestAssured.given; import static org.apache.james.mailets.configuration.Constants.DEFAULT_DOMAIN; import static org.apache.james.mailets.configuration.Constants.IMAP_PORT; import static org.apache.james.mailets.configuration.Constants.LOCALHOST_IP; @@ -47,6 +48,7 @@ import org.apache.james.utils.FakeSmtp; import org.apache.james.utils.IMAPMessageReader; import org.apache.james.utils.SMTPMessageSender; import org.apache.james.utils.WebAdminGuiceProbe; +import org.apache.james.webadmin.WebAdminUtils; import org.apache.james.webadmin.routes.GroupsRoutes; import org.apache.mailet.base.test.FakeMail; import org.junit.After; @@ -55,7 +57,6 @@ import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; -import com.jayway.restassured.RestAssured; import com.jayway.restassured.specification.RequestSpecification; public class GroupMappingTest { @@ -73,7 +74,7 @@ public class GroupMappingTest { private TemporaryJamesServer jamesServer; private MimeMessage message; private DataProbe dataProbe; - private RequestSpecification restApiRequest; + private RequestSpecification webAdminApi; @Rule public final FakeSmtp fakeSmtp = new FakeSmtp(); @@ -119,8 +120,8 @@ public class GroupMappingTest { WebAdminGuiceProbe webAdminGuiceProbe = jamesServer.getProbe(WebAdminGuiceProbe.class); webAdminGuiceProbe.await(); - restApiRequest = RestAssured.given() - .port(webAdminGuiceProbe.getWebAdminPort()); + webAdminApi = given() + .spec(WebAdminUtils.buildRequestSpecification(webAdminGuiceProbe.getWebAdminPort()).build()); message = MimeMessageBuilder.mimeMessageBuilder() .setSubject("test") @@ -135,7 +136,7 @@ public class GroupMappingTest { @Test public void messageShouldRedirectToUserWhenBelongingToGroup() throws Exception { - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1); messageSender.connect(LOCALHOST_IP, SMTP_PORT) .sendMessage(FakeMail.builder() @@ -153,7 +154,7 @@ public class GroupMappingTest { @Test public void messageShouldRedirectToUserDoesNotHaveSameDomainWhenBelongingToGroup() throws Exception { - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN2); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN2); messageSender.connect(LOCALHOST_IP, SMTP_PORT) .sendMessage(FakeMail.builder() @@ -171,9 +172,9 @@ public class GroupMappingTest { @Test public void messageShouldRedirectToAllUsersBelongingToGroup() throws Exception { - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1); - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN2); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN2); messageSender.connect(LOCALHOST_IP, SMTP_PORT) .sendMessage(FakeMail.builder() @@ -194,9 +195,9 @@ public class GroupMappingTest { @Test public void messageShouldRedirectWhenGroupBelongingToAnotherGroup() throws Exception { - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN2 + "/" + USER_DOMAIN2); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN2 + "/" + USER_DOMAIN2); - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + GROUP_ON_DOMAIN2); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + GROUP_ON_DOMAIN2); messageSender.connect(LOCALHOST_IP, SMTP_PORT) .sendMessage(FakeMail.builder() @@ -214,11 +215,11 @@ public class GroupMappingTest { @Test public void messageShouldNotBeDuplicatedWhenUserBelongingToTwoGroups() throws Exception { - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1); - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN2 + "/" + USER_DOMAIN1); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN2 + "/" + USER_DOMAIN1); - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + GROUP_ON_DOMAIN2); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + GROUP_ON_DOMAIN2); messageSender.connect(LOCALHOST_IP, SMTP_PORT) .sendMessage(FakeMail.builder() @@ -235,7 +236,7 @@ public class GroupMappingTest { @Test public void messageShouldNotBeDuplicatedWhenRecipientIsAlsoPartOfGroup() throws Exception { - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1); messageSender.connect(LOCALHOST_IP, SMTP_PORT) .sendMessage(FakeMail.builder() @@ -252,11 +253,11 @@ public class GroupMappingTest { @Test public void groupMappingShouldSupportTreeStructure() throws Exception { - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1); - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN2 + "/" + USER_DOMAIN2); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN2 + "/" + USER_DOMAIN2); - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + GROUP_ON_DOMAIN2); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + GROUP_ON_DOMAIN2); messageSender.connect(LOCALHOST_IP, SMTP_PORT) .sendMessage(FakeMail.builder() @@ -278,13 +279,13 @@ public class GroupMappingTest { @Test public void messageShouldNotBeSentWhenGroupLoopMapping() throws Exception { - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1); - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN2 + "/" + USER_DOMAIN2); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN2 + "/" + USER_DOMAIN2); - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + GROUP_ON_DOMAIN2); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + GROUP_ON_DOMAIN2); - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN2 + "/" + GROUP_ON_DOMAIN1); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN2 + "/" + GROUP_ON_DOMAIN1); messageSender.connect(LOCALHOST_IP, SMTP_PORT) .sendMessage(FakeMail.builder() @@ -308,7 +309,7 @@ public class GroupMappingTest { public void messageShouldRedirectToUserWhenDomainMapping() throws Exception { dataProbe.addDomainAliasMapping(DOMAIN1, DOMAIN2); - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1); messageSender.connect(LOCALHOST_IP, SMTP_PORT) .sendMessage(FakeMail.builder() @@ -327,7 +328,7 @@ public class GroupMappingTest { public void messageShouldNotSendToUserBelongingToGroupWhenDomainMapping() throws Exception { dataProbe.addDomainAliasMapping(DOMAIN1, DOMAIN2); - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + USER_DOMAIN1); messageSender.connect(LOCALHOST_IP, SMTP_PORT) .sendMessage(FakeMail.builder() @@ -346,7 +347,7 @@ public class GroupMappingTest { public void messageShouldRedirectToGroupWhenDomainMapping() throws Exception { dataProbe.addDomainAliasMapping(DOMAIN1, DOMAIN2); - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN2 + "/" + USER_DOMAIN2); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN2 + "/" + USER_DOMAIN2); messageSender.connect(LOCALHOST_IP, SMTP_PORT) .sendMessage(FakeMail.builder() @@ -365,7 +366,7 @@ public class GroupMappingTest { public void messageShouldRedirectToGroupContainingSlash() throws Exception { String groupWithSlash = "a/a@" + DOMAIN1; String groupWithEncodedSlash = "a%2Fa@" + DOMAIN1; - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + groupWithEncodedSlash + "/" + USER_DOMAIN1); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + groupWithEncodedSlash + "/" + USER_DOMAIN1); messageSender.connect(LOCALHOST_IP, SMTP_PORT) .sendMessage(FakeMail.builder() @@ -385,7 +386,7 @@ public class GroupMappingTest { String userWithSlash = "a/a@" + DOMAIN1; dataProbe.addUser(userWithSlash, PASSWORD); String userWithEncodedSlash = "a%2Fa@" + DOMAIN1; - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + userWithEncodedSlash); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + userWithEncodedSlash); messageSender.connect(LOCALHOST_IP, SMTP_PORT) .sendMessage(FakeMail.builder() @@ -404,7 +405,7 @@ public class GroupMappingTest { public void messageShouldRedirectToUserWhenEncodingAt() throws Exception { String userWithEncodedAt = "user%40" + DOMAIN1; String groupWithEncodedAt = "group%40" + DOMAIN1; - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + groupWithEncodedAt + "/" + userWithEncodedAt); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + groupWithEncodedAt + "/" + userWithEncodedAt); messageSender.connect(LOCALHOST_IP, SMTP_PORT) .sendMessage(FakeMail.builder() @@ -422,7 +423,7 @@ public class GroupMappingTest { @Test public void sendMessageShouldSendAMessageToAnExternalGroupMember() throws Exception { String externalMail = "[email protected]"; - restApiRequest.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + externalMail); + webAdminApi.put(GroupsRoutes.ROOT_PATH + "/" + GROUP_ON_DOMAIN1 + "/" + externalMail); messageSender.connect(LOCALHOST_IP, SMTP_PORT) .sendMessage(FakeMail.builder() @@ -432,10 +433,8 @@ public class GroupMappingTest { .awaitSent(awaitOneMinute); fakeSmtp.isReceived(response -> response - .body("[0].from", equalTo(SENDER)) - .body("[0].to[0]", equalTo(externalMail)) - .body("[0].text", equalTo(MESSAGE_CONTENT))); - - + .body("[0].from", equalTo(SENDER)) + .body("[0].to[0]", equalTo(externalMail)) + .body("[0].text", equalTo(MESSAGE_CONTENT))); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/abf91be4/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/JwtFilterIntegrationTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/JwtFilterIntegrationTest.java b/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/JwtFilterIntegrationTest.java index 4ba097c..116f849 100644 --- a/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/JwtFilterIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/JwtFilterIntegrationTest.java @@ -20,12 +20,9 @@ package org.apache.james.webadmin.integration; import static com.jayway.restassured.RestAssured.given; -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 java.nio.charset.StandardCharsets; import java.util.Optional; import org.apache.james.CassandraJmapTestRule; @@ -35,6 +32,7 @@ import org.apache.james.jwt.JwtConfiguration; import org.apache.james.util.ClassLoaderUtils; import org.apache.james.utils.DataProbeImpl; import org.apache.james.utils.WebAdminGuiceProbe; +import org.apache.james.webadmin.WebAdminUtils; import org.apache.james.webadmin.authentication.AuthenticationFilter; import org.apache.james.webadmin.authentication.JwtFilter; import org.apache.james.webadmin.routes.DomainsRoutes; @@ -46,8 +44,6 @@ import org.junit.Rule; import org.junit.Test; import com.jayway.restassured.RestAssured; -import com.jayway.restassured.builder.RequestSpecBuilder; -import com.jayway.restassured.http.ContentType; import com.jayway.restassured.response.Header; public class JwtFilterIntegrationTest { @@ -88,11 +84,7 @@ public class JwtFilterIntegrationTest { dataProbe = guiceJamesServer.getProbe(DataProbeImpl.class); webAdminGuiceProbe = guiceJamesServer.getProbe(WebAdminGuiceProbe.class); - RestAssured.requestSpecification = new RequestSpecBuilder() - .setContentType(ContentType.JSON) - .setAccept(ContentType.JSON) - .setConfig(newConfig().encoderConfig(encoderConfig().defaultContentCharset(StandardCharsets.UTF_8))) - .build(); + RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminGuiceProbe.getWebAdminPort()).build(); } @After @@ -103,7 +95,6 @@ public class JwtFilterIntegrationTest { @Test public void jwtAuthenticationShouldWork() throws Exception { given() - .port(webAdminGuiceProbe.getWebAdminPort()) .header(new Header("Authorization", "Bearer " + VALID_TOKEN_ADMIN_TRUE)) .when() .put(SPECIFIC_DOMAIN) @@ -117,7 +108,6 @@ public class JwtFilterIntegrationTest { @Test public void jwtShouldRejectNonAdminRequests() throws Exception { given() - .port(webAdminGuiceProbe.getWebAdminPort()) .header(new Header("Authorization", "Bearer " + VALID_TOKEN_ADMIN_FALSE)) .when() .put(SPECIFIC_DOMAIN) @@ -131,7 +121,6 @@ public class JwtFilterIntegrationTest { @Test public void jwtShouldRejectInvalidRequests() throws Exception { given() - .port(webAdminGuiceProbe.getWebAdminPort()) .header(new Header("Authorization", "Bearer invalid")) .when() .put(SPECIFIC_DOMAIN) http://git-wip-us.apache.org/repos/asf/james-project/blob/abf91be4/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 9ce9443..96d488d 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 @@ -20,9 +20,8 @@ package org.apache.james.webadmin.integration; import static com.jayway.restassured.RestAssured.given; +import static com.jayway.restassured.RestAssured.when; import static com.jayway.restassured.RestAssured.with; -import static com.jayway.restassured.config.EncoderConfig.encoderConfig; -import static com.jayway.restassured.config.RestAssuredConfig.newConfig; import static org.apache.james.webadmin.Constants.JSON_CONTENT_TYPE; import static org.apache.james.webadmin.Constants.SEPARATOR; import static org.assertj.core.api.Assertions.assertThat; @@ -30,7 +29,6 @@ import static org.hamcrest.Matchers.containsInAnyOrder; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.is; -import java.nio.charset.StandardCharsets; import java.util.List; import org.apache.james.CassandraJmapTestRule; @@ -41,6 +39,7 @@ import org.apache.james.modules.MailboxProbeImpl; import org.apache.james.probe.DataProbe; import org.apache.james.utils.DataProbeImpl; import org.apache.james.utils.WebAdminGuiceProbe; +import org.apache.james.webadmin.WebAdminUtils; import org.apache.james.webadmin.routes.DomainsRoutes; import org.apache.james.webadmin.routes.MailRepositoriesRoutes; import org.apache.james.webadmin.routes.UserMailboxesRoutes; @@ -54,8 +53,6 @@ import org.junit.Rule; import org.junit.Test; import com.jayway.restassured.RestAssured; -import com.jayway.restassured.builder.RequestSpecBuilder; -import com.jayway.restassured.http.ContentType; public class WebAdminServerIntegrationTest { @@ -88,11 +85,8 @@ public class WebAdminServerIntegrationTest { dataProbe = guiceJamesServer.getProbe(DataProbeImpl.class); webAdminGuiceProbe = guiceJamesServer.getProbe(WebAdminGuiceProbe.class); - RestAssured.requestSpecification = new RequestSpecBuilder() - .setContentType(ContentType.JSON) - .setAccept(ContentType.JSON) - .setConfig(newConfig().encoderConfig(encoderConfig().defaultContentCharset(StandardCharsets.UTF_8))) - .build(); + RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminGuiceProbe.getWebAdminPort()) + .build(); } @After @@ -102,9 +96,7 @@ public class WebAdminServerIntegrationTest { @Test public void postShouldAddTheGivenDomain() throws Exception { - given() - .port(webAdminGuiceProbe.getWebAdminPort()) - .when() + when() .put(SPECIFIC_DOMAIN) .then() .statusCode(HttpStatus.NO_CONTENT_204); @@ -114,9 +106,7 @@ public class WebAdminServerIntegrationTest { @Test public void mailRepositoriesRoutesShouldBeExposed() throws Exception { - given() - .port(webAdminGuiceProbe.getWebAdminPort()) - .when() + when() .get(MailRepositoriesRoutes.MAIL_REPOSITORIES) .then() .statusCode(HttpStatus.OK_200) @@ -131,9 +121,7 @@ public class WebAdminServerIntegrationTest { public void deleteShouldRemoveTheGivenDomain() throws Exception { dataProbe.addDomain(DOMAIN); - given() - .port(webAdminGuiceProbe.getWebAdminPort()) - .when() + when() .delete(SPECIFIC_DOMAIN) .then() .statusCode(HttpStatus.NO_CONTENT_204); @@ -146,7 +134,6 @@ public class WebAdminServerIntegrationTest { dataProbe.addDomain(DOMAIN); given() - .port(webAdminGuiceProbe.getWebAdminPort()) .body("{\"password\":\"password\"}") .when() .put(SPECIFIC_USER) @@ -162,7 +149,6 @@ public class WebAdminServerIntegrationTest { dataProbe.addUser(USERNAME, "anyPassword"); given() - .port(webAdminGuiceProbe.getWebAdminPort()) .body("{\"username\":\"" + USERNAME + "\",\"password\":\"password\"}") .when() .delete(SPECIFIC_USER) @@ -177,9 +163,7 @@ public class WebAdminServerIntegrationTest { dataProbe.addDomain(DOMAIN); dataProbe.addUser(USERNAME, "anyPassword"); - given() - .port(webAdminGuiceProbe.getWebAdminPort()) - .when() + when() .get(UserRoutes.USERS) .then() .statusCode(HttpStatus.OK_200) @@ -192,9 +176,7 @@ public class WebAdminServerIntegrationTest { dataProbe.addDomain(DOMAIN); dataProbe.addUser(USERNAME, "anyPassword"); - given() - .port(webAdminGuiceProbe.getWebAdminPort()) - .when() + when() .put(SPECIFIC_MAILBOX) .then() .statusCode(HttpStatus.NO_CONTENT_204); @@ -208,9 +190,7 @@ public class WebAdminServerIntegrationTest { dataProbe.addUser(USERNAME, "anyPassword"); guiceJamesServer.getProbe(MailboxProbeImpl.class).createMailbox("#private", USERNAME, MAILBOX); - given() - .port(webAdminGuiceProbe.getWebAdminPort()) - .when() + when() .delete(SPECIFIC_MAILBOX) .then() .statusCode(HttpStatus.NO_CONTENT_204); @@ -220,9 +200,7 @@ public class WebAdminServerIntegrationTest { @Test public void getCurrentVersionShouldReturnNullForCurrentVersionAsBeginning() throws Exception { - given() - .port(webAdminGuiceProbe.getWebAdminPort()) - .when() + when() .get(VERSION) .then() .statusCode(HttpStatus.OK_200) @@ -232,9 +210,7 @@ public class WebAdminServerIntegrationTest { @Test public void getLatestVersionShouldReturnTheConfiguredLatestVersion() throws Exception { - given() - .port(webAdminGuiceProbe.getWebAdminPort()) - .when() + when() .get(VERSION_LATEST) .then() .statusCode(HttpStatus.OK_200) @@ -245,19 +221,15 @@ public class WebAdminServerIntegrationTest { @Test public void postShouldDoMigrationAndUpdateCurrentVersion() throws Exception { String taskId = with() - .port(webAdminGuiceProbe.getWebAdminPort()) .body(String.valueOf(CassandraSchemaVersionManager.MAX_VERSION.getValue())) .post(UPGRADE_VERSION) .jsonPath() .get("taskId"); with() - .port(webAdminGuiceProbe.getWebAdminPort()) .get("/task/" + taskId + "/await"); - given() - .port(webAdminGuiceProbe.getWebAdminPort()) - .when() + when() .get(VERSION) .then() .statusCode(HttpStatus.OK_200) @@ -267,19 +239,14 @@ public class WebAdminServerIntegrationTest { @Test public void postShouldDoMigrationAndUpdateToTheLatestVersion() throws Exception { - String taskId = with() - .port(webAdminGuiceProbe.getWebAdminPort()) - .post(UPGRADE_TO_LATEST_VERSION) + String taskId = with().post(UPGRADE_TO_LATEST_VERSION) .jsonPath() .get("taskId"); with() - .port(webAdminGuiceProbe.getWebAdminPort()) .get("/task/" + taskId + "/await"); - given() - .port(webAdminGuiceProbe.getWebAdminPort()) - .when() + when() .get(VERSION) .then() .statusCode(HttpStatus.OK_200) @@ -292,11 +259,9 @@ public class WebAdminServerIntegrationTest { dataProbe.addAddressMapping("group", "domain.com", "[email protected]"); dataProbe.addAddressMapping("group", "domain.com", "[email protected]"); - List<String> members = given() - .port(webAdminGuiceProbe.getWebAdminPort()) - .when() + List<String> members = when() .get("/address/groups/[email protected]") - .then() + .then() .statusCode(HttpStatus.OK_200) .contentType(JSON_CONTENT_TYPE) .extract() @@ -307,9 +272,7 @@ public class WebAdminServerIntegrationTest { @Test public void getSwaggerShouldReturnJsonDataForSwagger() throws Exception { - given() - .port(webAdminGuiceProbe.getWebAdminPort()) - .when() + when() .get(SwaggerRoutes.SWAGGER_ENDPOINT) .then() .statusCode(HttpStatus.OK_200) http://git-wip-us.apache.org/repos/asf/james-project/blob/abf91be4/server/protocols/webadmin/webadmin-cassandra/src/test/java/org/apache/james/webadmin/routes/CassandraMigrationRoutesTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/webadmin-cassandra/src/test/java/org/apache/james/webadmin/routes/CassandraMigrationRoutesTest.java b/server/protocols/webadmin/webadmin-cassandra/src/test/java/org/apache/james/webadmin/routes/CassandraMigrationRoutesTest.java index 7b145af..b016ffe 100644 --- a/server/protocols/webadmin/webadmin-cassandra/src/test/java/org/apache/james/webadmin/routes/CassandraMigrationRoutesTest.java +++ b/server/protocols/webadmin/webadmin-cassandra/src/test/java/org/apache/james/webadmin/routes/CassandraMigrationRoutesTest.java @@ -88,7 +88,7 @@ public class CassandraMigrationRoutesTest { webAdminServer.await(); - RestAssured.requestSpecification = WebAdminUtils.defineRequestSpecification(webAdminServer) + RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminServer) .setBasePath(CassandraMigrationRoutes.VERSION_BASE) .build(); } http://git-wip-us.apache.org/repos/asf/james-project/blob/abf91be4/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/WebAdminUtils.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/WebAdminUtils.java b/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/WebAdminUtils.java index 1d312a0..5b4e147 100644 --- a/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/WebAdminUtils.java +++ b/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/WebAdminUtils.java @@ -48,12 +48,16 @@ public class WebAdminUtils { metricFactory); } - public static RequestSpecBuilder defineRequestSpecification(WebAdminServer webAdminServer) { + public static RequestSpecBuilder buildRequestSpecification(WebAdminServer webAdminServer) { + return buildRequestSpecification(webAdminServer.getPort()); + } + + public static RequestSpecBuilder buildRequestSpecification(PortSupplier portSupplier) { return new RequestSpecBuilder() .setContentType(ContentType.JSON) .setAccept(ContentType.JSON) .setConfig(newConfig().encoderConfig(encoderConfig().defaultContentCharset(StandardCharsets.UTF_8))) - .setPort(webAdminServer.getPort().get().getValue()); + .setPort(portSupplier.get().getValue()); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/abf91be4/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/TasksRoutesTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/TasksRoutesTest.java b/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/TasksRoutesTest.java index 1c1ff85..ea56a6c 100644 --- a/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/TasksRoutesTest.java +++ b/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/TasksRoutesTest.java @@ -63,7 +63,7 @@ public class TasksRoutesTest { webAdminServer.configure(NO_CONFIGURATION); webAdminServer.await(); - RestAssured.requestSpecification = WebAdminUtils.defineRequestSpecification(webAdminServer) + RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminServer) .setBasePath(TasksRoutes.BASE) .build(); } http://git-wip-us.apache.org/repos/asf/james-project/blob/abf91be4/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainsRoutesTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainsRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainsRoutesTest.java index 137a187..683fc91 100644 --- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainsRoutesTest.java +++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainsRoutesTest.java @@ -66,7 +66,7 @@ public class DomainsRoutesTest { webAdminServer.configure(NO_CONFIGURATION); webAdminServer.await(); - RestAssured.requestSpecification = WebAdminUtils.defineRequestSpecification(webAdminServer) + RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminServer) .setBasePath(DomainsRoutes.DOMAINS) .build(); } http://git-wip-us.apache.org/repos/asf/james-project/blob/abf91be4/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java index 1b6aa7e..fee6ba0 100644 --- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java +++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java @@ -82,7 +82,7 @@ public class GroupsRoutesTest { webAdminServer.configure(NO_CONFIGURATION); webAdminServer.await(); - RestAssured.requestSpecification = WebAdminUtils.defineRequestSpecification(webAdminServer) + RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminServer) .setBasePath(GroupsRoutes.ROOT_PATH) .log(LogDetail.ALL) .build(); http://git-wip-us.apache.org/repos/asf/james-project/blob/abf91be4/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UsersRoutesTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UsersRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UsersRoutesTest.java index 086d4c9..028a198 100644 --- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UsersRoutesTest.java +++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UsersRoutesTest.java @@ -68,7 +68,7 @@ public class UsersRoutesTest { webAdminServer.configure(NO_CONFIGURATION); webAdminServer.await(); - RestAssured.requestSpecification = WebAdminUtils.defineRequestSpecification(webAdminServer) + RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminServer) .setBasePath(UserRoutes.USERS) .build(); } http://git-wip-us.apache.org/repos/asf/james-project/blob/abf91be4/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/GlobalQuotaRoutesTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/GlobalQuotaRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/GlobalQuotaRoutesTest.java index 45869fe..60029c1 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/GlobalQuotaRoutesTest.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/GlobalQuotaRoutesTest.java @@ -54,7 +54,7 @@ public class GlobalQuotaRoutesTest { webAdminServer.configure(NO_CONFIGURATION); webAdminServer.await(); - RestAssured.requestSpecification = WebAdminUtils.defineRequestSpecification(webAdminServer) + RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminServer) .build(); } http://git-wip-us.apache.org/repos/asf/james-project/blob/abf91be4/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java index ef8fccd..08f63e7 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java @@ -84,7 +84,7 @@ public class UserMailboxesRoutesTest { webAdminServer.configure(NO_CONFIGURATION); webAdminServer.await(); - RestAssured.requestSpecification = WebAdminUtils.defineRequestSpecification(webAdminServer) + RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminServer) .setBasePath(USERS_BASE + SEPARATOR + USERNAME + SEPARATOR + UserMailboxesRoutes.MAILBOXES) .build(); } http://git-wip-us.apache.org/repos/asf/james-project/blob/abf91be4/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/routes/MailRepositoriesRoutesTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/routes/MailRepositoriesRoutesTest.java b/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/routes/MailRepositoriesRoutesTest.java index 6a616b6..34edfdf 100644 --- a/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/routes/MailRepositoriesRoutesTest.java +++ b/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/routes/MailRepositoriesRoutesTest.java @@ -81,7 +81,7 @@ public class MailRepositoriesRoutesTest { webAdminServer.configure(NO_CONFIGURATION); webAdminServer.await(); - RestAssured.requestSpecification = WebAdminUtils.defineRequestSpecification(webAdminServer) + RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminServer) .setBasePath(MailRepositoriesRoutes.MAIL_REPOSITORIES) .build(); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
