Search in sources :

Example 21 with WebDavMessage

use of com.fsck.k9.mail.store.webdav.WebDavMessage in project k-9 by k9mail.

the class WebDavFolderTest method folder_can_fetch_sensible_body_data_and_notifies_listener.

@Test
public void folder_can_fetch_sensible_body_data_and_notifies_listener() throws MessagingException, IOException, URISyntaxException {
    setupStoreForMessageFetching();
    List<WebDavMessage> messages = setup25MessagesToFetch();
    when(mockHttpClient.executeOverride(any(HttpUriRequest.class), nullable(HttpContext.class))).thenAnswer(new Answer<HttpResponse>() {

        @Override
        public HttpResponse answer(InvocationOnMock invocation) throws Throwable {
            HttpResponse httpResponse = mock(HttpResponse.class);
            StatusLine statusLine = mock(StatusLine.class);
            when(httpResponse.getStatusLine()).thenReturn(statusLine);
            when(statusLine.getStatusCode()).thenReturn(200);
            BasicHttpEntity httpEntity = new BasicHttpEntity();
            String body = "";
            httpEntity.setContent(new ByteArrayInputStream(body.getBytes("UTF-8")));
            when(httpResponse.getEntity()).thenReturn(httpEntity);
            return httpResponse;
        }
    });
    FetchProfile profile = new FetchProfile();
    profile.add(FetchProfile.Item.BODY_SANE);
    folder.fetch(messages, profile, listener, MAX_DOWNLOAD_SIZE);
    verify(listener, times(25)).messageStarted(any(String.class), anyInt(), eq(25));
    verify(listener, times(25)).messageFinished(any(WebDavMessage.class), anyInt(), eq(25));
}
Also used : HttpUriRequest(org.apache.http.client.methods.HttpUriRequest) FetchProfile(com.fsck.k9.mail.FetchProfile) HttpContext(org.apache.http.protocol.HttpContext) HttpResponse(org.apache.http.HttpResponse) BasicHttpEntity(org.apache.http.entity.BasicHttpEntity) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) StatusLine(org.apache.http.StatusLine) ByteArrayInputStream(java.io.ByteArrayInputStream) InvocationOnMock(org.mockito.invocation.InvocationOnMock) Test(org.junit.Test)

Aggregations

FetchProfile (com.fsck.k9.mail.FetchProfile)11 ArrayList (java.util.ArrayList)11 Test (org.junit.Test)9 WebDavMessage (com.fsck.k9.mail.store.webdav.WebDavMessage)7 HttpResponse (org.apache.http.HttpResponse)7 MessagingException (com.fsck.k9.mail.MessagingException)5 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)5 ByteArrayInputStream (java.io.ByteArrayInputStream)4 IOException (java.io.IOException)4 StatusLine (org.apache.http.StatusLine)4 HttpUriRequest (org.apache.http.client.methods.HttpUriRequest)4 HttpContext (org.apache.http.protocol.HttpContext)4 InvocationOnMock (org.mockito.invocation.InvocationOnMock)4 Message (com.fsck.k9.mail.Message)3 WebDavFolder (com.fsck.k9.mail.store.webdav.WebDavFolder)3 URISyntaxException (java.net.URISyntaxException)3 Date (java.util.Date)3 BasicHttpEntity (org.apache.http.entity.BasicHttpEntity)3 AuthenticationFailedException (com.fsck.k9.mail.AuthenticationFailedException)2 Flag (com.fsck.k9.mail.Flag)2