You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ro...@apache.org on 2017/01/09 08:40:53 UTC
james-project git commit: JAMES-1903: Automatically subscribe the
user to a folder created with JMAP
Repository: james-project
Updated Branches:
refs/heads/master 20e6f63b9 -> 84c66946d
JAMES-1903: Automatically subscribe the user to a folder created with JMAP
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/84c66946
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/84c66946
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/84c66946
Branch: refs/heads/master
Commit: 84c66946d955b1e63d1a59eba63e290d88a87e8f
Parents: 20e6f63
Author: Quynh Nguyen <qn...@linagora.com>
Authored: Tue Dec 27 17:13:22 2016 +0700
Committer: Quynh Nguyen <qn...@linagora.com>
Committed: Mon Jan 9 09:53:44 2017 +0700
----------------------------------------------------------------------
.../apache/james/utils/ExtendedServerProbe.java | 3 +
.../apache/james/utils/GuiceServerProbe.java | 11 +-
.../integration/SetMailboxesMethodTest.java | 221 +++++++++++++++++++
.../methods/SetMailboxesCreationProcessor.java | 6 +-
.../SetMailboxesDestructionProcessor.java | 6 +-
.../methods/SetMailboxesUpdateProcessor.java | 8 +-
.../SetMailboxesCreationProcessorTest.java | 4 +-
.../SetMailboxesUpdateProcessorTest.java | 5 +-
8 files changed, 258 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/84c66946/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ExtendedServerProbe.java
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ExtendedServerProbe.java b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ExtendedServerProbe.java
index 77f2947..bcd5296 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ExtendedServerProbe.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ExtendedServerProbe.java
@@ -20,6 +20,7 @@
package org.apache.james.utils;
import java.io.InputStream;
+import java.util.Collection;
import java.util.Date;
import javax.mail.Flags;
@@ -40,4 +41,6 @@ public interface ExtendedServerProbe extends ServerProbe {
void addActiveSieveScript(String user, String name, String script) throws Exception;
+ Collection<String> listSubscriptions(String user) throws Exception;
+
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/84c66946/server/container/guice/guice-common/src/main/java/org/apache/james/utils/GuiceServerProbe.java
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/GuiceServerProbe.java b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/GuiceServerProbe.java
index 2ad3c54..fa28cd0 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/GuiceServerProbe.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/GuiceServerProbe.java
@@ -35,6 +35,7 @@ import org.apache.james.domainlist.api.DomainList;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MessageManager;
+import org.apache.james.mailbox.SubscriptionManager;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.ComposedMessageId;
import org.apache.james.mailbox.model.MailboxConstants;
@@ -65,17 +66,19 @@ public class GuiceServerProbe implements ExtendedServerProbe, GuiceProbe {
private final UsersRepository usersRepository;
private final RecipientRewriteTable recipientRewriteTable;
private final SieveRepository sieveRepository;
+ private final SubscriptionManager subscriptionManager;
@Inject
private GuiceServerProbe(MailboxManager mailboxManager, MailboxMapperFactory mailboxMapperFactory,
DomainList domainList, UsersRepository usersRepository, SieveRepository sieveRepository,
- RecipientRewriteTable recipientRewriteTable) {
+ RecipientRewriteTable recipientRewriteTable, SubscriptionManager subscriptionManager) {
this.mailboxManager = mailboxManager;
this.mailboxMapperFactory = mailboxMapperFactory;
this.domainList = domainList;
this.usersRepository = usersRepository;
this.sieveRepository = sieveRepository;
this.recipientRewriteTable = recipientRewriteTable;
+ this.subscriptionManager = subscriptionManager;
}
@Override
@@ -355,4 +358,10 @@ public class GuiceServerProbe implements ExtendedServerProbe, GuiceProbe {
sieveRepository.putScript(user, name, script);
sieveRepository.setActive(user, name);
}
+
+ @Override
+ public Collection<String> listSubscriptions(String user) throws Exception {
+ MailboxSession mailboxSession = mailboxManager.createSystemSession(user, LOGGER);
+ return subscriptionManager.subscriptions(mailboxSession);
+ }
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/84c66946/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 5a8e86b..6e229a3 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
@@ -23,6 +23,7 @@ import static com.jayway.restassured.RestAssured.given;
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.assertj.core.api.Assertions.assertThat;
import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.containsInAnyOrder;
import static org.hamcrest.Matchers.containsString;
@@ -96,6 +97,226 @@ public abstract class SetMailboxesMethodTest {
}
@Test
+ public void userShouldBeSubscribedOnCreatedMailboxWhenCreateMailbox() throws Exception{
+ String requestBody =
+ "[" +
+ " [ \"setMailboxes\"," +
+ " {" +
+ " \"create\": {" +
+ " \"create-id01\" : {" +
+ " \"name\" : \"foo\"" +
+ " }" +
+ " }" +
+ " }," +
+ " \"#0\"" +
+ " ]" +
+ "]";
+
+ given()
+ .header("Authorization", this.accessToken.serialize())
+ .body(requestBody)
+ .when()
+ .post("/jmap")
+ .then()
+ .statusCode(200)
+ .body(NAME, equalTo("mailboxesSet"))
+ .body(ARGUMENTS + ".created", hasKey("create-id01"));
+
+ assertThat(jmapServer.serverProbe().listSubscriptions(username)).containsOnly("foo");
+ }
+
+ @Test
+ public void userShouldBeSubscribedOnCreatedMailboxWhenCreateChildOfInboxMailbox() throws Exception {
+ String inboxId =
+ with()
+ .header("Authorization", this.accessToken.serialize())
+ .body("[[\"getMailboxes\", {}, \"#0\"]]")
+ .when()
+ .post("/jmap")
+ .then()
+ .extract()
+ .jsonPath()
+ .getString(ARGUMENTS + ".list[0].id");
+
+ String requestBody =
+ "[" +
+ " [ \"setMailboxes\"," +
+ " {" +
+ " \"create\": {" +
+ " \"create-id01\" : {" +
+ " \"name\" : \"foo\"," +
+ " \"parentId\" : \"" + inboxId + "\"" +
+ " }" +
+ " }" +
+ " }," +
+ " \"#0\"" +
+ " ]" +
+ "]";
+
+ given()
+ .header("Authorization", this.accessToken.serialize())
+ .body(requestBody)
+ .when()
+ .post("/jmap");
+
+ assertThat(jmapServer.serverProbe().listSubscriptions(username)).containsOnly("inbox.foo");
+ }
+
+ @Test
+ public void subscriptionUserShouldBeChangedWhenUpdateMailbox() throws Exception {
+ jmapServer.serverProbe().createMailbox("#private", username, "root");
+
+ jmapServer.serverProbe().createMailbox("#private", username, "root.myBox");
+ Mailbox mailbox = jmapServer.serverProbe().getMailbox("#private", username, "root.myBox");
+ String mailboxId = mailbox.getMailboxId().serialize();
+
+ String requestBody =
+ "[" +
+ " [ \"setMailboxes\"," +
+ " {" +
+ " \"update\": {" +
+ " \"" + mailboxId + "\" : {" +
+ " \"name\" : \"mySecondBox\"" +
+ " }" +
+ " }" +
+ " }," +
+ " \"#0\"" +
+ " ]" +
+ "]";
+ with()
+ .header("Authorization", this.accessToken.serialize())
+ .body(requestBody)
+ .post("/jmap");
+
+ assertThat(jmapServer.serverProbe().listSubscriptions(username)).containsOnly("mySecondBox");
+ }
+
+ @Test
+ public void subscriptionUserShouldBeChangedWhenCreateThenUpdateMailboxNameWithJMAP() throws Exception {
+ String requestBody =
+ "[" +
+ " [ \"setMailboxes\"," +
+ " {" +
+ " \"create\": {" +
+ " \"create-id01\" : {" +
+ " \"name\" : \"foo\"" +
+ " }" +
+ " }" +
+ " }," +
+ " \"#0\"" +
+ " ]" +
+ "]";
+
+ given()
+ .header("Authorization", this.accessToken.serialize())
+ .body(requestBody)
+ .when()
+ .post("/jmap")
+ .then()
+ .statusCode(200)
+ .body(NAME, equalTo("mailboxesSet"))
+ .body(ARGUMENTS + ".created", hasKey("create-id01"));
+
+ Mailbox mailbox = jmapServer.serverProbe().getMailbox("#private", username, "foo");
+ String mailboxId = mailbox.getMailboxId().serialize();
+
+ requestBody =
+ "[" +
+ " [ \"setMailboxes\"," +
+ " {" +
+ " \"update\": {" +
+ " \"" + mailboxId + "\" : {" +
+ " \"name\" : \"mySecondBox\"" +
+ " }" +
+ " }" +
+ " }," +
+ " \"#0\"" +
+ " ]" +
+ "]";
+
+ with()
+ .header("Authorization", this.accessToken.serialize())
+ .body(requestBody)
+ .post("/jmap");
+
+ assertThat(jmapServer.serverProbe().listSubscriptions(username)).containsOnly("mySecondBox");
+ }
+
+ @Test
+ public void subscriptionUserShouldBeDeletedWhenDestroyMailbox() throws Exception {
+ jmapServer.serverProbe().createMailbox("#private", username, "myBox");
+ Mailbox mailbox = jmapServer.serverProbe().getMailbox("#private", username, "myBox");
+ String requestBody =
+ "[" +
+ " [ \"setMailboxes\"," +
+ " {" +
+ " \"destroy\": [\"" + mailbox.getMailboxId().serialize() + "\"]" +
+ " }," +
+ " \"#0\"" +
+ " ]" +
+ "]";
+
+ given()
+ .header("Authorization", this.accessToken.serialize())
+ .body(requestBody)
+ .when()
+ .post("/jmap")
+ .then()
+ .statusCode(200);
+
+ assertThat(jmapServer.serverProbe().listSubscriptions(username)).isEmpty();
+ }
+
+ @Test
+ public void subscriptionUserShouldBeDeletedWhenCreateThenDestroyMailboxWithJMAP() throws Exception {
+ String requestBody =
+ "[" +
+ " [ \"setMailboxes\"," +
+ " {" +
+ " \"create\": {" +
+ " \"create-id01\" : {" +
+ " \"name\" : \"foo\"" +
+ " }" +
+ " }" +
+ " }," +
+ " \"#0\"" +
+ " ]" +
+ "]";
+
+ given()
+ .header("Authorization", this.accessToken.serialize())
+ .body(requestBody)
+ .when()
+ .post("/jmap")
+ .then()
+ .statusCode(200)
+ .body(NAME, equalTo("mailboxesSet"))
+ .body(ARGUMENTS + ".created", hasKey("create-id01"));
+
+ Mailbox mailbox = jmapServer.serverProbe().getMailbox("#private", username, "foo");
+
+ requestBody =
+ "[" +
+ " [ \"setMailboxes\"," +
+ " {" +
+ " \"destroy\": [\"" + mailbox.getMailboxId().serialize() + "\"]" +
+ " }," +
+ " \"#0\"" +
+ " ]" +
+ "]";
+
+ given()
+ .header("Authorization", this.accessToken.serialize())
+ .body(requestBody)
+ .when()
+ .post("/jmap")
+ .then()
+ .statusCode(200);
+
+ assertThat(jmapServer.serverProbe().listSubscriptions(username)).isEmpty();
+ }
+
+ @Test
public void setMailboxesShouldErrorNotSupportedWhenRoleGiven() {
String requestBody =
"[" +
http://git-wip-us.apache.org/repos/asf/james-project/blob/84c66946/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java
index 28e36f6..e3e957c 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java
@@ -38,6 +38,7 @@ import org.apache.james.jmap.utils.DependencyGraph.CycleDetectedException;
import org.apache.james.jmap.utils.SortingHierarchicalCollections;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
+import org.apache.james.mailbox.SubscriptionManager;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.exception.MailboxExistsException;
import org.apache.james.mailbox.exception.MailboxNotFoundException;
@@ -59,11 +60,13 @@ public class SetMailboxesCreationProcessor implements SetMailboxesProcessor {
private final SortingHierarchicalCollections<Map.Entry<MailboxCreationId, MailboxCreateRequest>, MailboxCreationId> sortingHierarchicalCollections;
private final MailboxFactory mailboxFactory;
private final Factory mailboxIdFactory;
+ private final SubscriptionManager subscriptionManager;
@Inject
@VisibleForTesting
- SetMailboxesCreationProcessor(MailboxManager mailboxManager, MailboxFactory mailboxFactory, MailboxId.Factory mailboxIdFactory) {
+ SetMailboxesCreationProcessor(MailboxManager mailboxManager, SubscriptionManager subscriptionManager, MailboxFactory mailboxFactory, MailboxId.Factory mailboxIdFactory) {
this.mailboxManager = mailboxManager;
+ this.subscriptionManager = subscriptionManager;
this.sortingHierarchicalCollections =
new SortingHierarchicalCollections<Map.Entry<MailboxCreationId, MailboxCreateRequest>, MailboxCreationId>(
x -> x.getKey(),
@@ -101,6 +104,7 @@ public class SetMailboxesCreationProcessor implements SetMailboxesProcessor {
ensureValidMailboxName(mailboxRequest, mailboxSession);
MailboxPath mailboxPath = getMailboxPath(mailboxRequest, creationIdsToCreatedMailboxId, mailboxSession);
mailboxManager.createMailbox(mailboxPath, mailboxSession);
+ subscriptionManager.subscribe(mailboxSession, mailboxPath.getName());
Optional<Mailbox> mailbox = mailboxFactory.fromMailboxPath(mailboxPath, mailboxSession);
if (mailbox.isPresent()) {
builder.created(mailboxCreationId, mailbox.get());
http://git-wip-us.apache.org/repos/asf/james-project/blob/84c66946/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesDestructionProcessor.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesDestructionProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesDestructionProcessor.java
index ea06438..faf18a5 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesDestructionProcessor.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesDestructionProcessor.java
@@ -38,6 +38,7 @@ import org.apache.james.jmap.utils.MailboxUtils;
import org.apache.james.jmap.utils.SortingHierarchicalCollections;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
+import org.apache.james.mailbox.SubscriptionManager;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.MailboxId;
import org.apache.james.mailbox.model.MailboxPath;
@@ -52,14 +53,16 @@ public class SetMailboxesDestructionProcessor implements SetMailboxesProcessor {
private static final Logger LOGGER = LoggerFactory.getLogger(SetMailboxesDestructionProcessor.class);
private final MailboxManager mailboxManager;
+ private final SubscriptionManager subscriptionManager;
private final SortingHierarchicalCollections<Map.Entry<MailboxId, Mailbox>, MailboxId> sortingHierarchicalCollections;
private final MailboxUtils mailboxUtils;
private final MailboxFactory mailboxFactory;
@Inject
@VisibleForTesting
- SetMailboxesDestructionProcessor(MailboxManager mailboxManager, MailboxUtils mailboxUtils, MailboxFactory mailboxFactory) {
+ SetMailboxesDestructionProcessor(MailboxManager mailboxManager, SubscriptionManager subscriptionManager, MailboxUtils mailboxUtils, MailboxFactory mailboxFactory) {
this.mailboxManager = mailboxManager;
+ this.subscriptionManager = subscriptionManager;
this.sortingHierarchicalCollections =
new SortingHierarchicalCollections<>(
Entry::getKey,
@@ -102,6 +105,7 @@ public class SetMailboxesDestructionProcessor implements SetMailboxesProcessor {
MailboxPath mailboxPath = mailboxManager.getMailbox(mailbox.getId(), mailboxSession).getMailboxPath();
mailboxManager.deleteMailbox(mailboxPath, mailboxSession);
+ subscriptionManager.unsubscribe(mailboxSession, mailboxPath.getName());
builder.destroyed(entry.getKey());
} catch (MailboxHasChildException e) {
builder.notDestroyed(entry.getKey(), SetError.builder()
http://git-wip-us.apache.org/repos/asf/james-project/blob/84c66946/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesUpdateProcessor.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesUpdateProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesUpdateProcessor.java
index 0f52829..ec4fd69 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesUpdateProcessor.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesUpdateProcessor.java
@@ -38,6 +38,7 @@ import org.apache.james.jmap.model.mailbox.Role;
import org.apache.james.jmap.utils.MailboxUtils;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
+import org.apache.james.mailbox.SubscriptionManager;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.exception.MailboxExistsException;
import org.apache.james.mailbox.exception.MailboxNotFoundException;
@@ -55,12 +56,14 @@ public class SetMailboxesUpdateProcessor implements SetMailboxesProcessor {
private final MailboxUtils mailboxUtils;
private final MailboxManager mailboxManager;
private final MailboxFactory mailboxFactory;
+ private final SubscriptionManager subscriptionManager;
@Inject
@VisibleForTesting
- SetMailboxesUpdateProcessor(MailboxUtils mailboxUtils, MailboxManager mailboxManager, MailboxFactory mailboxFactory) {
+ SetMailboxesUpdateProcessor(MailboxUtils mailboxUtils, MailboxManager mailboxManager, SubscriptionManager subscriptionManager, MailboxFactory mailboxFactory) {
this.mailboxUtils = mailboxUtils;
this.mailboxManager = mailboxManager;
+ this.subscriptionManager = subscriptionManager;
this.mailboxFactory = mailboxFactory;
}
@@ -188,6 +191,9 @@ public class SetMailboxesUpdateProcessor implements SetMailboxesProcessor {
MailboxPath destinationMailboxPath = computeNewMailboxPath(mailbox, originMailboxPath, updateRequest, mailboxSession);
if (!originMailboxPath.equals(destinationMailboxPath)) {
mailboxManager.renameMailbox(originMailboxPath, destinationMailboxPath, mailboxSession);
+
+ subscriptionManager.unsubscribe(mailboxSession, originMailboxPath.getName());
+ subscriptionManager.subscribe(mailboxSession, destinationMailboxPath.getName());
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/84c66946/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessorTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessorTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessorTest.java
index c16aa4e..1aa82d7 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessorTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessorTest.java
@@ -31,6 +31,7 @@ import org.apache.james.jmap.model.SetMailboxesResponse;
import org.apache.james.jmap.model.mailbox.MailboxCreateRequest;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
+import org.apache.james.mailbox.SubscriptionManager;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.inmemory.InMemoryId;
import org.apache.james.mailbox.inmemory.InMemoryId.Factory;
@@ -44,12 +45,13 @@ public class SetMailboxesCreationProcessorTest {
private MailboxFactory mailboxFactory;
private SetMailboxesCreationProcessor sut;
private MailboxManager mailboxManager;
+ private SubscriptionManager subscriptionManager;
@Before
public void setup() {
mailboxManager = mock(MailboxManager.class);
mailboxIdFactory = new InMemoryId.Factory();
- sut = new SetMailboxesCreationProcessor(mailboxManager, mailboxFactory, mailboxIdFactory);
+ sut = new SetMailboxesCreationProcessor(mailboxManager, subscriptionManager, mailboxFactory, mailboxIdFactory);
}
@Test
http://git-wip-us.apache.org/repos/asf/james-project/blob/84c66946/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMailboxesUpdateProcessorTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMailboxesUpdateProcessorTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMailboxesUpdateProcessorTest.java
index ec1cc15..a296303 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMailboxesUpdateProcessorTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMailboxesUpdateProcessorTest.java
@@ -35,6 +35,7 @@ import org.apache.james.jmap.utils.MailboxUtils;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MessageManager;
+import org.apache.james.mailbox.SubscriptionManager;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.inmemory.InMemoryId;
import org.junit.Before;
@@ -43,6 +44,7 @@ import org.junit.Test;
public class SetMailboxesUpdateProcessorTest {
private MailboxManager mockedMailboxManager;
+ private SubscriptionManager mockSubscriptionManager;
private MailboxUtils mockedMailboxUtils;
private MailboxFactory mockedMailboxFactory;
private MailboxSession mockedMailboxSession;
@@ -51,10 +53,11 @@ public class SetMailboxesUpdateProcessorTest {
@Before
public void setup() {
mockedMailboxManager = mock(MailboxManager.class);
+ mockSubscriptionManager = mock(SubscriptionManager.class);
mockedMailboxUtils = mock(MailboxUtils.class);
mockedMailboxFactory = mock(MailboxFactory.class);
mockedMailboxSession = mock(MailboxSession.class);
- sut = new SetMailboxesUpdateProcessor(mockedMailboxUtils, mockedMailboxManager, mockedMailboxFactory);
+ sut = new SetMailboxesUpdateProcessor(mockedMailboxUtils, mockedMailboxManager, mockSubscriptionManager, mockedMailboxFactory);
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org