@Override protected MessageId randomMessageId() { return new InMemoryMessageId.Factory().fromString(String.valueOf(random.nextInt(100000) + 100)); } }
@Override protected MessageId randomMessageId() { return new InMemoryMessageId.Factory().fromString(String.valueOf(random.nextInt(100000) + 100)); }
@Test public void doneShouldCopyMailFromOutboxToSentOnlyOneTimeWhenSuccess() throws Exception { MessageIdManager messageIdManager = mock(MessageIdManager.class); testee = new PostDequeueDecorator(mockedMailQueueItem, mailboxManager, new InMemoryMessageId.Factory(), messageIdManager, new SystemMailboxesProviderImpl(mailboxManager)); MailboxSession mailboxSession = mailboxManager.createSystemSession(USERNAME); mailboxManager.createMailbox(OUTBOX_MAILBOX_PATH, mailboxSession); MailboxId sentMailboxId = mailboxManager.createMailbox(SENT_MAILBOX_PATH, mailboxSession).get(); MessageManager messageManager = mailboxManager.getMailbox(OUTBOX_MAILBOX_PATH, mailboxSession); ComposedMessageId messageId = messageManager.appendMessage(AppendCommand.from(message), mailboxSession); mail.setAttribute(MailMetadata.MAIL_METADATA_MESSAGE_ID_ATTRIBUTE, messageId.getMessageId().serialize()); mail.setAttribute(MailMetadata.MAIL_METADATA_USERNAME_ATTRIBUTE, USERNAME); ImmutableList<MessageResult> allMessages = ImmutableList.copyOf(messageManager.getMessages(MessageRange.all(), FetchGroupImpl.MINIMAL, mailboxSession)); when(messageIdManager.getMessages(eq(ImmutableList.of(messageId.getMessageId())), eq(FetchGroupImpl.MINIMAL), any(MailboxSession.class))).thenReturn(allMessages); testee.done(true); testee.done(true); verify(messageIdManager, times(1)).getMessages(eq(ImmutableList.of(messageId.getMessageId())), eq(FetchGroupImpl.MINIMAL), any(MailboxSession.class)); verify(messageIdManager, times(1)).setInMailboxes(eq(messageId.getMessageId()), eq(ImmutableList.of(sentMailboxId)), any(MailboxSession.class)); verify(messageIdManager, times(1)).setFlags(eq(new Flags(Flag.SEEN)), eq(MessageManager.FlagsUpdateMode.ADD), eq(messageId.getMessageId()), eq(ImmutableList.of(sentMailboxId)), any(MailboxSession.class)); verifyNoMoreInteractions(messageIdManager); }
new JVMMailboxPathLocker(), new MessageParser(), new InMemoryMessageId.Factory(), mailboxEventDispatcher, delegatingListener, quotaRootResolver, storeRightManager, new InMemoryMessageId.Factory()); } catch (Exception e) { throw new RuntimeException(e);
InMemoryMessageId.Factory messageIdFactory = new InMemoryMessageId.Factory(); InMemoryMailboxManager mailboxManager = new InMemoryMailboxManager(mapperFactory, fakeAuthenticator,
@Override @Before public void setUp() throws Exception { mailboxSessionMapperFactory = new InMemoryMailboxSessionMapperFactory(); Authenticator noAuthenticator = null; Authorizator noAuthorizator = null; DefaultDelegatingMailboxListener delegatingListener = new DefaultDelegatingMailboxListener(); MailboxEventDispatcher mailboxEventDispatcher = new MailboxEventDispatcher(delegatingListener); MessageId.Factory messageIdFactory = new InMemoryMessageId.Factory(); GroupMembershipResolver groupMembershipResolver = null; UnionMailboxACLResolver aclResolver = new UnionMailboxACLResolver(); StoreRightManager storeRightManager = new StoreRightManager(mailboxSessionMapperFactory, aclResolver, groupMembershipResolver, mailboxEventDispatcher); StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mailboxSessionMapperFactory, storeRightManager); mailboxManager = new InMemoryMailboxManager(mailboxSessionMapperFactory, noAuthenticator, noAuthorizator, new NoMailboxPathLocker(), new MessageParser(), messageIdFactory, mailboxEventDispatcher, delegatingListener, annotationManager, storeRightManager); mailboxManager.init(); MessageParser failingMessageParser = mock(MessageParser.class); when(failingMessageParser.retrieveAttachments(any(InputStream.class))) .thenThrow(new RuntimeException("Message parser set to fail")); parseFailingMailboxManager = new InMemoryMailboxManager(mailboxSessionMapperFactory, noAuthenticator, noAuthorizator, new NoMailboxPathLocker(), failingMessageParser, messageIdFactory, mailboxEventDispatcher, delegatingListener, annotationManager, storeRightManager); parseFailingMailboxManager.init(); super.setUp(); }
public StoreMailboxManager createMailboxManager(GroupMembershipResolver groupMembershipResolver, Authenticator authenticator, Authorizator authorizator) throws MailboxException { InMemoryMailboxSessionMapperFactory mailboxSessionMapperFactory = new InMemoryMailboxSessionMapperFactory(); DefaultDelegatingMailboxListener delegatingListener = new DefaultDelegatingMailboxListener(); MailboxEventDispatcher mailboxEventDispatcher = new MailboxEventDispatcher(delegatingListener); StoreRightManager storeRightManager = new StoreRightManager(mailboxSessionMapperFactory, new UnionMailboxACLResolver(), groupMembershipResolver, mailboxEventDispatcher); StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mailboxSessionMapperFactory, storeRightManager); StoreMailboxManager manager = new InMemoryMailboxManager( mailboxSessionMapperFactory, authenticator, authorizator, new NoMailboxPathLocker(), new MessageParser(), new InMemoryMessageId.Factory(), mailboxEventDispatcher, delegatingListener, annotationManager, storeRightManager); manager.init(); return manager; }
@Test(expected = MailQueue.MailQueueException.class) public void doneShouldThrowWhenMailboxException() throws Exception { MessageIdManager messageIdManager = mock(MessageIdManager.class); testee = new PostDequeueDecorator(mockedMailQueueItem, mailboxManager, new InMemoryMessageId.Factory(), messageIdManager, new SystemMailboxesProviderImpl(mailboxManager)); MailboxSession mailboxSession = mailboxManager.createSystemSession(USERNAME); mailboxManager.createMailbox(OUTBOX_MAILBOX_PATH, mailboxSession); mailboxManager.createMailbox(SENT_MAILBOX_PATH, mailboxSession).get(); MessageManager messageManager = mailboxManager.getMailbox(OUTBOX_MAILBOX_PATH, mailboxSession); ComposedMessageId messageId = messageManager.appendMessage(AppendCommand.from(message), mailboxSession); mail.setAttribute(MailMetadata.MAIL_METADATA_MESSAGE_ID_ATTRIBUTE, messageId.getMessageId().serialize()); mail.setAttribute(MailMetadata.MAIL_METADATA_USERNAME_ATTRIBUTE, USERNAME); when(messageIdManager.getMessages(eq(ImmutableList.of(messageId.getMessageId())), eq(FetchGroupImpl.MINIMAL), any(MailboxSession.class))).thenThrow(MailboxException.class); testee.done(true); } }
@Before public void init() throws Exception { InMemoryIntegrationResources inMemoryIntegrationResources = new InMemoryIntegrationResources(); GroupMembershipResolver groupMembershipResolver = inMemoryIntegrationResources.createGroupMembershipResolver(); mailboxManager = inMemoryIntegrationResources.createMailboxManager(groupMembershipResolver); mockedMailQueueItem = mock(MailQueueItem.class); mail = FakeMail.defaultFakeMail(); when(mockedMailQueueItem.getMail()).thenReturn(mail); testee = new PostDequeueDecorator(mockedMailQueueItem, mailboxManager, new InMemoryMessageId.Factory(), inMemoryIntegrationResources.createMessageIdManager(mailboxManager), new SystemMailboxesProviderImpl(mailboxManager)); message = Message.Builder.of() .setSubject("test") .setBody("testmail", StandardCharsets.UTF_8) .build(); }
@Before public void init() throws Exception { temporaryFolder.create(); Configuration configuration = Configuration.builder() .workingDirectory(temporaryFolder.newFolder()) .configurationFromClasspath() .build(); mainStepdefs.messageIdFactory = new InMemoryMessageId.Factory(); mainStepdefs.jmapServer = GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) .overrideWith(new TestJMAPServerModule(LIMIT_TO_3_MESSAGES), (binder) -> binder.bind(MessageId.Factory.class).toInstance(mainStepdefs.messageIdFactory)) .overrideWith((binder) -> binder.bind(PersistenceAdapter.class).to(MemoryPersistenceAdapter.class)); mainStepdefs.init(); }
@Before public void setup() { parser = new ObjectMapperFactory(new InMemoryId.Factory(), new InMemoryMessageId.Factory()).forParsing(); }
@Before public void setup() { testee = new ObjectMapperFactory(new InMemoryId.Factory(), new InMemoryMessageId.Factory()); }
@Before public void setup() { testee = new JmapResponseWriterImpl(new ObjectMapperFactory(new InMemoryId.Factory(), new InMemoryMessageId.Factory())); }
@Override public MessageIdManager createMessageIdManager(StoreMailboxManager mailboxManager) { return createMessageIdManager(mailboxManager, new InMemoryMessageId.Factory()); }
@Before public void setup() { ObjectMapperFactory objectMapperFactory = new ObjectMapperFactory(new InMemoryId.Factory(), new InMemoryMessageId.Factory()); jmapRequestParser = new JmapRequestParserImpl(objectMapperFactory); jmapResponseWriter = new JmapResponseWriterImpl(objectMapperFactory); mockHttpServletRequest = mock(HttpServletRequest.class); testee = new RequestHandler(ImmutableSet.of(new TestMethod()), jmapRequestParser, jmapResponseWriter); }
@Override protected MessageId generateMessageId() { return new InMemoryMessageId.Factory().generate(); } }
@Before public void setup() { testee = new JmapRequestParserImpl(new ObjectMapperFactory(new InMemoryId.Factory(), new InMemoryMessageId.Factory())); }
@Test public void mailboxIdShouldBeSerializableWhenKeyWithoutToString() throws Exception { ObjectMapperFactory testeeWithoutToString = new ObjectMapperFactory(new KeyWithoutToString.Factory(), new InMemoryMessageId.Factory()); MailboxIdKeyTestContainer container = new MailboxIdKeyTestContainer(ImmutableMap.of(new KeyWithoutToString("key"), "value")); String expectedJson = "{\"map\":{\"key\":\"value\"}}"; String actual = testeeWithoutToString.forWriting().writeValueAsString(container); assertThat(actual).isEqualTo(expectedJson); }
public InMemoryMapperProvider() { random = new Random(); messageIdFactory = new InMemoryMessageId.Factory(); messageUidProvider = new MessageUidProvider(); inMemoryMailboxSessionMapperFactory = new InMemoryMailboxSessionMapperFactory(); }