Search in sources :

Example 21 with ToStringConverterFactory

use of retrofit2.helpers.ToStringConverterFactory in project retrofit by square.

the class CallTest method http404Async.

@Test
public void http404Async() throws InterruptedException, IOException {
    Retrofit retrofit = new Retrofit.Builder().baseUrl(server.url("/")).addConverterFactory(new ToStringConverterFactory()).build();
    Service example = retrofit.create(Service.class);
    server.enqueue(new MockResponse().setResponseCode(404).setBody("Hi"));
    final AtomicReference<Response<String>> responseRef = new AtomicReference<>();
    final CountDownLatch latch = new CountDownLatch(1);
    example.getString().enqueue(new Callback<String>() {

        @Override
        public void onResponse(Call<String> call, Response<String> response) {
            responseRef.set(response);
            latch.countDown();
        }

        @Override
        public void onFailure(Call<String> call, Throwable t) {
            t.printStackTrace();
        }
    });
    assertTrue(latch.await(10, SECONDS));
    Response<String> response = responseRef.get();
    assertThat(response.isSuccessful()).isFalse();
    assertThat(response.code()).isEqualTo(404);
    assertThat(response.errorBody().string()).isEqualTo("Hi");
}
Also used : MockResponse(okhttp3.mockwebserver.MockResponse) AtomicReference(java.util.concurrent.atomic.AtomicReference) CountDownLatch(java.util.concurrent.CountDownLatch) MockResponse(okhttp3.mockwebserver.MockResponse) ToStringConverterFactory(retrofit2.helpers.ToStringConverterFactory) Test(org.junit.Test)

Example 22 with ToStringConverterFactory

use of retrofit2.helpers.ToStringConverterFactory in project retrofit by square.

the class CallTest method requestAfterExecuteReturnsCachedValue.

@Test
public void requestAfterExecuteReturnsCachedValue() throws IOException {
    Retrofit retrofit = new Retrofit.Builder().baseUrl(server.url("/")).addConverterFactory(new ToStringConverterFactory()).build();
    Service service = retrofit.create(Service.class);
    server.enqueue(new MockResponse());
    final AtomicInteger writeCount = new AtomicInteger();
    Object a = new Object() {

        @Override
        public String toString() {
            writeCount.incrementAndGet();
            return "Hello";
        }
    };
    Call<String> call = service.postRequestBody(a);
    call.execute();
    assertThat(writeCount.get()).isEqualTo(1);
    call.request();
    assertThat(writeCount.get()).isEqualTo(1);
}
Also used : MockResponse(okhttp3.mockwebserver.MockResponse) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ToStringConverterFactory(retrofit2.helpers.ToStringConverterFactory) Test(org.junit.Test)

Example 23 with ToStringConverterFactory

use of retrofit2.helpers.ToStringConverterFactory in project retrofit by square.

the class CallTest method http404Sync.

@Test
public void http404Sync() throws IOException {
    Retrofit retrofit = new Retrofit.Builder().baseUrl(server.url("/")).addConverterFactory(new ToStringConverterFactory()).build();
    Service example = retrofit.create(Service.class);
    server.enqueue(new MockResponse().setResponseCode(404).setBody("Hi"));
    Response<String> response = example.getString().execute();
    assertThat(response.isSuccessful()).isFalse();
    assertThat(response.code()).isEqualTo(404);
    assertThat(response.errorBody().string()).isEqualTo("Hi");
}
Also used : MockResponse(okhttp3.mockwebserver.MockResponse) ToStringConverterFactory(retrofit2.helpers.ToStringConverterFactory) Test(org.junit.Test)

Example 24 with ToStringConverterFactory

use of retrofit2.helpers.ToStringConverterFactory in project retrofit by square.

the class CallTest method requestAfterEnqueueReturnsCachedValue.

@Test
public void requestAfterEnqueueReturnsCachedValue() throws IOException, InterruptedException {
    Retrofit retrofit = new Retrofit.Builder().baseUrl(server.url("/")).addConverterFactory(new ToStringConverterFactory()).build();
    Service service = retrofit.create(Service.class);
    server.enqueue(new MockResponse());
    final AtomicInteger writeCount = new AtomicInteger();
    Object a = new Object() {

        @Override
        public String toString() {
            writeCount.incrementAndGet();
            return "Hello";
        }
    };
    Call<String> call = service.postRequestBody(a);
    final CountDownLatch latch = new CountDownLatch(1);
    call.enqueue(new Callback<String>() {

        @Override
        public void onResponse(Call<String> call, Response<String> response) {
            assertThat(writeCount.get()).isEqualTo(1);
            latch.countDown();
        }

        @Override
        public void onFailure(Call<String> call, Throwable t) {
        }
    });
    assertTrue(latch.await(10, SECONDS));
    call.request();
    assertThat(writeCount.get()).isEqualTo(1);
}
Also used : MockResponse(okhttp3.mockwebserver.MockResponse) CountDownLatch(java.util.concurrent.CountDownLatch) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ToStringConverterFactory(retrofit2.helpers.ToStringConverterFactory) Test(org.junit.Test)

Example 25 with ToStringConverterFactory

use of retrofit2.helpers.ToStringConverterFactory in project retrofit by square.

the class CallTest method requestBeforeEnqueueCreates.

@Test
public void requestBeforeEnqueueCreates() throws IOException, InterruptedException {
    Retrofit retrofit = new Retrofit.Builder().baseUrl(server.url("/")).addConverterFactory(new ToStringConverterFactory()).build();
    Service service = retrofit.create(Service.class);
    server.enqueue(new MockResponse());
    final AtomicInteger writeCount = new AtomicInteger();
    Object a = new Object() {

        @Override
        public String toString() {
            writeCount.incrementAndGet();
            return "Hello";
        }
    };
    Call<String> call = service.postRequestBody(a);
    call.request();
    assertThat(writeCount.get()).isEqualTo(1);
    final CountDownLatch latch = new CountDownLatch(1);
    call.enqueue(new Callback<String>() {

        @Override
        public void onResponse(Call<String> call, Response<String> response) {
            assertThat(writeCount.get()).isEqualTo(1);
            latch.countDown();
        }

        @Override
        public void onFailure(Call<String> call, Throwable t) {
        }
    });
    assertTrue(latch.await(10, SECONDS));
}
Also used : MockResponse(okhttp3.mockwebserver.MockResponse) CountDownLatch(java.util.concurrent.CountDownLatch) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ToStringConverterFactory(retrofit2.helpers.ToStringConverterFactory) Test(org.junit.Test)

Aggregations

ToStringConverterFactory (retrofit2.helpers.ToStringConverterFactory)30 Test (org.junit.Test)29 MockResponse (okhttp3.mockwebserver.MockResponse)23 CountDownLatch (java.util.concurrent.CountDownLatch)12 AtomicReference (java.util.concurrent.atomic.AtomicReference)12 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)9 Type (java.lang.reflect.Type)7 ResponseBody (okhttp3.ResponseBody)7 IOException (java.io.IOException)6 ParameterizedType (java.lang.reflect.ParameterizedType)4 MediaType (okhttp3.MediaType)4 DelegatingCallAdapterFactory (retrofit2.helpers.DelegatingCallAdapterFactory)4 NonMatchingCallAdapterFactory (retrofit2.helpers.NonMatchingCallAdapterFactory)4 NonMatchingConverterFactory (retrofit2.helpers.NonMatchingConverterFactory)4 Annotation (java.lang.annotation.Annotation)2 OkHttpClient (okhttp3.OkHttpClient)2 RequestBody (okhttp3.RequestBody)2 Method (java.lang.reflect.Method)1 Interceptor (okhttp3.Interceptor)1 Request (okhttp3.Request)1