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 bt...@apache.org on 2015/06/17 11:03:49 UTC
svn commit: r1685957 -
/james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMailboxMapperTest.java
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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org