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 ma...@apache.org on 2016/07/27 08:05:23 UTC
james-project git commit: JAMES-1812 Use user from MailboxPath when
reindexing
Repository: james-project
Updated Branches:
refs/heads/master 0dd617259 -> 7c89479a4
JAMES-1812 Use user from MailboxPath when reindexing
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/7c89479a
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/7c89479a
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/7c89479a
Branch: refs/heads/master
Commit: 7c89479a4a77a2d1217d6d15b8be77754067b43f
Parents: 0dd6172
Author: Antoine Duprat <ad...@linagora.com>
Authored: Wed Jul 27 09:17:17 2016 +0200
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Wed Jul 27 09:17:17 2016 +0200
----------------------------------------------------------------------
.../james/mailbox/indexer/ReIndexerImpl.java | 2 +-
.../mailbox/indexer/ReIndexerImplTest.java | 41 ++++++++++++++++++++
2 files changed, 42 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/7c89479a/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/ReIndexerImpl.java
----------------------------------------------------------------------
diff --git a/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/ReIndexerImpl.java b/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/ReIndexerImpl.java
index f6da016..bc7200d 100644
--- a/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/ReIndexerImpl.java
+++ b/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/ReIndexerImpl.java
@@ -77,7 +77,7 @@ public class ReIndexerImpl implements ReIndexer {
}
public void reIndex(MailboxPath path) throws MailboxException {
- MailboxSession mailboxSession = mailboxManager.createSystemSession("re-indexing", LOGGER);
+ MailboxSession mailboxSession = mailboxManager.createSystemSession(path.getUser(), LOGGER);
reIndex(path, mailboxSession);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/7c89479a/mailbox/tool/src/test/java/org/apache/james/mailbox/indexer/ReIndexerImplTest.java
----------------------------------------------------------------------
diff --git a/mailbox/tool/src/test/java/org/apache/james/mailbox/indexer/ReIndexerImplTest.java b/mailbox/tool/src/test/java/org/apache/james/mailbox/indexer/ReIndexerImplTest.java
index 45ba909..dfa3b48 100644
--- a/mailbox/tool/src/test/java/org/apache/james/mailbox/indexer/ReIndexerImplTest.java
+++ b/mailbox/tool/src/test/java/org/apache/james/mailbox/indexer/ReIndexerImplTest.java
@@ -32,6 +32,7 @@ import org.apache.james.mailbox.MailboxListener;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.mock.MockMailboxSession;
+import org.apache.james.mailbox.model.MailboxConstants;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MessageRange;
import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
@@ -49,6 +50,8 @@ import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import org.slf4j.Logger;
+import com.google.common.collect.ImmutableList;
+
public class ReIndexerImplTest {
public static final MailboxPath INBOX = new MailboxPath("#private", "benwa@apache.org", "INBOX");
@@ -117,4 +120,42 @@ public class ReIndexerImplTest {
verify(messageSearchIndex).deleteAll(any(MailboxSession.class), eq(mailbox));
verifyNoMoreInteractions(mailboxMapper, mailboxSessionMapperFactory, messageSearchIndex, messageMapper, mailboxMapper);
}
+
+ @Test
+ public void mailboxPathUserShouldBeUsedWhenReIndexing() throws Exception {
+ MockMailboxSession systemMailboxSession = new MockMailboxSession("re-indexing");
+ when(mailboxManager.createSystemSession(eq("re-indexing"), any(Logger.class)))
+ .thenReturn(systemMailboxSession);
+ MailboxMapper mailboxMapper = mock(MailboxMapper.class);
+ when(mailboxSessionMapperFactory.getMailboxMapper(systemMailboxSession))
+ .thenReturn(mailboxMapper);
+
+ String user1 = "user1@james.org";
+ MailboxPath user1MailboxPath = new MailboxPath(MailboxConstants.USER_NAMESPACE, user1, "Inbox");
+ MockMailboxSession user1MailboxSession = new MockMailboxSession(user1);
+ when(mailboxManager.createSystemSession(eq(user1), any(Logger.class)))
+ .thenReturn(user1MailboxSession);
+ MailboxMapper user1MailboxMapper = mock(MailboxMapper.class);
+ when(mailboxSessionMapperFactory.getMailboxMapper(user1MailboxSession))
+ .thenReturn(user1MailboxMapper);
+ Mailbox user1Mailbox = mock(Mailbox.class);
+ when(user1MailboxMapper.findMailboxByPath(user1MailboxPath))
+ .thenReturn(user1Mailbox);
+ MessageMapper user1MessageMapper = mock(MessageMapper.class);
+ when(mailboxSessionMapperFactory.getMessageMapper(user1MailboxSession))
+ .thenReturn(user1MessageMapper);
+ MailboxMessage user1MailboxMessage = mock(MailboxMessage.class);
+ when(user1MessageMapper.findInMailbox(user1Mailbox, MessageRange.all(), MessageMapper.FetchType.Full, ReIndexerImpl.NO_LIMIT))
+ .thenReturn(ImmutableList.of(user1MailboxMessage).iterator());
+ when(user1MailboxMessage.getUid())
+ .thenReturn(1l);
+
+ when(mailboxManager.list(systemMailboxSession))
+ .thenReturn(ImmutableList.of(user1MailboxPath));
+
+ reIndexer.reIndex();
+
+ verify(messageSearchIndex).deleteAll(user1MailboxSession, user1Mailbox);
+ verify(messageSearchIndex).add(user1MailboxSession, user1Mailbox, user1MailboxMessage);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org