MAILBOX-310 Correct WebAdmin mailbox handling

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/636e5a40
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/636e5a40
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/636e5a40

Branch: refs/heads/master
Commit: 636e5a40f9f4753a4d8358ed590f286c0501d223
Parents: b44b9bb
Author: benwa <btell...@linagora.com>
Authored: Thu Oct 5 09:13:29 2017 +0700
Committer: Matthieu Baechler <matth...@apache.org>
Committed: Thu Oct 5 20:00:39 2017 +0200

----------------------------------------------------------------------
 server/protocols/webadmin/webadmin-mailbox/pom.xml      |  6 ++++++
 .../james/webadmin/service/UserMailboxesService.java    | 12 +++++-------
 .../james/webadmin/routes/UserMailboxesRoutesTest.java  |  4 ++--
 3 files changed, 13 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/636e5a40/server/protocols/webadmin/webadmin-mailbox/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailbox/pom.xml 
b/server/protocols/webadmin/webadmin-mailbox/pom.xml
index 471f8dd..96d5eee 100644
--- a/server/protocols/webadmin/webadmin-mailbox/pom.xml
+++ b/server/protocols/webadmin/webadmin-mailbox/pom.xml
@@ -39,6 +39,12 @@
         </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
+            <artifactId>apache-james-mailbox-api</artifactId>
+            <scope>test</scope>
+            <type>test-jar</type>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
             <artifactId>apache-james-mailbox-memory</artifactId>
             <scope>test</scope>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/636e5a40/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java
 
b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java
index 225d0bf..af0b658 100644
--- 
a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java
+++ 
b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java
@@ -47,9 +47,7 @@ import com.google.common.base.Strings;
 
 
 public class UserMailboxesService {
-
     private static final Logger LOGGER = 
LoggerFactory.getLogger(UserMailboxesService.class);
-    private static final String USER_NAME = "webAdmin";
 
     private final MailboxManager mailboxManager;
     private final UsersRepository usersRepository;
@@ -62,7 +60,7 @@ public class UserMailboxesService {
 
     public void createMailbox(String username, MailboxName mailboxName) throws 
MailboxException, UsersRepositoryException {
         usernamePreconditions(username);
-        MailboxSession mailboxSession = 
mailboxManager.createSystemSession(USER_NAME);
+        MailboxSession mailboxSession = 
mailboxManager.createSystemSession(username);
         try {
             mailboxManager.createMailbox(
                 convertToMailboxPath(username, mailboxName.asString(), 
mailboxSession),
@@ -74,7 +72,7 @@ public class UserMailboxesService {
 
     public void deleteMailboxes(String username) throws MailboxException, 
UsersRepositoryException {
         usernamePreconditions(username);
-        MailboxSession mailboxSession = 
mailboxManager.createSystemSession(USER_NAME);
+        MailboxSession mailboxSession = 
mailboxManager.createSystemSession(username);
         listUserMailboxes(mailboxSession)
             .map(MailboxMetaData::getPath)
             .forEach(Throwing.consumer(mailboxPath -> 
deleteMailbox(mailboxSession, mailboxPath)));
@@ -82,7 +80,7 @@ public class UserMailboxesService {
 
     public List<MailboxResponse> listMailboxes(String username) throws 
MailboxException, UsersRepositoryException {
         usernamePreconditions(username);
-        MailboxSession mailboxSession = 
mailboxManager.createSystemSession(USER_NAME);
+        MailboxSession mailboxSession = 
mailboxManager.createSystemSession(username);
         return listUserMailboxes(mailboxSession)
             .map(mailboxMetaData -> new 
MailboxResponse(mailboxMetaData.getPath().getName()))
             .collect(Guavate.toImmutableList());
@@ -90,7 +88,7 @@ public class UserMailboxesService {
 
     public boolean testMailboxExists(String username, MailboxName mailboxName) 
throws MailboxException, UsersRepositoryException {
         usernamePreconditions(username);
-        MailboxSession mailboxSession = 
mailboxManager.createSystemSession(USER_NAME);
+        MailboxSession mailboxSession = 
mailboxManager.createSystemSession(username);
         return mailboxManager.mailboxExists(
             convertToMailboxPath(username, mailboxName.asString(), 
mailboxSession),
             mailboxSession);
@@ -98,7 +96,7 @@ public class UserMailboxesService {
 
     public void deleteMailbox(String username, MailboxName mailboxName) throws 
MailboxException, UsersRepositoryException, MailboxHaveChildrenException {
         usernamePreconditions(username);
-        MailboxSession mailboxSession = 
mailboxManager.createSystemSession(USER_NAME);
+        MailboxSession mailboxSession = 
mailboxManager.createSystemSession(username);
         MailboxPath mailboxPath = convertToMailboxPath(username, 
mailboxName.asString(), mailboxSession);
         listChildren(mailboxPath, mailboxSession)
             .forEach(Throwing.consumer(path -> deleteMailbox(mailboxSession, 
path)));

http://git-wip-us.apache.org/repos/asf/james-project/blob/636e5a40/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
 
b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
index 01b6212..943a159 100644
--- 
a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
+++ 
b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
@@ -37,7 +37,6 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.james.mailbox.MailboxManager;
-import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
 import org.apache.james.mailbox.acl.UnionMailboxACLResolver;
 import org.apache.james.mailbox.exception.MailboxException;
@@ -46,6 +45,7 @@ import 
org.apache.james.mailbox.exception.MailboxNotFoundException;
 import org.apache.james.mailbox.inmemory.InMemoryId;
 import org.apache.james.mailbox.inmemory.InMemoryMailboxManager;
 import org.apache.james.mailbox.inmemory.InMemoryMailboxSessionMapperFactory;
+import org.apache.james.mailbox.mock.MockMailboxSession;
 import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.MessageId;
@@ -566,7 +566,7 @@ public class UserMailboxesRoutesTest {
         @Before
         public void setUp() throws Exception {
             mailboxManager = mock(MailboxManager.class);
-            
when(mailboxManager.createSystemSession(any())).thenReturn(mock(MailboxSession.class));
+            when(mailboxManager.createSystemSession(any())).thenReturn(new 
MockMailboxSession(USERNAME));
 
             createServer(mailboxManager);
         }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to