Author: btellier Date: Thu Jul 9 07:42:15 2015 New Revision: 1690001 URL: http://svn.apache.org/r1690001 Log: JAMES-1584 Tests for create mailbox command
Modified: james/server/trunk/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java james/server/trunk/container/mailbox-adapter/src/test/java/org/apache/james/adapter/mailbox/MailboxManagementTest.java Modified: james/server/trunk/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java URL: http://svn.apache.org/viewvc/james/server/trunk/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java?rev=1690001&r1=1690000&r2=1690001&view=diff ============================================================================== --- james/server/trunk/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java (original) +++ james/server/trunk/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java Thu Jul 9 07:42:15 2015 @@ -128,6 +128,7 @@ public class MailboxManagerManagement ex @Override public void createMailbox(String namespace, String user, String name) { + Preconditions.checkArgument(namespace != null && user != null && name != null, "Provided mailbox path components should not be null"); try { MailboxSession session = mailboxManager.createSystemSession(user, log); mailboxManager.createMailbox(new MailboxPath(namespace, user, name), session); Modified: james/server/trunk/container/mailbox-adapter/src/test/java/org/apache/james/adapter/mailbox/MailboxManagementTest.java URL: http://svn.apache.org/viewvc/james/server/trunk/container/mailbox-adapter/src/test/java/org/apache/james/adapter/mailbox/MailboxManagementTest.java?rev=1690001&r1=1690000&r2=1690001&view=diff ============================================================================== --- james/server/trunk/container/mailbox-adapter/src/test/java/org/apache/james/adapter/mailbox/MailboxManagementTest.java (original) +++ james/server/trunk/container/mailbox-adapter/src/test/java/org/apache/james/adapter/mailbox/MailboxManagementTest.java Thu Jul 9 07:42:15 2015 @@ -122,4 +122,35 @@ public class MailboxManagementTest { assertThat(inMemoryMapperFactory.createMailboxMapper(session).list()).isEmpty(); } + @Test + public void createMailboxShouldCreateAMailbox() throws Exception { + mailboxManagerManagement.createMailbox(MailboxConstants.USER_NAMESPACE, USER, "name"); + assertThat(inMemoryMapperFactory.createMailboxMapper(session).list()).hasSize(1); + assertThat(inMemoryMapperFactory.createMailboxMapper(session).findMailboxByPath(new MailboxPath(MailboxConstants.USER_NAMESPACE, USER, "name"))).isNotNull(); + } + + @Test + public void createMailboxShouldNotThrowIfMailboxAlreadyExist() throws Exception { + MailboxPath path = new MailboxPath(MailboxConstants.USER_NAMESPACE, USER, "name"); + Mailbox<InMemoryId> mailbox = new SimpleMailbox<InMemoryId>(path, UID_VALIDITY); + inMemoryMapperFactory.createMailboxMapper(session).save(mailbox); + mailboxManagerManagement.createMailbox(MailboxConstants.USER_NAMESPACE, USER, "name"); + assertThat(inMemoryMapperFactory.createMailboxMapper(session).list()).containsExactly(mailbox); + } + + @Test(expected = IllegalArgumentException.class) + public void createMailboxShouldThrowOnNullNamespace() { + mailboxManagerManagement.createMailbox(null, "", ""); + } + + @Test(expected = IllegalArgumentException.class) + public void createMailboxShouldThrowOnNullUser() { + mailboxManagerManagement.createMailbox("", null, ""); + } + + @Test(expected = IllegalArgumentException.class) + public void createMailboxShouldThrowOnNullName() { + mailboxManagerManagement.createMailbox("", "", null); + } + } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org