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/09/22 13:50:55 UTC
svn commit: r1704587 [1/2] - in /james/mailbox/trunk:
api/src/main/java/org/apache/james/mailbox/
api/src/test/java/org/apache/james/mailbox/
api/src/test/java/org/apache/james/mailbox/model/
cassandra/src/main/java/org/apache/james/mailbox/cassandra/u...
Author: btellier
Date: Tue Sep 22 11:50:44 2015
New Revision: 1704587
URL: http://svn.apache.org/viewvc?rev=1704587&view=rev
Log:
MAILBOX-248 Kill around 150 eclipse warning -- contributed by Matthieu Baechler
Modified:
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageManager.java
james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/AbstractMailboxManagerTest.java
james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/AbstractSubscriptionManagerTest.java
james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/MailboxExceptionTest.java
james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/MailboxExpressionTest.java
james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/model/MessageRangeTest.java
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapper.java
james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMailboxManager.java
james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMailboxSessionMapperFactory.java
james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapper.java
james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
james/mailbox/trunk/hbase/src/test/java/org/apache/james/mailbox/hbase/HBaseUtilsTest.java
james/mailbox/trunk/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapperTest.java
james/mailbox/trunk/hbase/src/test/java/org/apache/james/mailbox/hbase/user/HBaseSubscriptionMapperTest.java
james/mailbox/trunk/jcr/pom.xml
james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMailboxMapper.java
james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java
james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/user/JCRSubscriptionMapper.java
james/mailbox/trunk/jpa/pom.xml
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAStreamingMessage.java
james/mailbox/trunk/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
james/mailbox/trunk/maildir/pom.xml
james/mailbox/trunk/maildir/src/test/java/org/apache/james/mailbox/maildir/MailderMessageNameTest.java
james/mailbox/trunk/maildir/src/test/java/org/apache/james/mailbox/maildir/MaildirMailboxManagerTest.java
james/mailbox/trunk/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMailboxMapperTest.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingModSeqProvider.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingUidProvider.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearcher.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/streaming/PartContentBuilder.java
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/PartContentBuilderMultipartAlternativeTest.java
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerTest.java
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/StoreMessageResultIteratorTest.java
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMailboxMapperTest.java
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMessageMapperTest.java
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/MetadataMapAssert.java
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessageTest.java
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/streaming/BodyOffsetInputStreamTest.java
james/mailbox/trunk/tool/pom.xml
james/mailbox/trunk/tool/src/main/java/org/apache/james/mailbox/jpa/migrator/command/IMAP168JpaMigrateCommand.java
james/mailbox/trunk/tool/src/main/java/org/apache/james/mailbox/jpa/migrator/command/IMAP180JpaMigrateCommand.java
james/mailbox/trunk/tool/src/test/java/org/apache/james/mailbox/copier/MailboxCopierTest.java
james/mailbox/trunk/tool/src/test/java/org/apache/james/mailbox/jpa/migrator/JpaMigratorTest.java
Modified: james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageManager.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageManager.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageManager.java (original)
+++ james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageManager.java Tue Sep 22 11:50:44 2015
@@ -29,18 +29,12 @@ import javax.mail.Flags;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.exception.UnsupportedCriteriaException;
-import org.apache.james.mailbox.exception.UnsupportedRightException;
import org.apache.james.mailbox.model.MailboxACL;
-import org.apache.james.mailbox.model.MailboxACL.EditMode;
-import org.apache.james.mailbox.model.MailboxACL.MailboxACLEntryKey;
-import org.apache.james.mailbox.model.MailboxACL.MailboxACLRights;
import org.apache.james.mailbox.model.MessageRange;
import org.apache.james.mailbox.model.MessageResult;
+import org.apache.james.mailbox.model.MessageResult.FetchGroup;
import org.apache.james.mailbox.model.MessageResultIterator;
import org.apache.james.mailbox.model.SearchQuery;
-import org.apache.james.mailbox.model.SimpleMailboxACL;
-import org.apache.james.mailbox.model.MailboxACL.MailboxACLRight;
-import org.apache.james.mailbox.model.MessageResult.FetchGroup;
/**
* Interface which represent a Mailbox
Modified: james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/AbstractMailboxManagerTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/AbstractMailboxManagerTest.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/AbstractMailboxManagerTest.java (original)
+++ james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/AbstractMailboxManagerTest.java Tue Sep 22 11:50:44 2015
@@ -18,19 +18,21 @@
****************************************************************/
package org.apache.james.mailbox;
+import static org.assertj.core.api.Assertions.assertThat;
+
import java.io.ByteArrayInputStream;
+import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import javax.mail.Flags;
-import junit.framework.Assert;
-
import org.apache.james.mailbox.exception.BadCredentialsException;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.mock.MockMailboxManager;
import org.apache.james.mailbox.model.MailboxConstants;
import org.apache.james.mailbox.model.MailboxPath;
+import org.junit.After;
import org.junit.Test;
import org.slf4j.LoggerFactory;
@@ -53,101 +55,160 @@ public abstract class AbstractMailboxMan
* by the mailbox implementations.
*/
protected MailboxManager mailboxManager;
+ private MailboxSession session;
- @Test
- public void testBasicOperations() throws BadCredentialsException, MailboxException, UnsupportedEncodingException {
-
+ @After
+ public void teardown() throws MailboxException {
+ getMailboxManager().logout(session, false);
+ getMailboxManager().endProcessingRequest(session);
+ }
+
+ @Test
+ public void createUser1SystemSessionShouldReturnValidSession() throws UnsupportedEncodingException, MailboxException {
setMailboxManager(new MockMailboxManager(getMailboxManager()).getMockMailboxManager());
+ session = getMailboxManager().createSystemSession(USER_1, LoggerFactory.getLogger("Mock"));
- MailboxSession session = getMailboxManager().createSystemSession(USER_1, LoggerFactory.getLogger("Mock"));
- Assert.assertEquals(USER_1, session.getUser().getUserName());
-
+ assertThat(session.getUser().getUserName()).isEqualTo(USER_1);
+ }
+
+ @Test
+ public void user1ShouldNotHaveAnInbox() throws UnsupportedEncodingException, MailboxException {
+ setMailboxManager(new MockMailboxManager(getMailboxManager()).getMockMailboxManager());
+ session = getMailboxManager().createSystemSession(USER_1, LoggerFactory.getLogger("Mock"));
getMailboxManager().startProcessingRequest(session);
MailboxPath inbox = MailboxPath.inbox(session);
- Assert.assertFalse(getMailboxManager().mailboxExists(inbox, session));
+ assertThat(getMailboxManager().mailboxExists(inbox, session)).isFalse();
+ }
+
+ @Test
+ public void user1ShouldBeAbleToCreateInbox() throws MailboxException, UnsupportedEncodingException {
+ setMailboxManager(new MockMailboxManager(getMailboxManager()).getMockMailboxManager());
+ session = getMailboxManager().createSystemSession(USER_1, LoggerFactory.getLogger("Mock"));
+ getMailboxManager().startProcessingRequest(session);
+
+ MailboxPath inbox = MailboxPath.inbox(session);
+ getMailboxManager().createMailbox(inbox, session);
+ assertThat(getMailboxManager().mailboxExists(inbox, session)).isTrue();
+ }
+
+ @Test(expected=MailboxException.class)
+ public void user1ShouldNotBeAbleToCreateInboxTwice() throws MailboxException, UnsupportedEncodingException {
+ setMailboxManager(new MockMailboxManager(getMailboxManager()).getMockMailboxManager());
+ session = getMailboxManager().createSystemSession(USER_1, LoggerFactory.getLogger("Mock"));
+ getMailboxManager().startProcessingRequest(session);
+ MailboxPath inbox = MailboxPath.inbox(session);
+ getMailboxManager().createMailbox(inbox, session);
+ getMailboxManager().createMailbox(inbox, session);
+ }
+
+ @Test
+ public void user1ShouldNotHaveTestSubmailbox() throws MailboxException, UnsupportedEncodingException {
+ setMailboxManager(new MockMailboxManager(getMailboxManager()).getMockMailboxManager());
+ session = getMailboxManager().createSystemSession(USER_1, LoggerFactory.getLogger("Mock"));
+ getMailboxManager().startProcessingRequest(session);
+
+ MailboxPath inbox = MailboxPath.inbox(session);
getMailboxManager().createMailbox(inbox, session);
- Assert.assertTrue(getMailboxManager().mailboxExists(inbox, session));
- try {
- getMailboxManager().createMailbox(inbox, session);
- Assert.fail();
- } catch (MailboxException e) {
- // mailbox already exists!
- }
+ assertThat(getMailboxManager().mailboxExists(new MailboxPath(inbox, "INBOX.Test"), session)).isFalse();
+ }
+
+ @Test
+ public void user1ShouldBeAbleToCreateTestSubmailbox() throws MailboxException, UnsupportedEncodingException {
+ setMailboxManager(new MockMailboxManager(getMailboxManager()).getMockMailboxManager());
+ session = getMailboxManager().createSystemSession(USER_1, LoggerFactory.getLogger("Mock"));
+ getMailboxManager().startProcessingRequest(session);
+ MailboxPath inbox = MailboxPath.inbox(session);
+ getMailboxManager().createMailbox(inbox, session);
MailboxPath inboxSubMailbox = new MailboxPath(inbox, "INBOX.Test");
- Assert.assertFalse(getMailboxManager().mailboxExists(inboxSubMailbox, session));
+ getMailboxManager().createMailbox(inboxSubMailbox, session);
+ assertThat(getMailboxManager().mailboxExists(inboxSubMailbox, session)).isTrue();
+ }
+
+ @Test
+ public void user1ShouldBeAbleToDeleteInbox() throws MailboxException, UnsupportedEncodingException {
+ setMailboxManager(new MockMailboxManager(getMailboxManager()).getMockMailboxManager());
+ session = getMailboxManager().createSystemSession(USER_1, LoggerFactory.getLogger("Mock"));
+ getMailboxManager().startProcessingRequest(session);
+
+ MailboxPath inbox = MailboxPath.inbox(session);
+ getMailboxManager().createMailbox(inbox, session);
+ MailboxPath inboxSubMailbox = new MailboxPath(inbox, "INBOX.Test");
getMailboxManager().createMailbox(inboxSubMailbox, session);
- Assert.assertTrue(getMailboxManager().mailboxExists(inboxSubMailbox, session));
getMailboxManager().deleteMailbox(inbox, session);
- Assert.assertFalse(getMailboxManager().mailboxExists(inbox, session));
- Assert.assertTrue(getMailboxManager().mailboxExists(inboxSubMailbox, session));
+ assertThat(getMailboxManager().mailboxExists(inbox, session)).isFalse();
+ assertThat(getMailboxManager().mailboxExists(inboxSubMailbox, session)).isTrue();
+ }
+
+ @Test
+ public void user1ShouldBeAbleToDeleteSubmailbox() throws MailboxException, UnsupportedEncodingException {
+ setMailboxManager(new MockMailboxManager(getMailboxManager()).getMockMailboxManager());
+ session = getMailboxManager().createSystemSession(USER_1, LoggerFactory.getLogger("Mock"));
+ getMailboxManager().startProcessingRequest(session);
+
+ MailboxPath inbox = MailboxPath.inbox(session);
+ getMailboxManager().createMailbox(inbox, session);
+ MailboxPath inboxSubMailbox = new MailboxPath(inbox, "INBOX.Test");
+ getMailboxManager().createMailbox(inboxSubMailbox, session);
getMailboxManager().deleteMailbox(inboxSubMailbox, session);
- Assert.assertFalse(getMailboxManager().mailboxExists(inboxSubMailbox, session));
+
+ assertThat(getMailboxManager().mailboxExists(inbox, session)).isTrue();
+ assertThat(getMailboxManager().mailboxExists(inboxSubMailbox, session)).isFalse();
+ }
+
+ @Test
+ public void closingSessionShouldWork() throws BadCredentialsException, MailboxException, UnsupportedEncodingException {
+ setMailboxManager(new MockMailboxManager(getMailboxManager()).getMockMailboxManager());
+ session = getMailboxManager().createSystemSession(USER_1, LoggerFactory.getLogger("Mock"));
+ getMailboxManager().startProcessingRequest(session);
getMailboxManager().logout(session, false);
getMailboxManager().endProcessingRequest(session);
-
- Assert.assertFalse(session.isOpen());
-
+
+ assertThat(session.isOpen()).isFalse();
}
- /**
- * Create some INBOXes and their sub mailboxes and assert list() method.
- *
- * @throws UnsupportedEncodingException
- * @throws MailboxException
- */
@Test
- public void testList() throws MailboxException, UnsupportedEncodingException {
-
+ public void listShouldReturnMailboxes() throws MailboxException, UnsupportedEncodingException {
setMailboxManager(new MockMailboxManager(getMailboxManager()).getMockMailboxManager());
+ session = getMailboxManager().createSystemSession("manager", LoggerFactory.getLogger("testList"));
+ getMailboxManager().startProcessingRequest(session);
+
+ assertThat(getMailboxManager().list(session)).hasSize(MockMailboxManager.EXPECTED_MAILBOXES_COUNT);
+ }
- MailboxSession mailboxSession = getMailboxManager().createSystemSession("manager", LoggerFactory.getLogger("testList"));
- getMailboxManager().startProcessingRequest(mailboxSession);
- Assert.assertEquals(MockMailboxManager.EXPECTED_MAILBOXES_COUNT, getMailboxManager().list(mailboxSession).size());
-
+ @Test
+ public void user2ShouldBeAbleToCreateRootlessFolder() throws BadCredentialsException, MailboxException {
+ session = getMailboxManager().createSystemSession(USER_2, LoggerFactory.getLogger("Test"));
+ MailboxPath trash = new MailboxPath(MailboxConstants.USER_NAMESPACE, USER_2, "Trash");
+ getMailboxManager().createMailbox(trash, session);
+
+ assertThat(getMailboxManager().mailboxExists(trash, session)).isTrue();
}
-
@Test
- public void testCreateSubFolderDirectly() throws BadCredentialsException, MailboxException {
-
- MailboxSession session = getMailboxManager().createSystemSession(USER_2, LoggerFactory.getLogger("Test"));
- getMailboxManager().createMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE, USER_2, "Trash"), session);
- getMailboxManager().createMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE, USER_2, "INBOX.testfolder"), session);
+ public void user2ShouldBeAbleToCreateNestedFoldersWithoutTheirParents() throws BadCredentialsException, MailboxException {
+ session = getMailboxManager().createSystemSession(USER_2, LoggerFactory.getLogger("Test"));
+ MailboxPath nestedFolder = new MailboxPath(MailboxConstants.USER_NAMESPACE, USER_2, "INBOX.testfolder");
+ getMailboxManager().createMailbox(nestedFolder, session);
+ assertThat(getMailboxManager().mailboxExists(nestedFolder, session)).isTrue();
getMailboxManager().getMailbox(MailboxPath.inbox(session), session).appendMessage(new ByteArrayInputStream("Subject: test\r\n\r\ntestmail".getBytes()), new Date(), session, false, new Flags());
-
}
-
- /**
- * Implement this method to create the mailboxManager.
- *
- * @return
- * @throws MailboxException
- */
- protected abstract void createMailboxManager() throws MailboxException;
- /**
- * Setter to inject the mailboxManager.
- */
+ protected abstract void createMailboxManager() throws MailboxException, IOException;
+
protected void setMailboxManager(MailboxManager mailboxManager) {
this.mailboxManager = mailboxManager;
}
- /**
- * Accessor to the mailboxManager.
- *
- * @return the mailboxManager instance.
- * @throws IllegalStateException in case of null mailboxManager
- */
protected MailboxManager getMailboxManager() {
if (mailboxManager == null) {
throw new IllegalStateException("Please setMailboxManager with a non null value before requesting getMailboxManager()");
Modified: james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/AbstractSubscriptionManagerTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/AbstractSubscriptionManagerTest.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/AbstractSubscriptionManagerTest.java (original)
+++ james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/AbstractSubscriptionManagerTest.java Tue Sep 22 11:50:44 2015
@@ -18,10 +18,12 @@
****************************************************************/
package org.apache.james.mailbox;
-import java.util.Collection;
+import static org.assertj.core.api.Assertions.assertThat;
+import org.apache.james.mailbox.exception.SubscriptionException;
import org.apache.james.mailbox.mock.MockMailboxSession;
-import org.junit.Assert;
+import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
/**
@@ -34,43 +36,70 @@ public abstract class AbstractSubscripti
private final static String USER1 = "test";
private final static String MAILBOX1 = "test1";
private final static String MAILBOX2 = "test2";
+ private SubscriptionManager manager;
+ private MailboxSession session;
public abstract SubscriptionManager createSubscriptionManager();
+
+ @Before
+ public void setup() {
+ manager = createSubscriptionManager();
+ session = new MockMailboxSession(USER1);
+ manager.startProcessingRequest(session);
+ }
+
+ @After
+ public void teardown() {
+ manager.endProcessingRequest(session);
+ }
@Test
- public void testSubscriptionManager() throws Exception {
- SubscriptionManager manager = createSubscriptionManager();
- MailboxSession session = new MockMailboxSession(USER1);
- manager.startProcessingRequest(session);
-
- Assert.assertTrue(manager.subscriptions(session).isEmpty());
-
+ public void user1ShouldNotHaveAnySubscriptionByDefault() throws SubscriptionException {
+ assertThat(manager.subscriptions(session)).isEmpty();
+ }
+
+
+ @Test
+ public void user1ShouldBeAbleToSubscribeOneMailbox() throws SubscriptionException {
+ manager.subscribe(session, MAILBOX1);
+
+ assertThat(manager.subscriptions(session)).containsExactly(MAILBOX1);
+ }
+
+ @Test
+ public void subscribeShouldBeIdempotent() throws SubscriptionException {
manager.subscribe(session, MAILBOX1);
- Assert.assertEquals(MAILBOX1, manager.subscriptions(session).iterator().next());
- Assert.assertEquals(1, manager.subscriptions(session).size());
-
-
manager.subscribe(session, MAILBOX1);
- Assert.assertEquals(MAILBOX1, manager.subscriptions(session).iterator().next());
- Assert.assertEquals(1, manager.subscriptions(session).size());
+ assertThat(manager.subscriptions(session)).containsExactly(MAILBOX1);
+ }
+
+ @Test
+ public void user1ShouldBeAbleToSubscribeTwoMailbox() throws SubscriptionException {
+ manager.subscribe(session, MAILBOX1);
manager.subscribe(session, MAILBOX2);
- Collection<String> col = manager.subscriptions(session);
-
- Assert.assertTrue(col.contains(MAILBOX2));
- Assert.assertTrue(col.contains(MAILBOX1));
- Assert.assertEquals(2, col.size());
-
+ assertThat(manager.subscriptions(session)).containsExactly(MAILBOX1, MAILBOX2);
+ }
+
+ @Test
+ public void user1ShouldBeAbleToUnsubscribeOneMailbox() throws SubscriptionException {
+ manager.subscribe(session, MAILBOX1);
+ manager.subscribe(session, MAILBOX2);
+
manager.unsubscribe(session, MAILBOX1);
- Assert.assertEquals(MAILBOX2, manager.subscriptions(session).iterator().next());
- Assert.assertEquals(1, manager.subscriptions(session).size());
+ assertThat(manager.subscriptions(session)).containsExactly(MAILBOX2);
+ }
+
+ @Test
+ public void unsubscribeShouldBeIdempotent() throws SubscriptionException {
+ manager.subscribe(session, MAILBOX1);
+ manager.subscribe(session, MAILBOX2);
+ manager.unsubscribe(session, MAILBOX1);
manager.unsubscribe(session, MAILBOX1);
- Assert.assertEquals(MAILBOX2, manager.subscriptions(session).iterator().next());
- Assert.assertEquals(1, manager.subscriptions(session).size());
-
- manager.endProcessingRequest(session);
+ assertThat(manager.subscriptions(session)).containsExactly(MAILBOX2);
}
+
}
Modified: james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/MailboxExceptionTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/MailboxExceptionTest.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/MailboxExceptionTest.java (original)
+++ james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/MailboxExceptionTest.java Tue Sep 22 11:50:44 2015
@@ -18,30 +18,30 @@
****************************************************************/
package org.apache.james.mailbox;
-import junit.framework.Assert;
+import static org.assertj.core.api.Assertions.assertThat;
import org.apache.james.mailbox.exception.MailboxException;
import org.junit.Test;
-
/**
* Ensure that {@link MailboxException} construction is correct.
*/
public class MailboxExceptionTest {
private static final String EXCEPTION_MESSAGE = "this is an exception message";
-
- private static final Exception EXCEPTION_CAUSE = new Exception("this is a cause");
+ private static final String CAUSE_MESSAGE = "this is a cause";
+ private static final Exception EXCEPTION_CAUSE = new Exception(CAUSE_MESSAGE);
@Test
public void testMailboxExceptionMessage() {
MailboxException mbe = new MailboxException(EXCEPTION_MESSAGE);
- Assert.assertEquals(EXCEPTION_MESSAGE, mbe.getMessage());
+ assertThat(mbe).hasMessage(EXCEPTION_MESSAGE);
}
@Test
public void testMailboxExceptionCause() {
MailboxException mbe = new MailboxException(EXCEPTION_MESSAGE, EXCEPTION_CAUSE);
- Assert.assertEquals(EXCEPTION_MESSAGE, mbe.getMessage());
+ assertThat(mbe).hasMessage(EXCEPTION_MESSAGE).hasCauseExactlyInstanceOf(Exception.class);
+ assertThat(mbe.getCause()).hasMessage(CAUSE_MESSAGE);
}
}
Modified: james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/MailboxExpressionTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/MailboxExpressionTest.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/MailboxExpressionTest.java (original)
+++ james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/MailboxExpressionTest.java Tue Sep 22 11:50:44 2015
@@ -19,7 +19,9 @@
package org.apache.james.mailbox;
-import static org.junit.Assert.*;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MailboxQuery;
@@ -55,40 +57,40 @@ public class MailboxExpressionTest {
}
@Test
- public void testCombinedNameEmptyPart() throws Exception {
+ public void combinedNameWithNoExpressionShouldReturnBase() throws Exception {
MailboxQuery expression = new MailboxQuery(BASE_PATH, "", '.');
- assertEquals(BASE, expression.getCombinedName());
+ assertThat(expression.getCombinedName()).isEqualTo(BASE);
}
@Test
- public void testNullCombinedName() throws Exception {
+ public void combinedNameOnNullShouldBeEmpty() throws Exception {
MailboxQuery expression = new MailboxQuery(new MailboxPath(null, null, null), null, '.');
- assertNotNull(expression.getCombinedName());
+ assertThat(expression.getCombinedName()).isEmpty();
}
@Test
- public void testSimpleCombinedName() throws Exception {
- MailboxQuery expression = create(PART);
- assertEquals(BASE + "." + PART, expression.getCombinedName());
+ public void combinedNameShouldContainBaseAndPart() throws Exception {
+ MailboxQuery expression = new MailboxQuery(BASE_PATH, PART, '.');
+ assertThat(expression.getCombinedName()).isEqualTo(BASE + "." + PART);
}
@Test
- public void testCombinedNamePartStartsWithDelimiter() throws Exception {
- MailboxQuery expression = create("." + PART);
- assertEquals(BASE + "." + PART, expression.getCombinedName());
+ public void combinedNameOnPartStartingWithDelimiterShouldIgnoreDelimiter() throws Exception {
+ MailboxQuery expression = new MailboxQuery(BASE_PATH, "." + PART, '.');
+ assertThat(expression.getCombinedName()).isEqualTo(BASE + "." + PART);
}
@Test
- public void testCombinedNameBaseEndsWithDelimiter() throws Exception {
+ public void combinedNameOnBaseEndingWithDelimiterShouldIgnoreDelimiter() throws Exception {
MailboxQuery expression = new MailboxQuery(new MailboxPath(null, null, BASE + '.'), PART, '.');
- assertEquals(BASE + "." + PART, expression.getCombinedName());
+ assertThat(expression.getCombinedName()).isEqualTo(BASE + "." + PART);
}
@Test
- public void testCombinedNameBaseEndsWithDelimiterPartStarts()
+ public void combinedNameShouldIgnoreAllDelimiters()
throws Exception {
MailboxQuery expression = new MailboxQuery(new MailboxPath(null, null, BASE + '.'), '.' + PART, '.');
- assertEquals(BASE + "." + PART, expression.getCombinedName());
+ assertThat(expression.getCombinedName()).isEqualTo(BASE + "." + PART);
}
@Test
Modified: james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/model/MessageRangeTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/model/MessageRangeTest.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/model/MessageRangeTest.java (original)
+++ james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/model/MessageRangeTest.java Tue Sep 22 11:50:44 2015
@@ -1,113 +1,77 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one *
- * or more contributor license agreements. See the NOTICE file *
- * distributed with this work for additional information *
- * regarding copyright ownership. The ASF licenses this file *
- * to you under the Apache License, Version 2.0 (the *
- * "License"); you may not use this file except in compliance *
- * with the License. You may obtain a copy of the License at *
- * *
- * http://www.apache.org/licenses/LICENSE-2.0 *
- * *
- * Unless required by applicable law or agreed to in writing, *
- * software distributed under the License is distributed on an *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
- * KIND, either express or implied. See the License for the *
- * specific language governing permissions and limitations *
- * under the License. *
- ****************************************************************/
-package org.apache.james.mailbox.model;
-
-import static org.junit.Assert.assertEquals;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.junit.Test;
-
-public class MessageRangeTest {
-
- @Test
- public void testToRanges() {
- List<MessageRange> ranges = MessageRange.toRanges(Arrays.asList(1L,2L,3L,5L,6L,9L));
- assertEquals(3, ranges.size());
- checkRange(1, 3, ranges.get(0));
- checkRange(5, 6, ranges.get(1));
- checkRange(9, 9, ranges.get(2));
-
- }
-
- @Test
- public void testOneUidToRange() {
- List<MessageRange> ranges = MessageRange.toRanges(Arrays.asList(1L));
- assertEquals(1, ranges.size());
- checkRange(1, 1, ranges.get(0));
- }
-
- // Test for MAILBOX-56
- @Test
- public void testTwoSeqUidToRange() {
- List<MessageRange> ranges = MessageRange.toRanges(Arrays.asList(1L,2L));
- assertEquals(1, ranges.size());
- checkRange(1, 2, ranges.get(0));
-
- }
-
-
- private void checkRange(long from, long to, MessageRange range) {
- assertEquals(from, range.getUidFrom());
- assertEquals(to, range.getUidTo());
- }
-
- @Test
- public void testSplitOne() {
- MessageRange one = MessageRange.one(1);
- List<MessageRange> ranges = one.split(2);
- assertEquals(1, ranges.size());
- checkRange(1, 1, ranges.get(0));
- assertEquals(MessageRange.Type.ONE, ranges.get(0).getType());
- }
-
- @Test
- public void testSplitFrom() {
- MessageRange from = MessageRange.from(1);
- List<MessageRange> ranges = from.split(2);
- assertEquals(1, ranges.size());
- checkRange(1, MessageRange.MAX_UID, ranges.get(0));
- assertEquals(MessageRange.Type.FROM, ranges.get(0).getType());
- }
-
- @Test
- public void testSplitRange() {
- MessageRange range = MessageRange.range(1,10);
- List<MessageRange> ranges = range.split(3);
- assertEquals(4, ranges.size());
- checkRange(1, 3, ranges.get(0));
- assertEquals(MessageRange.Type.RANGE, ranges.get(0).getType());
- checkRange(4, 6, ranges.get(1));
- assertEquals(MessageRange.Type.RANGE, ranges.get(1).getType());
- checkRange(7, 9, ranges.get(2));
- assertEquals(MessageRange.Type.RANGE, ranges.get(2).getType());
- checkRange(10, 10, ranges.get(3));
- assertEquals(MessageRange.Type.ONE, ranges.get(3).getType());
- }
-
- @Test
- public void fromShouldSetTypeToFrom() {
- MessageRange messageRange = MessageRange.from(10);
- assertEquals(messageRange.getType(), MessageRange.Type.FROM);
- }
-
- @Test
- public void fromShouldSetUidFromToGivenValue() {
- int from = 10;
- MessageRange messageRange = MessageRange.from(from);
- assertEquals(messageRange.getUidFrom(), from);
- }
-
- @Test
- public void fromShouldSetUidToToMax() {
- MessageRange messageRange = MessageRange.from(10);
- assertEquals(messageRange.getUidTo(), MessageRange.MAX_UID);
- }
-}
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+package org.apache.james.mailbox.model;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.james.mailbox.model.MessageRange;
+import org.junit.Test;
+
+public class MessageRangeTest {
+
+ @Test
+ public void givenSomeNumbersToRangeShouldReturnThreeRanges() {
+ List<MessageRange> ranges = MessageRange.toRanges(Arrays.asList(1L,2L,3L,5L,6L,9L));
+ assertThat(ranges).containsExactly(
+ MessageRange.range(1, 3),
+ MessageRange.range(5, 6),
+ MessageRange.one(9));
+ }
+
+ @Test
+ public void givenASingleNumberToRangeShouldReturnOneRange() {
+ List<MessageRange> ranges = MessageRange.toRanges(Arrays.asList(1L));
+ assertThat(ranges).containsExactly(MessageRange.one(1));
+ }
+
+ // Test for MAILBOX-56
+ @Test
+ public void testTwoSeqUidToRange() {
+ List<MessageRange> ranges = MessageRange.toRanges(Arrays.asList(1L,2L));
+ assertThat(ranges).containsExactly(MessageRange.range(1, 2));
+ }
+
+ @Test
+ public void splitASingletonRangeShouldReturnASingleRange() {
+ MessageRange one = MessageRange.one(1);
+ List<MessageRange> ranges = one.split(2);
+ assertThat(ranges).containsExactly(MessageRange.one(1));
+ }
+
+ @Test
+ public void splitUnboundedRangeShouldReturnTheSameRange() {
+ MessageRange from = MessageRange.from(1);
+ List<MessageRange> ranges = from.split(2);
+ assertThat(ranges).containsExactly(MessageRange.from(1));
+ }
+
+ @Test
+ public void splitTenElementsRangeShouldReturn4Ranges() {
+ MessageRange range = MessageRange.range(1,10);
+ List<MessageRange> ranges = range.split(3);
+ assertThat(ranges).containsExactly(
+ MessageRange.range(1, 3),
+ MessageRange.range(4, 6),
+ MessageRange.range(7, 9),
+ MessageRange.one(10));
+ }
+}
Modified: james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapper.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapper.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapper.java (original)
+++ james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapper.java Tue Sep 22 11:50:44 2015
@@ -40,11 +40,7 @@ import org.apache.james.mailbox.store.us
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Row;
import com.datastax.driver.core.Session;
-import com.datastax.driver.core.querybuilder.Insert;
import com.datastax.driver.core.querybuilder.QueryBuilder;
-import com.datastax.driver.core.querybuilder.Select;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableList.Builder;
public class CassandraSubscriptionMapper extends NonTransactionalMapper implements SubscriptionMapper {
private Session session;
Modified: james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMailboxManager.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMailboxManager.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMailboxManager.java (original)
+++ james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMailboxManager.java Tue Sep 22 11:50:44 2015
@@ -18,8 +18,6 @@
****************************************************************/
package org.apache.james.mailbox.hbase;
-import java.util.UUID;
-
import org.apache.james.mailbox.MailboxPathLocker;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.acl.GroupMembershipResolver;
Modified: james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMailboxSessionMapperFactory.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMailboxSessionMapperFactory.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMailboxSessionMapperFactory.java (original)
+++ james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMailboxSessionMapperFactory.java Tue Sep 22 11:50:44 2015
@@ -35,6 +35,7 @@ import org.apache.hadoop.hbase.HTableDes
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.ZooKeeperConnectionException;
import org.apache.hadoop.hbase.client.HBaseAdmin;
+import org.apache.hadoop.io.IOUtils;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.exception.SubscriptionException;
@@ -74,8 +75,9 @@ public class HBaseMailboxSessionMapperFa
this.modSeqProvider = modSeqProvider;
//TODO: add better exception handling for this
+ HBaseAdmin hbaseAdmin = null;
try {
- HBaseAdmin hbaseAdmin = new HBaseAdmin(conf);
+ hbaseAdmin = new HBaseAdmin(conf);
HTableDescriptor desc = null;
HColumnDescriptor hColumnDescriptor = null;
@@ -118,6 +120,8 @@ public class HBaseMailboxSessionMapperFa
} catch (Exception e) {
throw new RuntimeException(e);
+ } finally {
+ IOUtils.cleanup(null, hbaseAdmin);
}
}
Modified: james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapper.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapper.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapper.java (original)
+++ james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapper.java Tue Sep 22 11:50:44 2015
@@ -347,6 +347,7 @@ public class HBaseMailboxMapper extends
scan = new Scan();
scan.setMaxVersions(1);
scan.addColumn(MAILBOX_CF, MAILBOX_MESSAGE_COUNT);
+ IOUtils.cleanup(null, scanner);
scanner = mailboxes.getScanner(scan);
Put put = null;
while ((result = scanner.next()) != null) {
@@ -357,14 +358,7 @@ public class HBaseMailboxMapper extends
} catch (IOException e) {
throw new RuntimeException("Error deleting MESSAGES table ", e);
} finally {
- IOUtils.closeStream(scanner);
- if (messages != null) {
- try {
- messages.close();
- } catch (IOException ex) {
- throw new RuntimeException("Error closing table " + messages, ex);
- }
- }
+ IOUtils.cleanup(null, scanner, messages, mailboxes);
}
}
@@ -382,14 +376,11 @@ public class HBaseMailboxMapper extends
while ((result = scanner.next()) != null) {
deletes.add(new Delete(result.getRow()));
}
- long totalDeletes = deletes.size();
mailboxes.delete(deletes);
} catch (IOException ex) {
throw new RuntimeException("IOException deleting mailboxes", ex);
} finally {
- IOUtils.closeStream(scanner);
- // TODO Temporary commented, was not compiling.
-// IOUtils.closeStream(mailboxes);
+ IOUtils.cleanup(null, scanner, mailboxes);
}
}
Modified: james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java (original)
+++ james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java Tue Sep 22 11:50:44 2015
@@ -337,8 +337,7 @@ public class HBaseMessageMapper extends
scan.setMaxVersions(1);
scanner = messages.getScanner(scan);
long count = 0;
- Result result;
- while ((result = scanner.next()) != null) {
+ while (scanner.next() != null) {
count++;
}
return count;
Modified: james/mailbox/trunk/hbase/src/test/java/org/apache/james/mailbox/hbase/HBaseUtilsTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/hbase/src/test/java/org/apache/james/mailbox/hbase/HBaseUtilsTest.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/hbase/src/test/java/org/apache/james/mailbox/hbase/HBaseUtilsTest.java (original)
+++ james/mailbox/trunk/hbase/src/test/java/org/apache/james/mailbox/hbase/HBaseUtilsTest.java Tue Sep 22 11:50:44 2015
@@ -146,7 +146,7 @@ public class HBaseUtilsTest {
flags.add("userFlag1");
flags.add("userFlag2");
HBaseId uuid = HBaseId.of(UUID.randomUUID());
- final SimpleMessage message = new SimpleMessage(new Date(), 100, 10, null, flags, new PropertyBuilder(), uuid);
+ final SimpleMessage<HBaseId> message = new SimpleMessage<HBaseId>(new Date(), 100, 10, null, flags, new PropertyBuilder(), uuid);
Put put = flagsToPut(message, flags);
//test for the system flags
assertTrue(put.has(MESSAGES_META_CF, FLAGS_SEEN, MARKER_PRESENT));
Modified: james/mailbox/trunk/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapperTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapperTest.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapperTest.java (original)
+++ james/mailbox/trunk/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapperTest.java Tue Sep 22 11:50:44 2015
@@ -31,7 +31,6 @@ import static org.junit.Assert.assertArr
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -176,24 +175,28 @@ public class HBaseMailboxMapperTest {
private void testSave() throws Exception {
LOG.info("save and mailboxFromResult");
final HTable mailboxes = new HTable(conf, MAILBOXES_TABLE);
-
- final HBaseMailbox mlbx = mailboxList.get(mailboxList.size() / 2);
-
- final Get get = new Get(mlbx.getMailboxId().toBytes());
- // get all columns for the DATA column family
- get.addFamily(MAILBOX_CF);
-
- final Result result = mailboxes.get(get);
- final HBaseMailbox newValue = (HBaseMailbox) mailboxFromResult(result);
- assertEquals(mlbx, newValue);
- assertEquals(mlbx.getUser(), newValue.getUser());
- assertEquals(mlbx.getName(), newValue.getName());
- assertEquals(mlbx.getNamespace(), newValue.getNamespace());
- assertEquals(mlbx.getMailboxId(), newValue.getMailboxId());
- assertEquals(mlbx.getLastUid(), newValue.getLastUid());
- assertEquals(mlbx.getUidValidity(), newValue.getUidValidity());
- assertEquals(mlbx.getHighestModSeq(), newValue.getHighestModSeq());
- assertArrayEquals(mlbx.getMailboxId().toBytes(), newValue.getMailboxId().toBytes());
+ try {
+
+ final HBaseMailbox mlbx = mailboxList.get(mailboxList.size() / 2);
+
+ final Get get = new Get(mlbx.getMailboxId().toBytes());
+ // get all columns for the DATA column family
+ get.addFamily(MAILBOX_CF);
+
+ final Result result = mailboxes.get(get);
+ final HBaseMailbox newValue = (HBaseMailbox) mailboxFromResult(result);
+ assertEquals(mlbx, newValue);
+ assertEquals(mlbx.getUser(), newValue.getUser());
+ assertEquals(mlbx.getName(), newValue.getName());
+ assertEquals(mlbx.getNamespace(), newValue.getNamespace());
+ assertEquals(mlbx.getMailboxId(), newValue.getMailboxId());
+ assertEquals(mlbx.getLastUid(), newValue.getLastUid());
+ assertEquals(mlbx.getUidValidity(), newValue.getUidValidity());
+ assertEquals(mlbx.getHighestModSeq(), newValue.getHighestModSeq());
+ assertArrayEquals(mlbx.getMailboxId().toBytes(), newValue.getMailboxId().toBytes());
+ } finally {
+ mailboxes.close();
+ }
}
/**
@@ -249,14 +252,6 @@ public class HBaseMailboxMapperTest {
}
/**
- * Test of deleteAllMemberships method, of class HBaseMailboxMapper.
- */
- private void testDeleteAllMemberships() {
- LOG.info("deleteAllMemberships");
- fail("Not yet implemented");
- }
-
- /**
* Test of deleteAllMailboxes method, of class HBaseMailboxMapper.
*/
private void testDeleteAllMailboxes() throws MailboxException {
@@ -284,19 +279,24 @@ public class HBaseMailboxMapperTest {
MESSAGES_TABLE, MESSAGE_DATA_BODY_CF, Bytes.toBytes("10"), 10);
ChunkInputStream in = new ChunkInputStream(conf,
MESSAGES_TABLE, MESSAGE_DATA_BODY_CF, Bytes.toBytes("10"));
- //create the stream
- ByteArrayInputStream bin = new ByteArrayInputStream(data);
- ByteArrayOutputStream bout = new ByteArrayOutputStream(data.length);
- int b;
- while ((b = bin.read()) != -1) {
- out.write(b);
- }
- out.close();
- while ((b = in.read()) != -1) {
- bout.write(b);
+ try {
+ //create the stream
+ ByteArrayInputStream bin = new ByteArrayInputStream(data);
+ ByteArrayOutputStream bout = new ByteArrayOutputStream(data.length);
+ int b;
+ while ((b = bin.read()) != -1) {
+ out.write(b);
+ }
+ out.close();
+ while ((b = in.read()) != -1) {
+ bout.write(b);
+ }
+ String s = bout.toString();
+ assertTrue(original.equals(s));
+ } finally {
+ in.close();
+ out.close();
}
- String s = bout.toString();
- assertTrue(original.equals(s));
}
private static void fillMailboxList() {
Modified: james/mailbox/trunk/hbase/src/test/java/org/apache/james/mailbox/hbase/user/HBaseSubscriptionMapperTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/hbase/src/test/java/org/apache/james/mailbox/hbase/user/HBaseSubscriptionMapperTest.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/hbase/src/test/java/org/apache/james/mailbox/hbase/user/HBaseSubscriptionMapperTest.java (original)
+++ james/mailbox/trunk/hbase/src/test/java/org/apache/james/mailbox/hbase/user/HBaseSubscriptionMapperTest.java Tue Sep 22 11:50:44 2015
@@ -23,6 +23,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HTable;
@@ -31,10 +32,14 @@ import org.apache.hadoop.hbase.util.Byte
import org.apache.james.mailbox.exception.SubscriptionException;
import org.apache.james.mailbox.hbase.HBaseClusterSingleton;
import org.apache.james.mailbox.hbase.HBaseMailboxSessionMapperFactory;
+
import static org.apache.james.mailbox.hbase.HBaseNames.*;
+
import org.apache.james.mailbox.store.user.model.Subscription;
import org.apache.james.mailbox.store.user.model.impl.SimpleSubscription;
+
import static org.junit.Assert.*;
+
import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
@@ -154,7 +159,7 @@ public class HBaseSubscriptionMapperTest
@Test
public void testFindSubscriptionsForUser() throws Exception {
LOG.info("findSubscriptionsForUser");
- final SimpleSubscription fake1 = new SimpleSubscription("user1", "FAKEBOX");
+ @SuppressWarnings("unused") final SimpleSubscription fake1 = new SimpleSubscription("user1", "FAKEBOX");
final SimpleSubscription fake2 = new SimpleSubscription("fakeUser", "INBOX");
for (String user : subscriptionList.keySet()) {
LOG.info("Searching for all subscriptions for user: " + user);
Modified: james/mailbox/trunk/jcr/pom.xml
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/jcr/pom.xml?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/jcr/pom.xml (original)
+++ james/mailbox/trunk/jcr/pom.xml Tue Sep 22 11:50:44 2015
@@ -98,5 +98,10 @@
<type>test-jar</type>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
Modified: james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMailboxMapper.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMailboxMapper.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMailboxMapper.java (original)
+++ james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMailboxMapper.java Tue Sep 22 11:50:44 2015
@@ -52,8 +52,10 @@ import org.apache.james.mailbox.store.ma
*/
public class JCRMailboxMapper extends AbstractJCRScalingMapper implements MailboxMapper<JCRId> {
+ @SuppressWarnings("deprecation")
+ private static final String XPATH_LANGUAGE = Query.XPATH;
- public JCRMailboxMapper(final MailboxSessionJCRRepository repos, MailboxSession session, final int scaling) {
+ public JCRMailboxMapper(final MailboxSessionJCRRepository repos, MailboxSession session, final int scaling) {
super(repos, session, scaling);
}
@@ -94,7 +96,7 @@ public class JCRMailboxMapper extends Ab
QueryManager manager = getSession().getWorkspace().getQueryManager();
String queryString = "/jcr:root/" + MAILBOXES_PATH + "/" + ISO9075.encodePath(path.getNamespace()) + "//element(*,jamesMailbox:mailbox)[@" + JCRMailbox.NAME_PROPERTY + "='" + name+ "' and @" + JCRMailbox.NAMESPACE_PROPERTY +"='" + namespace + "' and @" + JCRMailbox.USER_PROPERTY + "='" + user + "']";
- QueryResult result = manager.createQuery(queryString, Query.XPATH).execute();
+ QueryResult result = manager.createQuery(queryString, XPATH_LANGUAGE).execute();
NodeIterator it = result.getNodes();
if (it.hasNext()) {
return new JCRMailbox(it.nextNode(), getLogger());
@@ -125,7 +127,7 @@ public class JCRMailboxMapper extends Ab
QueryManager manager = getSession().getWorkspace().getQueryManager();
String queryString = "/jcr:root/" + MAILBOXES_PATH + "/" + ISO9075.encodePath(path.getNamespace()) + "//element(*,jamesMailbox:mailbox)[jcr:like(@" + JCRMailbox.NAME_PROPERTY + ",'%" + name + "%') and @" + JCRMailbox.NAMESPACE_PROPERTY +"='" + namespace + "' and @" + JCRMailbox.USER_PROPERTY + "='" + user + "']";
- QueryResult result = manager.createQuery(queryString, Query.XPATH).execute();
+ QueryResult result = manager.createQuery(queryString, XPATH_LANGUAGE).execute();
NodeIterator it = result.getNodes();
while (it.hasNext()) {
mailboxList.add(new JCRMailbox(it.nextNode(), getLogger()));
@@ -205,7 +207,7 @@ public class JCRMailboxMapper extends Ab
String queryString = "/jcr:root/" + MAILBOXES_PATH + "/" + ISO9075.encodePath(mailbox.getNamespace())
+ "//element(*,jamesMailbox:mailbox)[jcr:like(@"
+ JCRMailbox.NAME_PROPERTY + ",'" + name + delimiter + "%') and @" + JCRMailbox.NAMESPACE_PROPERTY +"='" + namespace + "' and @" + JCRMailbox.USER_PROPERTY + "='" + user + "']";
- QueryResult result = manager.createQuery(queryString, Query.XPATH)
+ QueryResult result = manager.createQuery(queryString, XPATH_LANGUAGE)
.execute();
NodeIterator it = result.getNodes();
return it.hasNext();
@@ -224,7 +226,7 @@ public class JCRMailboxMapper extends Ab
QueryManager manager = getSession().getWorkspace().getQueryManager();
String queryString = "/jcr:root/" + MAILBOXES_PATH + "//element(*,jamesMailbox:mailbox)";
- QueryResult result = manager.createQuery(queryString, Query.XPATH).execute();
+ QueryResult result = manager.createQuery(queryString, XPATH_LANGUAGE).execute();
NodeIterator it = result.getNodes();
while (it.hasNext()) {
mList.add(new JCRMailbox(it.nextNode(), getLogger()));
Modified: james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java (original)
+++ james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java Tue Sep 22 11:50:44 2015
@@ -62,6 +62,9 @@ import org.apache.james.mailbox.store.ma
*/
public class JCRMessageMapper extends AbstractMessageMapper<JCRId> implements JCRImapConstants {
+ @SuppressWarnings("deprecation")
+ private static final String XPATH_LANGUAGE = Query.XPATH;
+
/**
* Store the messages directly in the mailbox: .../mailbox/
*/
@@ -213,7 +216,7 @@ public class JCRMessageMapper extends Ab
String queryString = "/jcr:root" + getMailboxPath(mailbox) + "//element(*,jamesMailbox:message) order by @"
+ JCRMessage.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
- QueryResult result = manager.createQuery(queryString, Query.XPATH).execute();
+ QueryResult result = manager.createQuery(queryString, XPATH_LANGUAGE).execute();
NodeIterator nodes = result.getNodes();
long count = nodes.getSize();
if (count == -1) {
@@ -244,7 +247,7 @@ public class JCRMessageMapper extends Ab
String queryString = "/jcr:root" + getMailboxPath(mailbox) + "//element(*,jamesMailbox:message)[@"
+ JCRMessage.SEEN_PROPERTY + "='false'] order by @" + JCRMessage.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
- QueryResult result = manager.createQuery(queryString, Query.XPATH).execute();
+ QueryResult result = manager.createQuery(queryString, XPATH_LANGUAGE).execute();
NodeIterator nodes = result.getNodes();
long count = nodes.getSize();
@@ -339,7 +342,7 @@ public class JCRMessageMapper extends Ab
+ JCRMessage.RECENT_PROPERTY + "='true'] order by @" + JCRMessage.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
- Query query = manager.createQuery(queryString, Query.XPATH);
+ Query query = manager.createQuery(queryString, XPATH_LANGUAGE);
QueryResult result = query.execute();
NodeIterator iterator = result.getNodes();
@@ -367,7 +370,7 @@ public class JCRMessageMapper extends Ab
QueryManager manager = getSession().getWorkspace().getQueryManager();
- Query query = manager.createQuery(queryString, Query.XPATH);
+ Query query = manager.createQuery(queryString, XPATH_LANGUAGE);
query.setLimit(1);
QueryResult result = query.execute();
@@ -551,7 +554,7 @@ public class JCRMessageMapper extends Ab
+ JCRMessage.UID_PROPERTY + ">=" + uid + "] order by @" + JCRMessage.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
- Query query = manager.createQuery(queryString, Query.XPATH);
+ Query query = manager.createQuery(queryString, XPATH_LANGUAGE);
if (batchSize > 0)
query.setLimit(batchSize);
QueryResult result = query.execute();
@@ -570,7 +573,7 @@ public class JCRMessageMapper extends Ab
+ JCRMessage.UID_PROPERTY + "=" + uid + "]";
QueryManager manager = getSession().getWorkspace().getQueryManager();
- Query query = manager.createQuery(queryString, Query.XPATH);
+ Query query = manager.createQuery(queryString, XPATH_LANGUAGE);
query.setLimit(1);
QueryResult result = query.execute();
NodeIterator iterator = result.getNodes();
@@ -588,7 +591,7 @@ public class JCRMessageMapper extends Ab
+ "] order by @" + JCRMessage.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
- Query query = manager.createQuery(queryString, Query.XPATH);
+ Query query = manager.createQuery(queryString, XPATH_LANGUAGE);
if (batchSize > 0)
query.setLimit(batchSize);
QueryResult result = query.execute();
@@ -607,7 +610,7 @@ public class JCRMessageMapper extends Ab
String queryString = "/jcr:root" + getMailboxPath(mailbox) + "//element(*,jamesMailbox:message) order by @"
+ JCRMessage.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
- Query query = manager.createQuery(queryString, Query.XPATH);
+ Query query = manager.createQuery(queryString, XPATH_LANGUAGE);
if (batchSize > 0)
query.setLimit(batchSize);
QueryResult result = query.execute();
@@ -627,7 +630,7 @@ public class JCRMessageMapper extends Ab
+ JCRMessage.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
- QueryResult result = manager.createQuery(queryString, Query.XPATH).execute();
+ QueryResult result = manager.createQuery(queryString, XPATH_LANGUAGE).execute();
NodeIterator iterator = result.getNodes();
while (iterator.hasNext()) {
@@ -642,7 +645,7 @@ public class JCRMessageMapper extends Ab
String queryString = "/jcr:root" + getMailboxPath(mailbox) + "//element(*,jamesMailbox:message)[@"
+ JCRMessage.UID_PROPERTY + "=" + uid + " and @" + JCRMessage.DELETED_PROPERTY + "='true']";
QueryManager manager = getSession().getWorkspace().getQueryManager();
- Query query = manager.createQuery(queryString, Query.XPATH);
+ Query query = manager.createQuery(queryString, XPATH_LANGUAGE);
query.setLimit(1);
QueryResult result = query.execute();
@@ -662,7 +665,7 @@ public class JCRMessageMapper extends Ab
+ JCRMessage.DELETED_PROPERTY + "='true'] order by @" + JCRMessage.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
- QueryResult result = manager.createQuery(queryString, Query.XPATH).execute();
+ QueryResult result = manager.createQuery(queryString, XPATH_LANGUAGE).execute();
NodeIterator iterator = result.getNodes();
while (iterator.hasNext()) {
@@ -678,7 +681,7 @@ public class JCRMessageMapper extends Ab
+ JCRMessage.DELETED_PROPERTY + "='true'] order by @" + JCRMessage.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
- QueryResult result = manager.createQuery(queryString, Query.XPATH).execute();
+ QueryResult result = manager.createQuery(queryString, XPATH_LANGUAGE).execute();
NodeIterator iterator = result.getNodes();
while (iterator.hasNext()) {
Modified: james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/user/JCRSubscriptionMapper.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/user/JCRSubscriptionMapper.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/user/JCRSubscriptionMapper.java (original)
+++ james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/user/JCRSubscriptionMapper.java Tue Sep 22 11:50:44 2015
@@ -48,6 +48,9 @@ import org.apache.james.mailbox.store.us
*/
public class JCRSubscriptionMapper extends AbstractJCRScalingMapper implements SubscriptionMapper {
+ @SuppressWarnings("deprecation")
+ private static final String XPATH_LANGUAGE = Query.XPATH;
+
public JCRSubscriptionMapper(final MailboxSessionJCRRepository repos, MailboxSession session, final int scaling) {
super(repos,session, scaling);
}
@@ -100,7 +103,7 @@ public class JCRSubscriptionMapper exten
String queryString = "/jcr:root/" + MAILBOXES_PATH + "//element(*,jamesMailbox:user)[@" + JCRSubscription.USERNAME_PROPERTY + "='" + user + "'] AND [@" + JCRSubscription.MAILBOXES_PROPERTY +"='" + mailbox + "']";
QueryManager manager = getSession().getWorkspace().getQueryManager();
- QueryResult result = manager.createQuery(queryString, Query.XPATH).execute();
+ QueryResult result = manager.createQuery(queryString, XPATH_LANGUAGE).execute();
NodeIterator nodeIt = result.getNodes();
if (nodeIt.hasNext()) {
@@ -130,7 +133,7 @@ public class JCRSubscriptionMapper exten
String queryString = "/jcr:root/" + MAILBOXES_PATH + "//element(*,jamesMailbox:user)[@" + JCRSubscription.USERNAME_PROPERTY + "='" + user + "']";
QueryManager manager = getSession().getWorkspace().getQueryManager();
- QueryResult result = manager.createQuery(queryString, Query.XPATH).execute();
+ QueryResult result = manager.createQuery(queryString, XPATH_LANGUAGE).execute();
NodeIterator nodeIt = result.getNodes();
while (nodeIt.hasNext()) {
Modified: james/mailbox/trunk/jpa/pom.xml
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/jpa/pom.xml?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/jpa/pom.xml (original)
+++ james/mailbox/trunk/jpa/pom.xml Tue Sep 22 11:50:44 2015
@@ -74,6 +74,11 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
Modified: james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAStreamingMessage.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAStreamingMessage.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAStreamingMessage.java (original)
+++ james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAStreamingMessage.java Tue Sep 22 11:50:44 2015
@@ -51,12 +51,10 @@ import org.apache.openjpa.persistence.Pe
@Table(name="JAMES_MAIL")
public class JPAStreamingMessage extends AbstractJPAMessage {
- @SuppressWarnings("unused")
@Persistent(optional = false, fetch = FetchType.LAZY)
@Column(name = "MAIL_BYTES", length = 1048576000, nullable = false)
private InputStream body;
- @SuppressWarnings("unused")
@Persistent(optional = false, fetch = FetchType.LAZY)
@Column(name = "HEADER_BYTES", length = 10485760, nullable = false)
private InputStream header;
Modified: james/mailbox/trunk/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java (original)
+++ james/mailbox/trunk/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java Tue Sep 22 11:50:44 2015
@@ -106,6 +106,7 @@ import org.apache.lucene.search.TopDocs;
import org.apache.lucene.search.WildcardQuery;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.LockObtainFailedException;
+import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.Version;
/**
@@ -1203,8 +1204,9 @@ public class LuceneMessageSearchIndex<Id
* @see org.apache.james.mailbox.store.search.ListeningMessageSearchIndex#update(org.apache.james.mailbox.MailboxSession, org.apache.james.mailbox.store.mail.model.Mailbox, org.apache.james.mailbox.model.MessageRange, javax.mail.Flags)
*/
public void update(MailboxSession session, Mailbox<Id> mailbox, MessageRange range, Flags f, long modSeq) throws MailboxException {
+ IndexSearcher searcher = null;
try {
- IndexSearcher searcher = new IndexSearcher(IndexReader.open(writer, true));
+ searcher = new IndexSearcher(IndexReader.open(writer, true));
BooleanQuery query = new BooleanQuery();
query.add(new TermQuery(new Term(MAILBOX_ID_FIELD, mailbox.getMailboxId().serialize())), BooleanClause.Occur.MUST);
query.add(createQuery(range), BooleanClause.Occur.MUST);
@@ -1215,7 +1217,7 @@ public class LuceneMessageSearchIndex<Id
for (int i = 0; i < sDocs.length; i++) {
Document doc = searcher.doc(sDocs[i].doc);
- if (doc.getField(FLAGS_FIELD) == null) {
+ if (doc.getFieldable(FLAGS_FIELD) == null) {
doc.removeFields(FLAGS_FIELD);
indexFlags(doc, f);
@@ -1226,6 +1228,12 @@ public class LuceneMessageSearchIndex<Id
} catch (IOException e) {
throw new MailboxException("Unable to add messages in index", e);
+ } finally {
+ try {
+ IOUtils.closeWhileHandlingException(searcher);
+ } catch (IOException e) {
+ //can't happen anyway
+ }
}
}
Modified: james/mailbox/trunk/maildir/pom.xml
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/maildir/pom.xml?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/maildir/pom.xml (original)
+++ james/mailbox/trunk/maildir/pom.xml Tue Sep 22 11:50:44 2015
@@ -86,5 +86,10 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
Modified: james/mailbox/trunk/maildir/src/test/java/org/apache/james/mailbox/maildir/MailderMessageNameTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/maildir/src/test/java/org/apache/james/mailbox/maildir/MailderMessageNameTest.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/maildir/src/test/java/org/apache/james/mailbox/maildir/MailderMessageNameTest.java (original)
+++ james/mailbox/trunk/maildir/src/test/java/org/apache/james/mailbox/maildir/MailderMessageNameTest.java Tue Sep 22 11:50:44 2015
@@ -18,9 +18,7 @@
****************************************************************/
package org.apache.james.mailbox.maildir;
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertNull;
-import static junit.framework.Assert.fail;
+import static org.assertj.core.api.Assertions.assertThat;
import java.util.ArrayList;
import java.util.List;
@@ -34,12 +32,10 @@ import org.junit.runners.Parameterized;
@RunWith(value = Parameterized.class)
public class MailderMessageNameTest {
- private String invalidName;
private String validName;
private Parts parts;
- public MailderMessageNameTest(String invalidName, Parts parts) {
- this.invalidName = invalidName;
+ public MailderMessageNameTest(Parts parts) {
this.validName = parts.fullName;
this.parts = parts;
}
@@ -50,83 +46,64 @@ public class MailderMessageNameTest {
// no size, two flags
Parts parts = Parts.fullName("1328026049.19146_0.km1111:2,RS").timeSeconds(1328026049)
.baseName("1328026049.19146_0.km1111").flagAnswered().flagSeen();
- args.add(valid(parts));
+ args.add(toObjectArray(parts));
// size and flag
parts = Parts.fullName("1328613172.M569643P1862V0000000000000902I00EE42CE_0.km1111,S=13103:2,S")
.timeSeconds(1328613172).size(13103L)
.baseName("1328613172.M569643P1862V0000000000000902I00EE42CE_0.km1111").flagSeen();
- args.add(valid(parts));
+ args.add(toObjectArray(parts));
// size, no flags
parts = Parts.fullName("1340124194.M723289P3184V0000000000000902I006780E9_6.km1111,S=1344:2,")
.baseName("1340124194.M723289P3184V0000000000000902I006780E9_6.km1111").timeSeconds(1340124194)
.size(1344L);
- args.add(valid(parts));
+ args.add(toObjectArray(parts));
// three flags, no size
parts = Parts.fullName("1106685752.12132_0.km1111:2,FRS").baseName("1106685752.12132_0.km1111")
.timeSeconds(1106685752).flagFlagged().flagAnswered().flagSeen();
- args.add(valid(parts));
+ args.add(toObjectArray(parts));
// with dovecot attributes
parts = Parts.fullName("1035478339.27041_118.foo.org,S=1000,W=1030:2,S")
.baseName("1035478339.27041_118.foo.org").timeSeconds(1035478339).size(1000L).flagSeen();
- args.add(valid(parts));
+ args.add(toObjectArray(parts));
parts = parts.copy();
parts.fullName = "1035478339.27041_118.foo.org,W=1030,S=1000:2,S";
- args.add(valid(parts));
+ args.add(toObjectArray(parts));
// new mail, no info part at all. found in courier maildirs
parts = Parts.fullName("1355543030.15049_0.foo.org").baseName("1355543030.15049_0.foo.org")
.timeSeconds(1355543030).noFlags();
- args.add(valid(parts));
+ args.add(toObjectArray(parts));
// new mail, generated by james
parts = Parts.fullName("1356001301.e563087e30181513.foohost,S=629:2,")
.baseName("1356001301.e563087e30181513.foohost").timeSeconds(1356001301).size(629L);
- args.add(valid(parts));
+ args.add(toObjectArray(parts));
parts = Parts.fullName("1355675588.5c7e107958851103.foohost,S=654:2,S").timeSeconds(1355675588)
.baseName("1355675588.5c7e107958851103.foohost").size(654L).flagSeen();
- args.add(valid(parts));
+ args.add(toObjectArray(parts));
parts = Parts.fullName("1355675651.f3dd564265174501.foohost,S=661:2,")
.baseName("1355675651.f3dd564265174501.foohost").timeSeconds(1355675651).size(661L);
- args.add(valid(parts));
+ args.add(toObjectArray(parts));
return args;
}
-
- private static Object[] valid(Parts parts) {
- return invalidAndValid(null, parts);
- }
-
- private static Object[] invalid(String invalidName) {
- return invalidAndValid(invalidName, null);
- }
-
- private static Object[] invalidAndValid(String invalidName, Parts validName) {
- return new Object[] { invalidName, validName };
+ private static Object[] toObjectArray(Parts validName) {
+ return new Object[] { validName };
}
@Test
public void testParsing() throws Exception {
- if (validName != null) {
- try {
- parseValidName(validName, parts);
- } catch (Throwable e) {
- throw new Exception("Valid name '" + validName + "' failed.", e);
- }
- }
- if (invalidName != null) {
- try {
- parseInvalidName(invalidName);
- fail("No error reported for invalid name: " + invalidName);
- } catch (Exception e) {
- // test successful
- }
+ try {
+ parseValidName(validName, parts);
+ } catch (Throwable e) {
+ throw new Exception("Valid name '" + validName + "' failed.", e);
}
}
@@ -134,17 +111,14 @@ public class MailderMessageNameTest {
MaildirMessageName mn = new MaildirMessageName(null, name);
mn.setMessageNameStrictParse(false);
if (parts.time == null) {
- assertNull("date", mn.getInternalDate());
+ assertThat(mn.getInternalDate()).describedAs("date").isNull();
} else {
- assertEquals("date", mn.getInternalDate().getTime(), parts.time.longValue());
+ assertThat(mn.getInternalDate()).describedAs("date").hasTime(parts.time);
}
- assertEquals("fullName", parts.fullName, mn.getFullName());
- assertEquals("flags", parts.flags, mn.getFlags());
- assertEquals("size", parts.size, mn.getSize());
- assertEquals("baseName", parts.baseName, mn.getBaseName());
- }
-
- private void parseInvalidName(String name) throws Exception {
+ assertThat(mn.getFullName()).describedAs("fullName").isEqualTo(parts.fullName);
+ assertThat(mn.getFlags()).describedAs("flags").isEqualTo(parts.flags);
+ assertThat(mn.getSize()).describedAs("size").isEqualTo(parts.size);
+ assertThat(mn.getBaseName()).describedAs("baseName").isEqualTo(parts.baseName);
}
static class Parts {
Modified: james/mailbox/trunk/maildir/src/test/java/org/apache/james/mailbox/maildir/MaildirMailboxManagerTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/maildir/src/test/java/org/apache/james/mailbox/maildir/MaildirMailboxManagerTest.java?rev=1704587&r1=1704586&r2=1704587&view=diff
==============================================================================
--- james/mailbox/trunk/maildir/src/test/java/org/apache/james/mailbox/maildir/MaildirMailboxManagerTest.java (original)
+++ james/mailbox/trunk/maildir/src/test/java/org/apache/james/mailbox/maildir/MaildirMailboxManagerTest.java Tue Sep 22 11:50:44 2015
@@ -18,101 +18,43 @@
****************************************************************/
package org.apache.james.mailbox.maildir;
-import static org.junit.Assert.fail;
-
-import java.io.File;
import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import org.apache.commons.io.FileUtils;
import org.apache.james.mailbox.AbstractMailboxManagerTest;
import org.apache.james.mailbox.acl.GroupMembershipResolver;
import org.apache.james.mailbox.acl.MailboxACLResolver;
import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
import org.apache.james.mailbox.acl.UnionMailboxACLResolver;
-import org.apache.james.mailbox.exception.BadCredentialsException;
import org.apache.james.mailbox.exception.MailboxException;
-import org.apache.james.mailbox.exception.MailboxExistsException;
import org.apache.james.mailbox.store.JVMMailboxPathLocker;
import org.apache.james.mailbox.store.StoreMailboxManager;
-import org.junit.After;
import org.junit.Before;
-import org.junit.Test;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.rules.TemporaryFolder;
+import org.junit.runners.Suite.SuiteClasses;
+
+@SuiteClasses({
+ MaildirMailboxManagerTest.DomainUser.class,
+ MaildirMailboxManagerTest.User.class,
+ MaildirMailboxManagerTest.FullUser.class})
-/**
- * MaildirMailboxManagerTest that extends the StoreMailboxManagerTest.
- */
-public class MaildirMailboxManagerTest extends AbstractMailboxManagerTest {
-
- private static final String MAILDIR_HOME = "target/Maildir";
+public class MaildirMailboxManagerTest {
- /**
- * Setup the mailboxManager.
- *
- * @throws Exception
- */
- @Before
- public void setup() throws Exception {
- if (OsDetector.isWindows()) {
- System.out.println("Maildir tests work only on non-windows systems. So skip the test");
- } else {
- deleteMaildirTestDirectory();
- }
- }
-
- /**
- * Delete Maildir directory after test.
- *
- * @throws IOException
- */
- @After
- public void tearDown() throws IOException {
- if (OsDetector.isWindows()) {
- System.out.println("Maildir tests work only on non-windows systems. So skip the test");
- } else {
- deleteMaildirTestDirectory();
- }
- }
-
- /**
- * @see org.apache.james.mailbox.AbstractMailboxManagerTest#testList()
- */
- @Test
- @Override
- public void testList() throws MailboxException, UnsupportedEncodingException {
+ public static abstract class AbstractMaildirMailboxManagerTest extends AbstractMailboxManagerTest {
+ @Rule public TemporaryFolder tmpFolder = new TemporaryFolder();
- if (OsDetector.isWindows()) {
- System.out.println("Maildir tests work only on non-windows systems. So skip the test");
- } else {
-
- doTestListWithMaildirStoreConfiguration("/%domain/%user");
-
- // TODO Tests fail with /%user configuration
- try {
- doTestListWithMaildirStoreConfiguration("/%user");
- fail();
- } catch (MailboxExistsException e) {
- // This is expected as the there are many users which have the same localpart
+ @Before
+ public void setup() throws Exception {
+ if (OsDetector.isWindows()) {
+ System.out.println("Maildir tests work only on non-windows systems. So skip the test");
+ } else {
+ createMailboxManager();
}
- // TODO Tests fail with /%fulluser configuration
- doTestListWithMaildirStoreConfiguration("/%fulluser");
-
}
-
- }
-
- /**
- * @see org.apache.james.mailbox.AbstractMailboxManagerTest#testBasicOperations()
- */
- @Test
- @Override
- public void testBasicOperations() throws BadCredentialsException, MailboxException, UnsupportedEncodingException {
- if (OsDetector.isWindows()) {
- System.out.println("Maildir tests work only on non-windows systems. So skip the test");
- } else {
-
- MaildirStore store = new MaildirStore(MAILDIR_HOME + "/%domain/%user", new JVMMailboxPathLocker());
+ protected void createMailboxManager(String configuration) throws MailboxException, IOException {
+ MaildirStore store = new MaildirStore(tmpFolder.newFolder().getPath() + configuration, new JVMMailboxPathLocker());
MaildirMailboxSessionMapperFactory mf = new MaildirMailboxSessionMapperFactory(store);
MailboxACLResolver aclResolver = new UnionMailboxACLResolver();
@@ -121,97 +63,33 @@ public class MaildirMailboxManagerTest e
StoreMailboxManager<MaildirId> manager = new StoreMailboxManager<MaildirId>(mf, null, new JVMMailboxPathLocker(), aclResolver, groupMembershipResolver);
manager.init();
setMailboxManager(manager);
- try {
- super.testBasicOperations();
- } finally {
- try {
- deleteMaildirTestDirectory();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
}
}
-
- /**
- * @see org.apache.james.mailbox.AbstractMailboxManagerTest#testCreateSubFolderDirectly()
- */
- @Test
- @Override
- public void testCreateSubFolderDirectly() throws BadCredentialsException, MailboxException {
-
- if (OsDetector.isWindows()) {
- System.out.println("Maildir tests work only on non-windows systems. So skip the test");
- } else {
-
- MaildirStore store = new MaildirStore(MAILDIR_HOME + "/%domain/%user", new JVMMailboxPathLocker());
- MaildirMailboxSessionMapperFactory mf = new MaildirMailboxSessionMapperFactory(store);
- MailboxACLResolver aclResolver = new UnionMailboxACLResolver();
- GroupMembershipResolver groupMembershipResolver = new SimpleGroupMembershipResolver();
-
- StoreMailboxManager<MaildirId> manager = new StoreMailboxManager<MaildirId>(mf, null, new JVMMailboxPathLocker(), aclResolver, groupMembershipResolver);
- manager.init();
- setMailboxManager(manager);
- try {
- super.testCreateSubFolderDirectly();
- } finally {
- try {
- deleteMaildirTestDirectory();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
+ public static class DomainUser extends AbstractMaildirMailboxManagerTest {
+ @Override
+ protected void createMailboxManager() throws MailboxException,
+ IOException {
+ createMailboxManager("/%domain/%user");
}
-
}
-
- /**
- * Create the maildirStore with the provided configuration and executes the list() tests.
- * Cleans the generated artifacts.
- *
- * @param maildirStoreConfiguration
- * @throws MailboxException
- * @throws UnsupportedEncodingException
- */
- private void doTestListWithMaildirStoreConfiguration(String maildirStoreConfiguration) throws MailboxException, UnsupportedEncodingException {
- MaildirStore store = new MaildirStore(MAILDIR_HOME + maildirStoreConfiguration, new JVMMailboxPathLocker());
- MaildirMailboxSessionMapperFactory mf = new MaildirMailboxSessionMapperFactory(store);
- MailboxACLResolver aclResolver = new UnionMailboxACLResolver();
- GroupMembershipResolver groupMembershipResolver = new SimpleGroupMembershipResolver();
-
- StoreMailboxManager<MaildirId> manager = new StoreMailboxManager<MaildirId>(mf, null, new JVMMailboxPathLocker(), aclResolver, groupMembershipResolver);
- manager.init();
- setMailboxManager(manager);
- try {
- super.testList();
- } finally {
- try {
- deleteMaildirTestDirectory();
- } catch (IOException e) {
- e.printStackTrace();
- }
+
+ @Ignore
+ public static class User extends AbstractMaildirMailboxManagerTest {
+ @Override
+ protected void createMailboxManager() throws MailboxException,
+ IOException {
+ createMailboxManager("/%user");
}
}
-
- /**
- * @see org.apache.james.mailbox.MailboxManagerTest#createMailboxManager()
- */
- @Override
- protected void createMailboxManager() {
- // Do nothing, the maildir mailboxManager is created in the test method.
- }
-
- /**
- * Utility method to delete the test Maildir Directory.
- *
- * @throws IOException
- */
- private void deleteMaildirTestDirectory() throws IOException {
- FileUtils.deleteDirectory(new File(MAILDIR_HOME));
- }
+ public static class FullUser extends AbstractMaildirMailboxManagerTest {
+ @Override
+ protected void createMailboxManager() throws MailboxException,
+ IOException {
+ createMailboxManager("/%fulluser");
+ }
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org