@Test public void testTaggedOk() { StatusResponse response = factory.taggedOk(TAG, command, KEY); assertThat(response).isNotNull(); assertThat(response.getServerResponseType()).isEqualTo(StatusResponse.Type.OK); assertThat(response.getTag()).isEqualTo(TAG); assertThat(response.getTextKey()).isEqualTo(KEY); assertThat(response.getCommand()).isEqualTo(command); assertThat(response.getResponseCode()).isNull(); response = factory.taggedOk(TAG, command, KEY, CODE); assertThat(response).isNotNull(); assertThat(response.getServerResponseType()).isEqualTo(StatusResponse.Type.OK); assertThat(response.getTag()).isEqualTo(TAG); assertThat(response.getTextKey()).isEqualTo(KEY); assertThat(response.getResponseCode()).isEqualTo(CODE); assertThat(response.getCommand()).isEqualTo(command); }
@Override public boolean matches(Object o) { if (o instanceof StatusResponse) { StatusResponse sr = (StatusResponse) o; return this.serverResponseType.equals(sr.getServerResponseType()); } return false; }
@Test public void processorShouldWorkOnValidRights() throws Exception { GetQuotaRootRequest getQuotaRootRequest = new GetQuotaRootRequest("A004", ImapCommand.anyStateCommand("Name"), "INBOX"); when(mockedImapSession.getState()).thenReturn(ImapSessionState.AUTHENTICATED); when(mockedImapSession.getAttribute(ImapSessionUtils.MAILBOX_SESSION_ATTRIBUTE_SESSION_KEY)).thenReturn(mailboxSession); when(mockedQuotaRootResolver.getQuotaRoot(MAILBOX_PATH)).thenReturn(QUOTA_ROOT); when(mockedMailboxManager.hasRight(MAILBOX_PATH, MailboxACL.Right.Read, mailboxSession)).thenReturn(true); when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenReturn(MESSAGE_QUOTA); when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenReturn(STORAGE_QUOTA); final QuotaResponse storageQuotaResponse = new QuotaResponse("STORAGE", "plop", STORAGE_QUOTA); final QuotaResponse messageQuotaResponse = new QuotaResponse("MESSAGE", "plop", MESSAGE_QUOTA); final QuotaRootResponse quotaRootResponse = new QuotaRootResponse("INBOX", "plop"); testee.doProcess(getQuotaRootRequest, mockedResponder, mockedImapSession); verify(mockedMailboxManager, times(1)).startProcessingRequest(mailboxSession); verify(mockedMailboxManager, times(1)).endProcessingRequest(mailboxSession); ArgumentCaptor<ImapResponseMessage> responseCaptor = ArgumentCaptor.forClass(ImapResponseMessage.class); verify(mockedResponder, times(4)).respond(responseCaptor.capture()); List<ImapResponseMessage> captorValues = responseCaptor.getAllValues(); assertThat(captorValues).contains(quotaRootResponse, storageQuotaResponse, messageQuotaResponse); assertThat(captorValues).anySatisfy(response -> assertThat(response).isInstanceOfSatisfying( StatusResponse.class, st -> assertThat(st.getServerResponseType()).isEqualTo(OK))); }
@Test public void testTaggedBad() { StatusResponse response = factory.taggedBad(TAG, command, KEY); assertThat(response).isNotNull(); assertThat(response.getServerResponseType()).isEqualTo(StatusResponse.Type.BAD); assertThat(response.getTag()).isEqualTo(TAG); assertThat(response.getTextKey()).isEqualTo(KEY); assertThat(response.getResponseCode()).isNull(); assertThat(response.getCommand()).isEqualTo(command); response = factory.taggedBad(TAG, command, KEY, CODE); assertThat(response).isNotNull(); assertThat(response.getServerResponseType()).isEqualTo(StatusResponse.Type.BAD); assertThat(response.getTag()).isEqualTo(TAG); assertThat(response.getTextKey()).isEqualTo(KEY); assertThat(response.getResponseCode()).isEqualTo(CODE); assertThat(response.getCommand()).isEqualTo(command); }
@Test public void testTaggedNo() { StatusResponse response = factory.taggedNo(TAG, command, KEY); assertThat(response).isNotNull(); assertThat(response.getServerResponseType()).isEqualTo(StatusResponse.Type.NO); assertThat(response.getTag()).isEqualTo(TAG); assertThat(response.getTextKey()).isEqualTo(KEY); assertThat(response.getCommand()).isEqualTo(command); assertThat(response.getResponseCode()).isNull(); response = factory.taggedNo(TAG, command, KEY, CODE); assertThat(response).isNotNull(); assertThat(response.getServerResponseType()).isEqualTo(StatusResponse.Type.NO); assertThat(response.getTag()).isEqualTo(TAG); assertThat(response.getTextKey()).isEqualTo(KEY); assertThat(response.getResponseCode()).isEqualTo(CODE); assertThat(response.getCommand()).isEqualTo(command); }
@Test public void testUntaggedOk() { StatusResponse response = factory.untaggedOk(KEY); assertThat(response).isNotNull(); assertThat(response.getServerResponseType()).isEqualTo(StatusResponse.Type.OK); assertThat(response.getTag()).isNull(); assertThat(response.getTextKey()).isEqualTo(KEY); assertThat(response.getResponseCode()).isNull(); assertThat(response.getCommand()).isNull(); response = factory.untaggedOk(KEY, CODE); assertThat(response).isNotNull(); assertThat(response.getServerResponseType()).isEqualTo(StatusResponse.Type.OK); assertThat(response.getTag()).isNull(); assertThat(response.getTextKey()).isEqualTo(KEY); assertThat(response.getResponseCode()).isEqualTo(CODE); assertThat(response.getCommand()).isNull(); }
@Test public void testBye() { StatusResponse response = factory.bye(KEY); assertThat(response).isNotNull(); assertThat(response.getServerResponseType()).isEqualTo(StatusResponse.Type.BYE); assertThat(response.getTag()).isNull(); assertThat(response.getTextKey()).isEqualTo(KEY); assertThat(response.getResponseCode()).isNull(); assertThat(response.getCommand()).isNull(); response = factory.bye(KEY, CODE); assertThat(response).isNotNull(); assertThat(response.getServerResponseType()).isEqualTo(StatusResponse.Type.BYE); assertThat(response.getTag()).isNull(); assertThat(response.getTextKey()).isEqualTo(KEY); assertThat(response.getResponseCode()).isEqualTo(CODE); assertThat(response.getCommand()).isNull(); }
@Test public void testUntaggedNo() { StatusResponse response = factory.untaggedNo(KEY); assertThat(response).isNotNull(); assertThat(response.getServerResponseType()).isEqualTo(StatusResponse.Type.NO); assertThat(response.getTag()).isNull(); assertThat(response.getTextKey()).isEqualTo(KEY); assertThat(response.getResponseCode()).isNull(); assertThat(response.getCommand()).isNull(); response = factory.untaggedNo(KEY, CODE); assertThat(response).isNotNull(); assertThat(response.getServerResponseType()).isEqualTo(StatusResponse.Type.NO); assertThat(response.getTag()).isNull(); assertThat(response.getTextKey()).isEqualTo(KEY); assertThat(response.getResponseCode()).isEqualTo(CODE); assertThat(response.getCommand()).isNull(); }
@Test public void testUntaggedBad() { StatusResponse response = factory.untaggedBad(KEY); assertThat(response).isNotNull(); assertThat(response.getServerResponseType()).isEqualTo(StatusResponse.Type.BAD); assertThat(response.getTag()).isNull(); assertThat(response.getTextKey()).isEqualTo(KEY); assertThat(response.getResponseCode()).isNull(); assertThat(response.getCommand()).isNull(); response = factory.untaggedBad(KEY, CODE); assertThat(response).isNotNull(); assertThat(response.getServerResponseType()).isEqualTo(StatusResponse.Type.BAD); assertThat(response.getTag()).isNull(); assertThat(response.getTextKey()).isEqualTo(KEY); assertThat(response.getResponseCode()).isEqualTo(CODE); assertThat(response.getCommand()).isNull(); }
@Test public void testPreauth() { StatusResponse response = factory.preauth(KEY); assertThat(response).isNotNull(); assertThat(response .getServerResponseType()).isEqualTo(StatusResponse.Type.PREAUTH); assertThat(response.getTag()).isNull(); assertThat(response.getTextKey()).isEqualTo(KEY); assertThat(response.getResponseCode()).isNull(); assertThat(response.getCommand()).isNull(); response = factory.preauth(KEY, CODE); assertThat(response).isNotNull(); assertThat(response .getServerResponseType()).isEqualTo(StatusResponse.Type.PREAUTH); assertThat(response.getTag()).isNull(); assertThat(response.getTextKey()).isEqualTo(KEY); assertThat(response.getResponseCode()).isEqualTo(CODE); assertThat(response.getCommand()).isNull(); }
protected void doEncode(ImapMessage acceptableMessage, ImapResponseComposer composer, ImapSession session) throws IOException { StatusResponse response = (StatusResponse) acceptableMessage; final Type serverResponseType = response.getServerResponseType(); final String type = asString(serverResponseType); final ResponseCode responseCode = response.getResponseCode(); final String code = asString(responseCode); final String tag = response.getTag(); final ImapCommand command = response.getCommand(); final HumanReadableText textKey = response.getTextKey(); final String text = asString(textKey, session); final Collection<String> parameters;
@Override protected void doEncode(ImapMessage acceptableMessage, ImapResponseComposer composer, ImapSession session) throws IOException { StatusResponse response = (StatusResponse) acceptableMessage; final Type serverResponseType = response.getServerResponseType(); final String type = asString(serverResponseType); final ResponseCode responseCode = response.getResponseCode(); final String code = asString(responseCode); final String tag = response.getTag(); final ImapCommand command = response.getCommand(); final HumanReadableText textKey = response.getTextKey(); final String text = asString(textKey, session); final Collection<String> parameters;