http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraJmapAuthenticationTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraJmapAuthenticationTest.java b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraJmapAuthenticationTest.java index 510876c..d7801d8 100644 --- a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraJmapAuthenticationTest.java +++ b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraJmapAuthenticationTest.java @@ -18,8 +18,8 @@ ****************************************************************/ package org.apache.james.jmap.cassandra; +import org.apache.james.CassandraJamesServer; import org.apache.james.CassandraJamesServerMain; -import org.apache.james.GuiceJmapJamesServer; import org.apache.james.backends.cassandra.EmbeddedCassandra; import org.apache.james.jmap.FixedDateZonedDateTimeProvider; import org.apache.james.jmap.JMAPAuthenticationTest; @@ -30,7 +30,7 @@ import org.junit.Rule; import org.junit.rules.RuleChain; import org.junit.rules.TemporaryFolder; -public class CassandraJmapAuthenticationTest extends JMAPAuthenticationTest { +public class CassandraJmapAuthenticationTest extends JMAPAuthenticationTest<CassandraJamesServer> { private TemporaryFolder temporaryFolder = new TemporaryFolder(); private EmbeddedElasticSearch embeddedElasticSearch = new EmbeddedElasticSearch(temporaryFolder); @@ -42,8 +42,8 @@ public class CassandraJmapAuthenticationTest extends JMAPAuthenticationTest { .around(embeddedElasticSearch); @Override - protected GuiceJmapJamesServer createJmapServer(FixedDateZonedDateTimeProvider zonedDateTimeProvider) { - return new GuiceJmapJamesServer() + protected CassandraJamesServer createJmapServer(FixedDateZonedDateTimeProvider zonedDateTimeProvider) { + return new CassandraJamesServer() .combineWith(CassandraJamesServerMain.cassandraServerModule) .overrideWith(new CassandraJmapServerModule(temporaryFolder, embeddedElasticSearch, cassandra), (binder) -> binder.bind(ZonedDateTimeProvider.class).toInstance(zonedDateTimeProvider));
http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetMailboxesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetMailboxesMethodTest.java b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetMailboxesMethodTest.java index 443f48b..59017a3 100644 --- a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetMailboxesMethodTest.java +++ b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetMailboxesMethodTest.java @@ -19,8 +19,8 @@ package org.apache.james.jmap.cassandra; +import org.apache.james.CassandraJamesServer; import org.apache.james.CassandraJamesServerMain; -import org.apache.james.GuiceJmapJamesServer; import org.apache.james.backends.cassandra.EmbeddedCassandra; import org.apache.james.jmap.methods.integration.SetMailboxesMethodTest; import org.apache.james.mailbox.elasticsearch.EmbeddedElasticSearch; @@ -29,7 +29,7 @@ import org.junit.Rule; import org.junit.rules.RuleChain; import org.junit.rules.TemporaryFolder; -public class CassandraSetMailboxesMethodTest extends SetMailboxesMethodTest { +public class CassandraSetMailboxesMethodTest extends SetMailboxesMethodTest<CassandraJamesServer> { private TemporaryFolder temporaryFolder = new TemporaryFolder(); private EmbeddedElasticSearch embeddedElasticSearch = new EmbeddedElasticSearch(temporaryFolder); @@ -41,8 +41,8 @@ public class CassandraSetMailboxesMethodTest extends SetMailboxesMethodTest { .around(embeddedElasticSearch); @Override - protected GuiceJmapJamesServer createJmapServer() { - return new GuiceJmapJamesServer() + protected CassandraJamesServer createJmapServer() { + return new CassandraJamesServer() .combineWith(CassandraJamesServerMain.cassandraServerModule) .overrideWith(new CassandraJmapServerModule(temporaryFolder, embeddedElasticSearch, cassandra)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetMessagesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetMessagesMethodTest.java b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetMessagesMethodTest.java index a244fa3..af02e92 100644 --- a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetMessagesMethodTest.java +++ b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetMessagesMethodTest.java @@ -19,8 +19,8 @@ package org.apache.james.jmap.cassandra; +import org.apache.james.CassandraJamesServer; import org.apache.james.CassandraJamesServerMain; -import org.apache.james.GuiceJmapJamesServer; import org.apache.james.backends.cassandra.EmbeddedCassandra; import org.apache.james.jmap.methods.integration.SetMessagesMethodTest; import org.apache.james.mailbox.elasticsearch.EmbeddedElasticSearch; @@ -29,7 +29,7 @@ import org.junit.Rule; import org.junit.rules.RuleChain; import org.junit.rules.TemporaryFolder; -public class CassandraSetMessagesMethodTest extends SetMessagesMethodTest { +public class CassandraSetMessagesMethodTest extends SetMessagesMethodTest<CassandraJamesServer> { private TemporaryFolder temporaryFolder = new TemporaryFolder(); private EmbeddedElasticSearch embeddedElasticSearch = new EmbeddedElasticSearch(temporaryFolder); @@ -41,8 +41,8 @@ public class CassandraSetMessagesMethodTest extends SetMessagesMethodTest { .around(embeddedElasticSearch); @Override - protected GuiceJmapJamesServer createJmapServer() { - return new GuiceJmapJamesServer() + protected CassandraJamesServer createJmapServer() { + return new CassandraJamesServer() .combineWith(CassandraJamesServerMain.cassandraServerModule) .overrideWith(new CassandraJmapServerModule(temporaryFolder, embeddedElasticSearch, cassandra)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetVacationResponseTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetVacationResponseTest.java b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetVacationResponseTest.java index 7bb2370..64e848c 100644 --- a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetVacationResponseTest.java +++ b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetVacationResponseTest.java @@ -19,8 +19,8 @@ package org.apache.james.jmap.cassandra; +import org.apache.james.CassandraJamesServer; import org.apache.james.CassandraJamesServerMain; -import org.apache.james.GuiceJmapJamesServer; import org.apache.james.backends.cassandra.EmbeddedCassandra; import org.apache.james.jmap.methods.integration.SetVacationResponseTest; import org.apache.james.mailbox.elasticsearch.EmbeddedElasticSearch; @@ -29,7 +29,7 @@ import org.junit.Rule; import org.junit.rules.RuleChain; import org.junit.rules.TemporaryFolder; -public class CassandraSetVacationResponseTest extends SetVacationResponseTest { +public class CassandraSetVacationResponseTest extends SetVacationResponseTest<CassandraJamesServer> { private TemporaryFolder temporaryFolder = new TemporaryFolder(); private EmbeddedElasticSearch embeddedElasticSearch = new EmbeddedElasticSearch(temporaryFolder); @@ -41,8 +41,8 @@ public class CassandraSetVacationResponseTest extends SetVacationResponseTest { .around(embeddedElasticSearch); @Override - protected GuiceJmapJamesServer createJmapServer() { - return new GuiceJmapJamesServer() + protected CassandraJamesServer createJmapServer() { + return new CassandraJamesServer() .combineWith(CassandraJamesServerMain.cassandraServerModule) .overrideWith(new CassandraJmapServerModule(temporaryFolder, embeddedElasticSearch, cassandra)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraVacationIntegrationTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraVacationIntegrationTest.java b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraVacationIntegrationTest.java index 1540198..5792447 100644 --- a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraVacationIntegrationTest.java +++ b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraVacationIntegrationTest.java @@ -19,8 +19,9 @@ package org.apache.james.jmap.cassandra; +import org.apache.james.CassandraJamesServer; import org.apache.james.CassandraJamesServerMain; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.GuiceJamesServer; import org.apache.james.backends.cassandra.EmbeddedCassandra; import org.apache.james.jmap.VacationIntegrationTest; import org.apache.james.mailbox.elasticsearch.EmbeddedElasticSearch; @@ -29,7 +30,7 @@ import org.junit.Rule; import org.junit.rules.RuleChain; import org.junit.rules.TemporaryFolder; -public class CassandraVacationIntegrationTest extends VacationIntegrationTest { +public class CassandraVacationIntegrationTest extends VacationIntegrationTest<CassandraJamesServer> { private TemporaryFolder temporaryFolder = new TemporaryFolder(); @@ -42,8 +43,8 @@ public class CassandraVacationIntegrationTest extends VacationIntegrationTest { .around(embeddedElasticSearch); @Override - protected GuiceJmapJamesServer createJmapServer() { - return new GuiceJmapJamesServer() + protected CassandraJamesServer createJmapServer() { + return new CassandraJamesServer() .combineWith(CassandraJamesServerMain.cassandraServerModule) .overrideWith(new CassandraJmapServerModule(temporaryFolder, embeddedElasticSearch, cassandra)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java index 322f781..39f4b65 100644 --- a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java +++ b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java @@ -23,8 +23,8 @@ import java.util.Arrays; import javax.inject.Inject; +import org.apache.james.CassandraJamesServer; import org.apache.james.CassandraJamesServerMain; -import org.apache.james.GuiceJmapJamesServer; import org.apache.james.backends.cassandra.EmbeddedCassandra; import org.apache.james.jmap.methods.integration.cucumber.MainStepdefs; import org.apache.james.mailbox.elasticsearch.EmbeddedElasticSearch; @@ -54,7 +54,7 @@ public class CassandraStepdefs { public void init() throws Exception { temporaryFolder.create(); embeddedElasticSearch.before(); - mainStepdefs.jmapServer = new GuiceJmapJamesServer() + mainStepdefs.jmapServer = new CassandraJamesServer() .combineWith(CassandraJamesServerMain.cassandraServerModule) .overrideWith(new CassandraJmapServerModule(temporaryFolder, embeddedElasticSearch, cassandra)); mainStepdefs.awaitMethod = () -> embeddedElasticSearch.awaitForElasticSearch(); http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java index 7fd0c4a..1fa5c87 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java @@ -32,8 +32,11 @@ import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.util.UUID; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.GuiceJamesServer; +import org.apache.james.JmapServer; +import org.apache.james.WebAdminServer; import org.apache.james.jmap.model.ContinuationToken; +import org.apache.james.utils.JmapGuiceProbe; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -43,17 +46,17 @@ import com.jayway.restassured.RestAssured; import com.jayway.restassured.builder.RequestSpecBuilder; import com.jayway.restassured.http.ContentType; -public abstract class JMAPAuthenticationTest { +public abstract class JMAPAuthenticationTest<T extends GuiceJamesServer & JmapServer & WebAdminServer> { private static final ZonedDateTime oldDate = ZonedDateTime.parse("2011-12-03T10:15:30+01:00", DateTimeFormatter.ISO_OFFSET_DATE_TIME); private static final ZonedDateTime newDate = ZonedDateTime.parse("2011-12-03T10:16:30+01:00", DateTimeFormatter.ISO_OFFSET_DATE_TIME); private static final ZonedDateTime afterExpirationDate = ZonedDateTime.parse("2011-12-03T10:30:31+01:00", DateTimeFormatter.ISO_OFFSET_DATE_TIME); - protected abstract GuiceJmapJamesServer createJmapServer(FixedDateZonedDateTimeProvider zonedDateTimeProvider); + protected abstract T createJmapServer(FixedDateZonedDateTimeProvider zonedDateTimeProvider); private UserCredentials userCredentials; private FixedDateZonedDateTimeProvider zonedDateTimeProvider; - private GuiceJmapJamesServer jmapServer; + private T jmapServer; @Before public void setup() throws Throwable { @@ -63,8 +66,8 @@ public abstract class JMAPAuthenticationTest { jmapServer.start(); RestAssured.requestSpecification = new RequestSpecBuilder() .setConfig(newConfig().encoderConfig(encoderConfig().defaultContentCharset(Charsets.UTF_8))) - .setPort(jmapServer.getJmapPort() - .orElseThrow(() -> new RuntimeException("Unable to locate JMAP port"))) + .setPort(jmapServer.getJmapProbe() + .getJmapPort()) .build(); userCredentials = UserCredentials.builder() http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationIntegrationTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationIntegrationTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationIntegrationTest.java index 927885c..7c6ee22 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationIntegrationTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationIntegrationTest.java @@ -31,11 +31,14 @@ import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.GuiceJamesServer; +import org.apache.james.JmapServer; +import org.apache.james.WebAdminServer; import org.apache.james.jmap.api.access.AccessToken; import org.apache.james.jmap.api.vacation.AccountId; import org.apache.james.jmap.api.vacation.VacationPatch; import org.apache.james.mailbox.model.MailboxConstants; +import org.apache.james.utils.JmapGuiceProbe; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -48,7 +51,7 @@ import com.jayway.restassured.RestAssured; import com.jayway.restassured.builder.RequestSpecBuilder; import com.jayway.restassured.http.ContentType; -public abstract class VacationIntegrationTest { +public abstract class VacationIntegrationTest<T extends GuiceJamesServer & JmapServer & WebAdminServer> { private static final String ARGUMENTS = "[0][1]"; private static final String SECOND_NAME = "[1][0]"; @@ -62,9 +65,10 @@ public abstract class VacationIntegrationTest { public static final String ORIGINAL_MESSAGE_TEXT_BODY = "Hello someone, and thank you for joining example.com!"; private ConditionFactory calmlyAwait; - private GuiceJmapJamesServer guiceJamesServer; + private T guiceJamesServer; + private JmapGuiceProbe jmapGuiceProbe; - protected abstract GuiceJmapJamesServer createJmapServer(); + protected abstract T createJmapServer(); protected abstract void await(); @@ -83,12 +87,13 @@ public abstract class VacationIntegrationTest { guiceJamesServer.serverProbe().createMailbox(MailboxConstants.USER_NAMESPACE, USER_2, "INBOX"); await(); + jmapGuiceProbe = guiceJamesServer.getJmapProbe(); RestAssured.requestSpecification = new RequestSpecBuilder() .setContentType(ContentType.JSON) .setAccept(ContentType.JSON) .setConfig(newConfig().encoderConfig(encoderConfig().defaultContentCharset(Charsets.UTF_8))) - .setPort(guiceJamesServer.getJmapPort() - .orElseThrow(() -> new RuntimeException("Unable to locate JMAP port"))) + .setPort(jmapGuiceProbe + .getJmapPort()) .build(); Duration slowPacedPollInterval = Duration.FIVE_HUNDRED_MILLISECONDS; @@ -134,7 +139,7 @@ public abstract class VacationIntegrationTest { // Given AccessToken user1AccessToken = JmapAuthentication.authenticateJamesUser(USER_1, PASSWORD); AccessToken user2AccessToken = JmapAuthentication.authenticateJamesUser(USER_2, PASSWORD); - guiceJamesServer.serverProbe().modifyVacation( + jmapGuiceProbe.modifyVacation( AccountId.fromString(USER_1), VacationPatch.builder() .isEnabled(true) http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java index 53cd799..ca3d38c 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java @@ -19,6 +19,27 @@ package org.apache.james.jmap.methods.integration; +import com.google.common.base.Charsets; +import com.jayway.restassured.RestAssured; +import com.jayway.restassured.builder.RequestSpecBuilder; +import com.jayway.restassured.http.ContentType; +import org.apache.james.GuiceJamesServer; +import org.apache.james.JmapServer; +import org.apache.james.WebAdminServer; +import org.apache.james.jmap.JmapAuthentication; +import org.apache.james.jmap.api.access.AccessToken; +import org.apache.james.mailbox.model.MailboxConstants; +import org.apache.james.mailbox.model.MailboxPath; +import org.apache.james.mailbox.store.mail.model.Mailbox; +import org.apache.james.utils.JmapGuiceProbe; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import javax.mail.Flags; +import java.io.ByteArrayInputStream; +import java.util.Date; + import static com.jayway.restassured.RestAssured.given; import static com.jayway.restassured.config.EncoderConfig.encoderConfig; import static com.jayway.restassured.config.RestAssuredConfig.newConfig; @@ -30,35 +51,15 @@ import static org.hamcrest.Matchers.isEmptyOrNullString; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; -import java.io.ByteArrayInputStream; -import java.util.Date; - -import javax.mail.Flags; - -import org.apache.james.GuiceJmapJamesServer; -import org.apache.james.jmap.JmapAuthentication; -import org.apache.james.jmap.api.access.AccessToken; -import org.apache.james.mailbox.model.MailboxConstants; -import org.apache.james.mailbox.model.MailboxPath; -import org.apache.james.mailbox.store.mail.model.Mailbox; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import com.google.common.base.Charsets; -import com.jayway.restassured.RestAssured; -import com.jayway.restassured.builder.RequestSpecBuilder; -import com.jayway.restassured.http.ContentType; - -public abstract class GetMailboxesMethodTest { +public abstract class GetMailboxesMethodTest<T extends GuiceJamesServer & JmapServer & WebAdminServer> { private static final String NAME = "[0][0]"; private static final String ARGUMENTS = "[0][1]"; - protected abstract GuiceJmapJamesServer createJmapServer(); + protected abstract T createJmapServer(); private AccessToken accessToken; private String username; - private GuiceJmapJamesServer jmapServer; + private T jmapServer; @Before public void setup() throws Throwable { @@ -69,8 +70,8 @@ public abstract class GetMailboxesMethodTest { .setContentType(ContentType.JSON) .setAccept(ContentType.JSON) .setConfig(newConfig().encoderConfig(encoderConfig().defaultContentCharset(Charsets.UTF_8))) - .setPort(jmapServer.getJmapPort() - .orElseThrow(() -> new RuntimeException("Unable to locate JMAP port"))) + .setPort(jmapServer.getJmapProbe() + .getJmapPort()) .build(); String domain = "domain.tld"; http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMessageListMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMessageListMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMessageListMethodTest.java index 69d72c8..cbb6df7 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMessageListMethodTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMessageListMethodTest.java @@ -36,12 +36,15 @@ import java.util.List; import javax.mail.Flags; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.GuiceJamesServer; +import org.apache.james.JmapServer; +import org.apache.james.WebAdminServer; import org.apache.james.jmap.JmapAuthentication; import org.apache.james.jmap.api.access.AccessToken; import org.apache.james.mailbox.model.MailboxConstants; import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; +import org.apache.james.utils.JmapGuiceProbe; import org.junit.After; import org.junit.Before; import org.junit.Ignore; @@ -52,18 +55,18 @@ import com.jayway.restassured.RestAssured; import com.jayway.restassured.builder.RequestSpecBuilder; import com.jayway.restassured.http.ContentType; -public abstract class GetMessageListMethodTest { +public abstract class GetMessageListMethodTest<T extends GuiceJamesServer & JmapServer & WebAdminServer> { private static final String NAME = "[0][0]"; private static final String ARGUMENTS = "[0][1]"; - protected abstract GuiceJmapJamesServer createJmapServer(); + protected abstract T createJmapServer(); protected abstract void await(); private AccessToken accessToken; private String username; private String domain; - private GuiceJmapJamesServer jmapServer; + private T jmapServer; @Before public void setup() throws Throwable { @@ -73,8 +76,8 @@ public abstract class GetMessageListMethodTest { .setContentType(ContentType.JSON) .setAccept(ContentType.JSON) .setConfig(newConfig().encoderConfig(encoderConfig().defaultContentCharset(Charsets.UTF_8))) - .setPort(jmapServer.getJmapPort() - .orElseThrow(() -> new RuntimeException("Unable to locate JMAP port"))) + .setPort(jmapServer.getJmapProbe() + .getJmapPort()) .build(); this.domain = "domain.tld"; http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetVacationResponseTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetVacationResponseTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetVacationResponseTest.java index 8fce0ee..15c69eb 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetVacationResponseTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetVacationResponseTest.java @@ -28,13 +28,16 @@ import static org.hamcrest.core.IsNull.nullValue; import java.time.ZonedDateTime; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.GuiceJamesServer; +import org.apache.james.JmapServer; +import org.apache.james.WebAdminServer; import org.apache.james.jmap.FixedDateZonedDateTimeProvider; import org.apache.james.jmap.JmapAuthentication; import org.apache.james.jmap.api.access.AccessToken; import org.apache.james.jmap.api.vacation.AccountId; import org.apache.james.jmap.api.vacation.VacationPatch; import org.apache.james.util.date.ZonedDateTimeProvider; +import org.apache.james.utils.JmapGuiceProbe; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -44,7 +47,7 @@ import com.jayway.restassured.RestAssured; import com.jayway.restassured.builder.RequestSpecBuilder; import com.jayway.restassured.http.ContentType; -public abstract class GetVacationResponseTest { +public abstract class GetVacationResponseTest<T extends GuiceJamesServer & JmapServer & WebAdminServer> { private static final String NAME = "[0][0]"; private static final String ARGUMENTS = "[0][1]"; @@ -55,13 +58,14 @@ public abstract class GetVacationResponseTest { public static final ZonedDateTime DATE_2015 = ZonedDateTime.parse("2015-10-15T14:10:00Z"); public static final ZonedDateTime DATE_2014 = ZonedDateTime.parse("2014-09-30T14:10:00+02:00"); public static final ZonedDateTime DATE_2016 = ZonedDateTime.parse("2016-04-15T11:56:32.224+07:00[Asia/Vientiane]"); + private JmapGuiceProbe jmapGuiceProbe; - protected abstract GuiceJmapJamesServer createJmapServer(ZonedDateTimeProvider zonedDateTimeProvider); + protected abstract T createJmapServer(ZonedDateTimeProvider zonedDateTimeProvider); protected abstract void await(); private AccessToken accessToken; - private GuiceJmapJamesServer jmapServer; + private T jmapServer; private FixedDateZonedDateTimeProvider fixedDateZonedDateTimeProvider; @Before @@ -72,12 +76,12 @@ public abstract class GetVacationResponseTest { jmapServer = createJmapServer(fixedDateZonedDateTimeProvider); jmapServer.start(); + jmapGuiceProbe = jmapServer.getJmapProbe(); RestAssured.requestSpecification = new RequestSpecBuilder() .setContentType(ContentType.JSON) .setAccept(ContentType.JSON) .setConfig(newConfig().encoderConfig(encoderConfig().defaultContentCharset(Charsets.UTF_8))) - .setPort(jmapServer.getJmapPort() - .orElseThrow(() -> new RuntimeException("Unable to locate JMAP port"))) + .setPort(jmapGuiceProbe.getJmapPort()) .build(); @@ -120,7 +124,7 @@ public abstract class GetVacationResponseTest { @Test public void getVacationResponseShouldReturnStoredValue() { - jmapServer.serverProbe().modifyVacation(AccountId.fromString(USER), + jmapGuiceProbe.modifyVacation(AccountId.fromString(USER), VacationPatch.builder() .isEnabled(true) .fromDate(ZonedDateTime.parse("2014-09-30T14:10:00Z")) @@ -155,7 +159,7 @@ public abstract class GetVacationResponseTest { @Test public void getVacationResponseShouldReturnStoredValueWithNonDefaultTimezone() { - jmapServer.serverProbe().modifyVacation(AccountId.fromString(USER), + jmapGuiceProbe.modifyVacation(AccountId.fromString(USER), VacationPatch.builder() .isEnabled(true) .fromDate(ZonedDateTime.parse("2014-09-30T14:10:00+02:00")) @@ -186,7 +190,7 @@ public abstract class GetVacationResponseTest { @Test public void getVacationResponseShouldReturnIsActivatedWhenInRange() { - jmapServer.serverProbe().modifyVacation(AccountId.fromString(USER), + jmapGuiceProbe.modifyVacation(AccountId.fromString(USER), VacationPatch.builder() .isEnabled(true) .fromDate(DATE_2014) @@ -215,7 +219,7 @@ public abstract class GetVacationResponseTest { public void getVacationResponseShouldNotReturnIsActivatedWhenOutOfRange() { fixedDateZonedDateTimeProvider.setFixedDateTime(DATE_2014); - jmapServer.serverProbe().modifyVacation(AccountId.fromString(USER), + jmapGuiceProbe.modifyVacation(AccountId.fromString(USER), VacationPatch.builder() .isEnabled(true) .fromDate(DATE_2015) @@ -242,7 +246,7 @@ public abstract class GetVacationResponseTest { @Test public void accountIdIsNotSupported() { - jmapServer.serverProbe().modifyVacation(AccountId.fromString(USER), + jmapGuiceProbe.modifyVacation(AccountId.fromString(USER), VacationPatch.builder() .isEnabled(true) .fromDate(ZonedDateTime.parse("2014-09-30T14:10:00+02:00")) http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMailboxesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMailboxesMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMailboxesMethodTest.java index ba0b30e..5196788 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMailboxesMethodTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMailboxesMethodTest.java @@ -36,12 +36,15 @@ import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; import static org.hamcrest.collection.IsMapWithSize.aMapWithSize; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.GuiceJamesServer; +import org.apache.james.JmapServer; +import org.apache.james.WebAdminServer; import org.apache.james.jmap.JmapAuthentication; import org.apache.james.jmap.api.access.AccessToken; import org.apache.james.mailbox.model.MailboxConstants; import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.store.mail.model.Mailbox; +import org.apache.james.utils.JmapGuiceProbe; import org.hamcrest.Matchers; import org.junit.After; import org.junit.Before; @@ -52,19 +55,19 @@ import com.jayway.restassured.RestAssured; import com.jayway.restassured.builder.RequestSpecBuilder; import com.jayway.restassured.http.ContentType; -public abstract class SetMailboxesMethodTest { +public abstract class SetMailboxesMethodTest<T extends GuiceJamesServer & JmapServer & WebAdminServer> { private static final String NAME = "[0][0]"; private static final String ARGUMENTS = "[0][1]"; private static final String USERS_DOMAIN = "domain.tld"; - protected abstract GuiceJmapJamesServer createJmapServer(); + protected abstract T createJmapServer(); protected abstract void await(); private AccessToken accessToken; private String username; - private GuiceJmapJamesServer jmapServer; + private T jmapServer; @Before public void setup() throws Throwable { @@ -75,8 +78,8 @@ public abstract class SetMailboxesMethodTest { .setContentType(ContentType.JSON) .setAccept(ContentType.JSON) .setConfig(newConfig().encoderConfig(encoderConfig().defaultContentCharset(Charsets.UTF_8))) - .setPort(jmapServer.getJmapPort() - .orElseThrow(() -> new RuntimeException("Unable to locate JMAP port"))) + .setPort(jmapServer.getJmapProbe() + .getJmapPort()) .build(); RestAssured.enableLoggingOfRequestAndResponseIfValidationFails(); http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java index 959ed44..c45a35b 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java @@ -48,9 +48,10 @@ import java.util.stream.Collectors; import javax.mail.Flags; -import com.google.common.collect.ImmutableList; import org.apache.commons.io.IOUtils; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.GuiceJamesServer; +import org.apache.james.JmapServer; +import org.apache.james.WebAdminServer; import org.apache.james.jmap.JmapAuthentication; import org.apache.james.jmap.api.access.AccessToken; import org.apache.james.jmap.model.mailbox.Role; @@ -60,6 +61,7 @@ import org.apache.james.mailbox.model.MailboxConstants; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.store.mail.model.Mailbox; import org.apache.james.util.ZeroedInputStream; +import org.apache.james.utils.JmapGuiceProbe; import org.hamcrest.Matcher; import org.hamcrest.Matchers; import org.junit.After; @@ -68,6 +70,7 @@ import org.junit.Ignore; import org.junit.Test; import com.google.common.base.Charsets; +import com.google.common.collect.ImmutableList; import com.google.common.io.ByteStreams; import com.jayway.awaitility.Awaitility; import com.jayway.awaitility.Duration; @@ -78,7 +81,7 @@ import com.jayway.restassured.builder.ResponseSpecBuilder; import com.jayway.restassured.http.ContentType; import com.jayway.restassured.specification.ResponseSpecification; -public abstract class SetMessagesMethodTest { +public abstract class SetMessagesMethodTest<T extends GuiceJamesServer & JmapServer & WebAdminServer> { private static final int _1MB = 1024*1024; private static final String NAME = "[0][0]"; @@ -90,13 +93,13 @@ public abstract class SetMessagesMethodTest { private ConditionFactory calmlyAwait; - protected abstract GuiceJmapJamesServer createJmapServer(); + protected abstract T createJmapServer(); protected abstract void await(); private AccessToken accessToken; private String username; - private GuiceJmapJamesServer jmapServer; + private T jmapServer; @Before public void setup() throws Throwable { @@ -106,8 +109,8 @@ public abstract class SetMessagesMethodTest { .setContentType(ContentType.JSON) .setAccept(ContentType.JSON) .setConfig(newConfig().encoderConfig(encoderConfig().defaultContentCharset(Charsets.UTF_8))) - .setPort(jmapServer.getJmapPort() - .orElseThrow(() -> new RuntimeException("Unable to locate JMAP port"))) + .setPort(jmapServer.getJmapProbe() + .getJmapPort()) .build(); username = "username@" + USERS_DOMAIN; http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetVacationResponseTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetVacationResponseTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetVacationResponseTest.java index 23a35e9..be04ecb 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetVacationResponseTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetVacationResponseTest.java @@ -28,13 +28,16 @@ import static org.hamcrest.Matchers.equalTo; import java.time.ZonedDateTime; import java.util.Optional; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.GuiceJamesServer; +import org.apache.james.JmapServer; +import org.apache.james.WebAdminServer; import org.apache.james.jmap.JmapAuthentication; import org.apache.james.jmap.api.access.AccessToken; import org.apache.james.jmap.api.vacation.AccountId; import org.apache.james.jmap.api.vacation.Vacation; import org.apache.james.jmap.api.vacation.VacationPatch; import org.apache.james.util.ValuePatch; +import org.apache.james.utils.JmapGuiceProbe; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -44,7 +47,7 @@ import com.jayway.restassured.RestAssured; import com.jayway.restassured.builder.RequestSpecBuilder; import com.jayway.restassured.http.ContentType; -public abstract class SetVacationResponseTest { +public abstract class SetVacationResponseTest<T extends GuiceJamesServer & JmapServer & WebAdminServer> { private static final String NAME = "[0][0]"; private static final String ARGUMENTS = "[0][1]"; @@ -52,24 +55,26 @@ public abstract class SetVacationResponseTest { public static final String USER = "username@" + USERS_DOMAIN; public static final String PASSWORD = "password"; public static final String SUBJECT = "subject"; + private JmapGuiceProbe jmapGuiceProbe; - protected abstract GuiceJmapJamesServer createJmapServer(); + protected abstract T createJmapServer(); protected abstract void await(); private AccessToken accessToken; - private GuiceJmapJamesServer jmapServer; + private T jmapServer; @Before public void setup() throws Throwable { jmapServer = createJmapServer(); jmapServer.start(); + jmapGuiceProbe = jmapServer.getJmapProbe(); RestAssured.requestSpecification = new RequestSpecBuilder() .setContentType(ContentType.JSON) .setAccept(ContentType.JSON) .setConfig(newConfig().encoderConfig(encoderConfig().defaultContentCharset(Charsets.UTF_8))) - .setPort(jmapServer.getJmapPort() - .orElseThrow(() -> new RuntimeException("Unable to locate JMAP port"))) + .setPort(jmapGuiceProbe + .getJmapPort()) .build(); jmapServer.serverProbe().addDomain(USERS_DOMAIN); @@ -200,7 +205,7 @@ public abstract class SetVacationResponseTest { .body(NAME, equalTo("vacationResponseSet")) .body(ARGUMENTS + ".updated[0]", equalTo("singleton")); - Vacation vacation = jmapServer.serverProbe().retrieveVacation(AccountId.fromString(USER)); + Vacation vacation = jmapGuiceProbe.retrieveVacation(AccountId.fromString(USER)); assertThat(vacation.getTextBody()).contains("Message explaining my wonderful vacations"); assertThat(vacation.getHtmlBody()).contains("<p>Here is the HTML version</p>"); assertThat(vacation.isEnabled()).isTrue(); @@ -211,7 +216,7 @@ public abstract class SetVacationResponseTest { @Test public void setVacationResponseShouldAllowResets() { - jmapServer.serverProbe().modifyVacation(AccountId.fromString(USER), + jmapGuiceProbe.modifyVacation(AccountId.fromString(USER), VacationPatch.builder() .textBody(ValuePatch.modifyTo("any value")) .build()); @@ -239,7 +244,7 @@ public abstract class SetVacationResponseTest { .body(NAME, equalTo("vacationResponseSet")) .body(ARGUMENTS + ".updated[0]", equalTo("singleton")); - assertThat(jmapServer.serverProbe().retrieveVacation(AccountId.fromString(USER))) + assertThat(jmapGuiceProbe.retrieveVacation(AccountId.fromString(USER))) .isEqualTo(Vacation.builder() .enabled(false) .build()); @@ -249,7 +254,7 @@ public abstract class SetVacationResponseTest { public void setVacationResponseShouldNotAlterAbsentProperties() { String textBody = "any value"; String subject = "any subject"; - jmapServer.serverProbe().modifyVacation(AccountId.fromString(USER), + jmapGuiceProbe.modifyVacation(AccountId.fromString(USER), VacationPatch.builder() .textBody(ValuePatch.modifyTo(textBody)) .build()); @@ -279,7 +284,7 @@ public abstract class SetVacationResponseTest { .body(NAME, equalTo("vacationResponseSet")) .body(ARGUMENTS + ".updated[0]", equalTo("singleton")); - assertThat(jmapServer.serverProbe().retrieveVacation(AccountId.fromString(USER))) + assertThat(jmapGuiceProbe.retrieveVacation(AccountId.fromString(USER))) .isEqualTo(Vacation.builder() .enabled(false) .subject(Optional.of(subject)) @@ -289,7 +294,7 @@ public abstract class SetVacationResponseTest { @Test public void setVacationResponseShouldAllowPartialUpdates() { - jmapServer.serverProbe().modifyVacation(AccountId.fromString(USER), + jmapGuiceProbe.modifyVacation(AccountId.fromString(USER), VacationPatch.builder() .textBody(ValuePatch.modifyTo("any value")) .build()); @@ -318,7 +323,7 @@ public abstract class SetVacationResponseTest { .body(NAME, equalTo("vacationResponseSet")) .body(ARGUMENTS + ".updated[0]", equalTo("singleton")); - assertThat(jmapServer.serverProbe().retrieveVacation(AccountId.fromString(USER))) + assertThat(jmapGuiceProbe.retrieveVacation(AccountId.fromString(USER))) .isEqualTo(Vacation.builder() .enabled(false) .textBody(newTextBody) @@ -353,7 +358,7 @@ public abstract class SetVacationResponseTest { .body(NAME, equalTo("vacationResponseSet")) .body(ARGUMENTS + ".updated[0]", equalTo("singleton")); - Vacation vacation = jmapServer.serverProbe().retrieveVacation(AccountId.fromString(USER)); + Vacation vacation = jmapGuiceProbe.retrieveVacation(AccountId.fromString(USER)); assertThat(vacation.getTextBody()).contains("Message explaining my wonderful vacations"); assertThat(vacation.isEnabled()).isTrue(); assertThat(vacation.getFromDate()).contains(ZonedDateTime.parse("2016-04-03T02:01+07:00[Asia/Vientiane]")); http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/MainStepdefs.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/MainStepdefs.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/MainStepdefs.java index 3d91cf2..525b563 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/MainStepdefs.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/MainStepdefs.java @@ -20,16 +20,18 @@ package org.apache.james.jmap.methods.integration.cucumber; import org.apache.http.client.utils.URIBuilder; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.GuiceJamesServer; +import org.apache.james.JmapServer; +import org.apache.james.WebAdminServer; +import org.apache.james.utils.JmapGuiceProbe; import com.google.common.base.Charsets; - import cucumber.runtime.java.guice.ScenarioScoped; @ScenarioScoped -public class MainStepdefs { +public class MainStepdefs<T extends GuiceJamesServer & JmapServer & WebAdminServer> { - public GuiceJmapJamesServer jmapServer; + public T jmapServer; public Runnable awaitMethod = () -> {}; public void init() throws Exception { @@ -41,8 +43,8 @@ public class MainStepdefs { return new URIBuilder() .setScheme("http") .setHost("localhost") - .setPort(jmapServer.getJmapPort() - .orElseThrow(() -> new RuntimeException("Unable to locate JMAP port"))) + .setPort(jmapServer.getJmapProbe() + .getJmapPort()) .setCharset(Charsets.UTF_8); } http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryGetMailboxesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryGetMailboxesMethodTest.java b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryGetMailboxesMethodTest.java index f352177..0be8484 100644 --- a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryGetMailboxesMethodTest.java +++ b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryGetMailboxesMethodTest.java @@ -19,21 +19,21 @@ package org.apache.james.jmap.memory; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.MemoryJamesServer; import org.apache.james.MemoryJamesServerMain; import org.apache.james.jmap.methods.integration.GetMailboxesMethodTest; import org.apache.james.jmap.servers.MemoryJmapServerModule; import org.junit.Rule; import org.junit.rules.TemporaryFolder; -public class MemoryGetMailboxesMethodTest extends GetMailboxesMethodTest { +public class MemoryGetMailboxesMethodTest extends GetMailboxesMethodTest<MemoryJamesServer> { @Rule public TemporaryFolder temporaryFolder = new TemporaryFolder(); @Override - protected GuiceJmapJamesServer createJmapServer() { - return new GuiceJmapJamesServer() + protected MemoryJamesServer createJmapServer() { + return new MemoryJamesServer() .combineWith(MemoryJamesServerMain.inMemoryServerModule) .overrideWith(new MemoryJmapServerModule(temporaryFolder)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryGetMessageListMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryGetMessageListMethodTest.java b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryGetMessageListMethodTest.java index 3c22d03..845e1fa 100644 --- a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryGetMessageListMethodTest.java +++ b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryGetMessageListMethodTest.java @@ -19,21 +19,21 @@ package org.apache.james.jmap.memory; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.MemoryJamesServer; import org.apache.james.MemoryJamesServerMain; import org.apache.james.jmap.methods.integration.GetMessageListMethodTest; import org.apache.james.jmap.servers.MemoryJmapServerModule; import org.junit.Rule; import org.junit.rules.TemporaryFolder; -public class MemoryGetMessageListMethodTest extends GetMessageListMethodTest { +public class MemoryGetMessageListMethodTest extends GetMessageListMethodTest<MemoryJamesServer> { @Rule public TemporaryFolder temporaryFolder = new TemporaryFolder(); @Override - protected GuiceJmapJamesServer createJmapServer() { - return new GuiceJmapJamesServer() + protected MemoryJamesServer createJmapServer() { + return new MemoryJamesServer() .combineWith(MemoryJamesServerMain.inMemoryServerModule) .overrideWith(new MemoryJmapServerModule(temporaryFolder)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryGetVacationResponseMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryGetVacationResponseMethodTest.java b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryGetVacationResponseMethodTest.java index 14bdfbf..02d8ada 100644 --- a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryGetVacationResponseMethodTest.java +++ b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryGetVacationResponseMethodTest.java @@ -19,7 +19,7 @@ package org.apache.james.jmap.memory; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.MemoryJamesServer; import org.apache.james.MemoryJamesServerMain; import org.apache.james.jmap.methods.integration.GetVacationResponseTest; import org.apache.james.jmap.servers.MemoryJmapServerModule; @@ -27,14 +27,14 @@ import org.apache.james.util.date.ZonedDateTimeProvider; import org.junit.Rule; import org.junit.rules.TemporaryFolder; -public class MemoryGetVacationResponseMethodTest extends GetVacationResponseTest { +public class MemoryGetVacationResponseMethodTest extends GetVacationResponseTest<MemoryJamesServer> { @Rule public TemporaryFolder temporaryFolder = new TemporaryFolder(); @Override - protected GuiceJmapJamesServer createJmapServer(ZonedDateTimeProvider zonedDateTimeProvider) { - return new GuiceJmapJamesServer() + protected MemoryJamesServer createJmapServer(ZonedDateTimeProvider zonedDateTimeProvider) { + return new MemoryJamesServer() .combineWith(MemoryJamesServerMain.inMemoryServerModule) .overrideWith(new MemoryJmapServerModule(temporaryFolder), binder -> binder.bind(ZonedDateTimeProvider.class).toInstance(zonedDateTimeProvider)); http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryJmapAuthenticationTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryJmapAuthenticationTest.java b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryJmapAuthenticationTest.java index 50880f0..927c513 100644 --- a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryJmapAuthenticationTest.java +++ b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryJmapAuthenticationTest.java @@ -19,7 +19,7 @@ package org.apache.james.jmap.memory; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.MemoryJamesServer; import org.apache.james.MemoryJamesServerMain; import org.apache.james.jmap.FixedDateZonedDateTimeProvider; import org.apache.james.jmap.JMAPAuthenticationTest; @@ -28,14 +28,14 @@ import org.apache.james.util.date.ZonedDateTimeProvider; import org.junit.Rule; import org.junit.rules.TemporaryFolder; -public class MemoryJmapAuthenticationTest extends JMAPAuthenticationTest { +public class MemoryJmapAuthenticationTest extends JMAPAuthenticationTest<MemoryJamesServer> { @Rule public TemporaryFolder temporaryFolder = new TemporaryFolder(); @Override - protected GuiceJmapJamesServer createJmapServer(FixedDateZonedDateTimeProvider zonedDateTimeProvider) { - return new GuiceJmapJamesServer() + protected MemoryJamesServer createJmapServer(FixedDateZonedDateTimeProvider zonedDateTimeProvider) { + return new MemoryJamesServer() .combineWith(MemoryJamesServerMain.inMemoryServerModule) .overrideWith(new MemoryJmapServerModule(temporaryFolder), (binder) -> binder.bind(ZonedDateTimeProvider.class).toInstance(zonedDateTimeProvider)); http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetMailboxesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetMailboxesMethodTest.java b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetMailboxesMethodTest.java index c8ebc7a..4e98f06 100644 --- a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetMailboxesMethodTest.java +++ b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetMailboxesMethodTest.java @@ -19,21 +19,21 @@ package org.apache.james.jmap.memory; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.MemoryJamesServer; import org.apache.james.MemoryJamesServerMain; import org.apache.james.jmap.methods.integration.SetMailboxesMethodTest; import org.apache.james.jmap.servers.MemoryJmapServerModule; import org.junit.Rule; import org.junit.rules.TemporaryFolder; -public class MemorySetMailboxesMethodTest extends SetMailboxesMethodTest { +public class MemorySetMailboxesMethodTest extends SetMailboxesMethodTest<MemoryJamesServer> { @Rule public TemporaryFolder temporaryFolder = new TemporaryFolder(); @Override - protected GuiceJmapJamesServer createJmapServer() { - return new GuiceJmapJamesServer() + protected MemoryJamesServer createJmapServer() { + return new MemoryJamesServer() .combineWith(MemoryJamesServerMain.inMemoryServerModule) .overrideWith(new MemoryJmapServerModule(temporaryFolder)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetMessagesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetMessagesMethodTest.java b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetMessagesMethodTest.java index 5b5e3d2..98697d2 100644 --- a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetMessagesMethodTest.java +++ b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetMessagesMethodTest.java @@ -19,21 +19,21 @@ package org.apache.james.jmap.memory; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.MemoryJamesServer; import org.apache.james.MemoryJamesServerMain; import org.apache.james.jmap.methods.integration.SetMessagesMethodTest; import org.apache.james.jmap.servers.MemoryJmapServerModule; import org.junit.Rule; import org.junit.rules.TemporaryFolder; -public class MemorySetMessagesMethodTest extends SetMessagesMethodTest { +public class MemorySetMessagesMethodTest extends SetMessagesMethodTest<MemoryJamesServer> { @Rule public TemporaryFolder temporaryFolder = new TemporaryFolder(); @Override - protected GuiceJmapJamesServer createJmapServer() { - return new GuiceJmapJamesServer() + protected MemoryJamesServer createJmapServer() { + return new MemoryJamesServer() .combineWith(MemoryJamesServerMain.inMemoryServerModule) .overrideWith(new MemoryJmapServerModule(temporaryFolder)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetVacationResponseMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetVacationResponseMethodTest.java b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetVacationResponseMethodTest.java index 3524510..816a510 100644 --- a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetVacationResponseMethodTest.java +++ b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySetVacationResponseMethodTest.java @@ -19,21 +19,21 @@ package org.apache.james.jmap.memory; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.MemoryJamesServer; import org.apache.james.MemoryJamesServerMain; import org.apache.james.jmap.methods.integration.SetVacationResponseTest; import org.apache.james.jmap.servers.MemoryJmapServerModule; import org.junit.Rule; import org.junit.rules.TemporaryFolder; -public class MemorySetVacationResponseMethodTest extends SetVacationResponseTest { +public class MemorySetVacationResponseMethodTest extends SetVacationResponseTest<MemoryJamesServer> { @Rule public TemporaryFolder temporaryFolder = new TemporaryFolder(); @Override - protected GuiceJmapJamesServer createJmapServer() { - return new GuiceJmapJamesServer() + protected MemoryJamesServer createJmapServer() { + return new MemoryJamesServer() .combineWith(MemoryJamesServerMain.inMemoryServerModule) .overrideWith(new MemoryJmapServerModule(temporaryFolder)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryVacationIntegrationTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryVacationIntegrationTest.java b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryVacationIntegrationTest.java index e238e01..253c8ba 100644 --- a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryVacationIntegrationTest.java +++ b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryVacationIntegrationTest.java @@ -19,21 +19,21 @@ package org.apache.james.jmap.memory; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.MemoryJamesServer; import org.apache.james.MemoryJamesServerMain; import org.apache.james.jmap.VacationIntegrationTest; import org.apache.james.jmap.servers.MemoryJmapServerModule; import org.junit.Rule; import org.junit.rules.TemporaryFolder; -public class MemoryVacationIntegrationTest extends VacationIntegrationTest { +public class MemoryVacationIntegrationTest extends VacationIntegrationTest<MemoryJamesServer> { @Rule public TemporaryFolder temporaryFolder = new TemporaryFolder(); @Override - protected GuiceJmapJamesServer createJmapServer() { - return new GuiceJmapJamesServer() + protected MemoryJamesServer createJmapServer() { + return new MemoryJamesServer() .combineWith(MemoryJamesServerMain.inMemoryServerModule) .overrideWith(new MemoryJmapServerModule(temporaryFolder)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryStepdefs.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryStepdefs.java b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryStepdefs.java index 66fe90c..fc36fc7 100644 --- a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryStepdefs.java +++ b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryStepdefs.java @@ -21,7 +21,7 @@ package org.apache.james.jmap.memory.cucumber; import javax.inject.Inject; -import org.apache.james.GuiceJmapJamesServer; +import org.apache.james.MemoryJamesServer; import org.apache.james.MemoryJamesServerMain; import org.apache.james.jmap.methods.integration.cucumber.MainStepdefs; import org.apache.james.jmap.servers.MemoryJmapServerModule; @@ -46,7 +46,7 @@ public class MemoryStepdefs { @Before public void init() throws Exception { temporaryFolder.create(); - mainStepdefs.jmapServer = new GuiceJmapJamesServer() + mainStepdefs.jmapServer = new MemoryJamesServer() .combineWith(MemoryJamesServerMain.inMemoryServerModule) .overrideWith(new MemoryJmapServerModule(temporaryFolder)); mainStepdefs.init(); http://git-wip-us.apache.org/repos/asf/james-project/blob/ebbf1e6f/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 84ebdb1..83a33e4 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 @@ -27,8 +27,8 @@ import static org.apache.james.webadmin.Constants.SEPARATOR; import static org.assertj.core.api.Assertions.assertThat; import static org.hamcrest.Matchers.is; +import org.apache.james.CassandraJamesServer; import org.apache.james.CassandraJamesServerMain; -import org.apache.james.GuiceJmapJamesServer; import org.apache.james.backends.cassandra.EmbeddedCassandra; import org.apache.james.mailbox.elasticsearch.EmbeddedElasticSearch; import org.apache.james.modules.CassandraJmapServerModule; @@ -65,11 +65,11 @@ public class WebAdminServerIntegrationTest { .outerRule(temporaryFolder) .around(embeddedElasticSearch); - private GuiceJmapJamesServer guiceJamesServer; + private CassandraJamesServer guiceJamesServer; @Before public void setUp() throws Exception { - guiceJamesServer = new GuiceJmapJamesServer() + guiceJamesServer = new CassandraJamesServer() .combineWith(CassandraJamesServerMain.cassandraServerModule) .overrideWith(new CassandraJmapServerModule(temporaryFolder, embeddedElasticSearch, cassandra), new WebAdminConfigurationModule()); @@ -79,10 +79,7 @@ public class WebAdminServerIntegrationTest { .setContentType(ContentType.JSON) .setAccept(ContentType.JSON) .setConfig(newConfig().encoderConfig(encoderConfig().defaultContentCharset(Charsets.UTF_8))) - .setPort(guiceJamesServer - .getWebadminPort() - .orElseThrow(() -> new RuntimeException("Unable to locate Web Admin port")) - .toInt()) + .setPort(guiceJamesServer.getWebAdminProbe().getWebAdminPort()) .build(); } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org