This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit b94374f4a640472e3e0d4acf1d3fc70c83d76c5c Author: Benoit Tellier <[email protected]> AuthorDate: Fri Oct 30 15:49:27 2020 +0700 JAMES-2366 Demonstrate forward with local copy works with SMTP --- .../webadmin-integration-test-common/pom.xml | 4 +++ .../integration/ForwardIntegrationTest.java | 38 ++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/pom.xml b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/pom.xml index 36f1dfe..ad7cc02 100644 --- a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/pom.xml +++ b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/pom.xml @@ -81,6 +81,10 @@ </dependency> <dependency> <groupId>${james.groupId}</groupId> + <artifactId>james-server-guice-smtp</artifactId> + </dependency> + <dependency> + <groupId>${james.groupId}</groupId> <artifactId>james-server-guice-webadmin</artifactId> </dependency> <dependency> diff --git a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/ForwardIntegrationTest.java b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/ForwardIntegrationTest.java index f0d2be3..f656f8f 100644 --- a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/ForwardIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/ForwardIntegrationTest.java @@ -46,6 +46,7 @@ import org.apache.james.GuiceJamesServer; import org.apache.james.jmap.AccessToken; import org.apache.james.jmap.draft.JmapGuiceProbe; import org.apache.james.junit.categories.BasicFeature; +import org.apache.james.modules.protocols.SmtpGuiceProbe; import org.apache.james.probe.DataProbe; import org.apache.james.util.Port; import org.apache.james.utils.DataProbeImpl; @@ -199,6 +200,43 @@ public abstract class ForwardIntegrationTest { } @Test + void smtpMessageShouldBeForwardedWhenBaseRecipientWhenInDestination(GuiceJamesServer jmapServer) throws Exception { + webAdminApi.put(String.format("/address/forwards/%s/targets/%s", ALICE.asString(), BOB.asString())); + webAdminApi.put(String.format("/address/forwards/%s/targets/%s", ALICE.asString(), ALICE.asString())); + + messageSender + .connect("127.0.0.1", jmapServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()) + .sendMessage("[email protected]", ALICE.asString()); + + AccessToken bobAccessToken = authenticateJamesUser(baseUri(jmapPort), BOB, BOB_PASSWORD); + calmlyAwait + .pollDelay(Duration.FIVE_HUNDRED_MILLISECONDS) + .atMost(30, TimeUnit.SECONDS).until(() -> isAnyMessageFoundInRecipientsMailboxes(bobAccessToken)); + given() + .header("Authorization", bobAccessToken.asString()) + .body("[[\"getMessageList\", {}, \"#0\"]]") + .when() + .post("/jmap") + .then() + .log().ifValidationFails() + .statusCode(200) + .body(NAME, equalTo("messageList")) + .body(ARGUMENTS + ".messageIds", hasSize(1)); + + AccessToken aliceAccessToken = authenticateJamesUser(baseUri(jmapPort), ALICE, ALICE_PASSWORD); + given() + .header("Authorization", aliceAccessToken.asString()) + .body("[[\"getMessageList\", {}, \"#0\"]]") + .when() + .post("/jmap") + .then() + .log().ifValidationFails() + .statusCode(200) + .body(NAME, equalTo("messageList")) + .body(ARGUMENTS + ".messageIds", hasSize(1)); + } + + @Test void recursiveForwardShouldWork() { webAdminApi.put(String.format("/address/forwards/%s/targets/%s", ALICE.asString(), CEDRIC.asString())); webAdminApi.put(String.format("/address/forwards/%s/targets/%s", CEDRIC.asString(), BOB.asString())); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
