Author: btellier
Date: Wed Jun 17 09:03:48 2015
New Revision: 1685957

URL: http://svn.apache.org/r1685957
Log:
MAILBOX-239 Add tests to demonstrate Cassandra backend does not take namespace 
nor user into account

Modified:
    
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMailboxMapperTest.java

Modified: 
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMailboxMapperTest.java
URL: 
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMailboxMapperTest.java?rev=1685957&r1=1685956&r2=1685957&view=diff
==============================================================================
--- 
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMailboxMapperTest.java
 (original)
+++ 
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMailboxMapperTest.java
 Wed Jun 17 09:03:48 2015
@@ -60,6 +60,8 @@ public abstract class AbstractMailboxMap
     private MailboxPath benwaWorkDonePath;
     private SimpleMailbox<Id> benwaWorkDoneMailbox;
     private MailboxPath bobInboxPath;
+    private SimpleMailbox<Id> bobyMailbox;
+    private MailboxPath bobyMailboxPath;
     private SimpleMailbox<Id> bobInboxMailbox;
     private MailboxPath esnDevGroupInboxPath;
     private SimpleMailbox<Id> esnDevGroupInboxMailbox;
@@ -73,6 +75,8 @@ public abstract class AbstractMailboxMap
     private SimpleMailbox<Id> obmTeamGroupOPushMailbox;
     private MailboxPath obmTeamGroupRoundCubePath;
     private SimpleMailbox<Id> obmTeamGroupRoundCubeMailbox;
+    private MailboxPath bobDifferentNamespacePath;
+    private SimpleMailbox<Id> bobDifferentNamespaceMailbox;
 
     public AbstractMailboxMapperTest(MapperProvider<Id> mapperProvider) {
         this.mapperProvider = mapperProvider;
@@ -83,6 +87,8 @@ public abstract class AbstractMailboxMap
         benwaPersoPath = new MailboxPath("#private", "benwa", 
"INBOX"+DELIMITER+"perso");
         benwaWorkDonePath = new MailboxPath("#private", "benwa", 
"INBOX"+DELIMITER+"work"+DELIMITER+"done");
         bobInboxPath = new MailboxPath("#private", "bob", "INBOX");
+        bobyMailboxPath = new MailboxPath("#private", "boby", 
"INBOX.that.is.a.trick");
+        bobDifferentNamespacePath = new MailboxPath("#private_bob", "bob", 
"INBOX.bob");
         esnDevGroupInboxPath = new MailboxPath("#community_ESN_DEV", null, 
"INBOX");
         esnDevGroupHublinPath = new MailboxPath("#community_ESN_DEV", null, 
"INBOX"+DELIMITER+"hublin");
         esnDevGroupJamesPath = new MailboxPath("#community_ESN_DEV", null, 
"INBOX"+DELIMITER+"james");
@@ -102,6 +108,8 @@ public abstract class AbstractMailboxMap
         obmTeamGroupInboxMailbox = createMailbox(obmTeamGroupInboxPath);
         obmTeamGroupOPushMailbox = createMailbox(obmTeamGroupOPushPath);
         obmTeamGroupRoundCubeMailbox = 
createMailbox(obmTeamGroupRoundCubePath);
+        bobyMailbox = createMailbox(bobyMailboxPath);
+        bobDifferentNamespaceMailbox = 
createMailbox(bobDifferentNamespacePath);
     }
 
     @Before
@@ -164,6 +172,21 @@ public abstract class AbstractMailboxMap
         assertThat(mailboxMapper.hasChildren(esnDevGroupInboxMailbox, 
DELIMITER)).isTrue();
     }
 
+    @Ignore("See MAILBOX-11 and JWC-125")
+    @Test
+    public void hasChildrenShouldNotBeAcrossUsersAndNamespace() throws 
MailboxException {
+        saveAll();
+        assertThat(mailboxMapper.hasChildren(bobInboxMailbox, '.')).isFalse();
+    }
+
+    @Ignore("See MAILBOX-11 and JWC-125")
+    @Test
+    public void findMailboxWithPathLikeShouldBeLimitedToUserAndNamespace() 
throws MailboxException {
+        saveAll();
+        MailboxPath mailboxPathQuery = new 
MailboxPath(bobInboxMailbox.getNamespace(), bobInboxMailbox.getUser(), "IN" + 
WILDCARD);
+        
assertThat(mailboxMapper.findMailboxWithPathLike(mailboxPathQuery)).containsOnly(bobInboxMailbox);
+    }
+
     @Test(expected=MailboxNotFoundException.class)
     public void deleteShouldEraseTheGivenMailbox() throws MailboxException {
         try {
@@ -223,6 +246,14 @@ public abstract class AbstractMailboxMap
         MailboxPath regexPath = new 
MailboxPath(esnDevGroupInboxPath.getNamespace(), 
esnDevGroupInboxPath.getUser(), WILDCARD + "X");
         
assertThat(mailboxMapper.findMailboxWithPathLike(regexPath)).contains(esnDevGroupInboxMailbox);
     }
+
+    @Ignore("Mailbox name is not escaped")
+    @Test
+    public void findMailboxWithPathLikeShouldEscapeMailboxName() throws 
MailboxException {
+        saveAll();
+        MailboxPath regexPath = new MailboxPath(benwaInboxPath.getNamespace(), 
benwaInboxPath.getUser(), "INB?X");
+        assertThat(mailboxMapper.findMailboxWithPathLike(regexPath)).isEmpty();
+    }
     
     private void saveAll() throws MailboxException{
         mailboxMapper.save(benwaInboxMailbox);
@@ -230,13 +261,15 @@ public abstract class AbstractMailboxMap
         mailboxMapper.save(benwaWorkTodoMailbox);
         mailboxMapper.save(benwaPersoMailbox);
         mailboxMapper.save(benwaWorkDoneMailbox);
-        mailboxMapper.save(bobInboxMailbox);
         mailboxMapper.save(esnDevGroupInboxMailbox);
         mailboxMapper.save(esnDevGroupHublinMailbox);
         mailboxMapper.save(esnDevGroupJamesMailbox);
         mailboxMapper.save(obmTeamGroupInboxMailbox);
         mailboxMapper.save(obmTeamGroupOPushMailbox);
         mailboxMapper.save(obmTeamGroupRoundCubeMailbox);
+        mailboxMapper.save(bobyMailbox);
+        mailboxMapper.save(bobDifferentNamespaceMailbox);
+        mailboxMapper.save(bobInboxMailbox);
     }
 
     private SimpleMailbox<Id> createMailbox(MailboxPath mailboxPath) {



---------------------------------------------------------------------
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