Search in sources :

Example 6 with Pager

use of com.recurly.v3.Pager in project recurly-client-java by recurly.

the class PagerTest method testEachItem.

@Test
public void testEachItem() throws IOException {
    final Call mCall = mock(Call.class);
    Answer answer = (i) -> {
        return mCall;
    };
    when(mCall.execute()).thenReturn(MockClient.buildResponse(200, "OK", getResourceSecondPageJson()));
    OkHttpClient mockOkHttpClient = MockClient.getMockOkHttpClient(answer);
    final MockClient client = new MockClient("apiKey", mockOkHttpClient);
    Pager<MyResource> pager = client.listResources(null);
    pager.eachItem(resource -> assertNotNull(resource.getMyString()));
}
Also used : Test(org.junit.jupiter.api.Test) Mockito(org.mockito.Mockito) Answer(org.mockito.stubbing.Answer) MockClient(com.recurly.v3.fixtures.MockClient) Request(okhttp3.Request) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) okhttp3(okhttp3) Assertions(org.junit.jupiter.api.Assertions) MyResource(com.recurly.v3.fixtures.MyResource) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) IOException(java.io.IOException) NoSuchElementException(java.util.NoSuchElementException) Answer(org.mockito.stubbing.Answer) MockClient(com.recurly.v3.fixtures.MockClient) MyResource(com.recurly.v3.fixtures.MyResource) Test(org.junit.jupiter.api.Test)

Example 7 with Pager

use of com.recurly.v3.Pager in project recurly-client-java by recurly.

the class PagerTest method testEmptyList.

@Test
public void testEmptyList() throws IOException {
    final Call mCall = mock(Call.class);
    Answer answer = (i) -> {
        return mCall;
    };
    when(mCall.execute()).thenReturn(MockClient.buildResponse(200, "OK", getEmptyListJson()));
    OkHttpClient mockOkHttpClient = MockClient.getMockOkHttpClient(answer);
    final MockClient client = new MockClient("apiKey", mockOkHttpClient);
    Pager<MyResource> pager = client.listResources(null);
    assertEquals(0, pager.getData().size());
    for (MyResource myResource : pager) {
        // This should not throw NullPointerException
        myResource.getMyString();
    }
    pager.forEach(myResource -> myResource.getMyString());
}
Also used : Test(org.junit.jupiter.api.Test) Mockito(org.mockito.Mockito) Answer(org.mockito.stubbing.Answer) MockClient(com.recurly.v3.fixtures.MockClient) Request(okhttp3.Request) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) okhttp3(okhttp3) Assertions(org.junit.jupiter.api.Assertions) MyResource(com.recurly.v3.fixtures.MyResource) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) IOException(java.io.IOException) NoSuchElementException(java.util.NoSuchElementException) Answer(org.mockito.stubbing.Answer) MockClient(com.recurly.v3.fixtures.MockClient) MyResource(com.recurly.v3.fixtures.MyResource) Test(org.junit.jupiter.api.Test)

Example 8 with Pager

use of com.recurly.v3.Pager in project recurly-client-java by recurly.

the class PagerTest method testFirst.

@Test
public void testFirst() throws IOException {
    final Call mCall = mock(Call.class);
    Answer answer = (i) -> {
        Request request = i.getArgument(0);
        HttpUrl url = request.url();
        assertEquals("1", url.queryParameter("limit"));
        return mCall;
    };
    when(mCall.execute()).thenReturn(MockClient.buildResponse(200, "OK", getResourceFirstItemJson()));
    OkHttpClient mockOkHttpClient = MockClient.getMockOkHttpClient(answer);
    final MockClient client = new MockClient("apiKey", mockOkHttpClient);
    Pager<MyResource> pager = client.listResources(null);
    MyResource resource = pager.getFirst();
    assertEquals("Resource First Item", resource.getMyString());
}
Also used : Test(org.junit.jupiter.api.Test) Mockito(org.mockito.Mockito) Answer(org.mockito.stubbing.Answer) MockClient(com.recurly.v3.fixtures.MockClient) Request(okhttp3.Request) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) okhttp3(okhttp3) Assertions(org.junit.jupiter.api.Assertions) MyResource(com.recurly.v3.fixtures.MyResource) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) IOException(java.io.IOException) NoSuchElementException(java.util.NoSuchElementException) Answer(org.mockito.stubbing.Answer) Request(okhttp3.Request) MockClient(com.recurly.v3.fixtures.MockClient) MyResource(com.recurly.v3.fixtures.MyResource) Test(org.junit.jupiter.api.Test)

Example 9 with Pager

use of com.recurly.v3.Pager in project recurly-client-java by recurly.

the class MockClient method listResources.

public Pager<MyResource> listResources(QueryParams queryParams) {
    final String url = "/resources";
    final HashMap<String, String> urlParams = new HashMap<String, String>();
    if (queryParams == null)
        queryParams = new QueryParams();
    final HashMap<String, Object> paramsMap = queryParams.getParams();
    final String path = this.interpolatePath(url, urlParams);
    Type parameterizedType = TypeToken.getParameterized(Pager.class, MyResource.class).getType();
    return new Pager<>(path, paramsMap, this, parameterizedType);
}
Also used : Type(java.lang.reflect.Type) MediaType(okhttp3.MediaType) HashMap(java.util.HashMap) Pager(com.recurly.v3.Pager) QueryParams(com.recurly.v3.QueryParams)

Aggregations

Test (org.junit.jupiter.api.Test)8 MockClient (com.recurly.v3.fixtures.MockClient)7 MyResource (com.recurly.v3.fixtures.MyResource)7 IOException (java.io.IOException)7 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)7 Request (okhttp3.Request)7 Answer (org.mockito.stubbing.Answer)7 NoSuchElementException (java.util.NoSuchElementException)6 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)6 okhttp3 (okhttp3)6 Assertions (org.junit.jupiter.api.Assertions)6 Mockito (org.mockito.Mockito)6 HashMap (java.util.HashMap)2 MediaType (okhttp3.MediaType)2 ApiException (com.recurly.v3.ApiException)1 Pager (com.recurly.v3.Pager)1 QueryParams (com.recurly.v3.QueryParams)1 ExceptionFactory (com.recurly.v3.exception.ExceptionFactory)1 InternalServerException (com.recurly.v3.exception.InternalServerException)1 InvalidApiKeyException (com.recurly.v3.exception.InvalidApiKeyException)1