Search in sources :

Example 1 with MyResource

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

the class BaseClientTest method testMakeRequestWithBody.

@Test
public void testMakeRequestWithBody() throws IOException {
    final Call mCall = mock(Call.class);
    AtomicBoolean postCalled = new AtomicBoolean(false);
    AtomicBoolean putCalled = new AtomicBoolean(false);
    Answer answer = (i) -> {
        Request request = i.getArgument(0);
        HttpUrl url = request.url();
        switch(request.method()) {
            case "POST":
                assertEquals("/resources", url.url().getPath());
                postCalled.set(true);
                break;
            case "PUT":
                assertEquals("/resources/someId", url.url().getPath());
                putCalled.set(true);
                break;
            default:
                // Any other request method is a failure
                Assert.fail();
        }
        return mCall;
    };
    when(mCall.execute()).thenReturn(MockClient.buildResponse(200, "OK", getResponseJson())).thenReturn(MockClient.buildResponse(200, "OK", getResponseJson()));
    OkHttpClient mockOkHttpClient = MockClient.getMockOkHttpClient(answer);
    final MockClient client = new MockClient("apiKey", mockOkHttpClient);
    final MyRequest newResource = new MyRequest();
    newResource.setMyString("aaron");
    final MyResource resource = client.createResource(newResource);
    assertEquals(MyResource.class, resource.getClass());
    assertEquals("aaron", resource.getMyString());
    assertTrue(postCalled.get());
    final MyResource anotherResource = client.updateResource("someId", newResource);
    assertEquals(MyResource.class, anotherResource.getClass());
    assertEquals("aaron", anotherResource.getMyString());
    assertTrue(putCalled.get());
}
Also used : Assertions.assertThrows(org.junit.jupiter.api.Assertions.assertThrows) NotFoundException(com.recurly.v3.exception.NotFoundException) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) FixtureConstants(com.recurly.v3.fixtures.FixtureConstants) HashMap(java.util.HashMap) Headers(okhttp3.Headers) MockQueryParams(com.recurly.v3.fixtures.MockQueryParams) ArrayList(java.util.ArrayList) Answer(org.mockito.stubbing.Answer) MockClient(com.recurly.v3.fixtures.MockClient) ApiException(com.recurly.v3.ApiException) Map(java.util.Map) Response(okhttp3.Response) Call(okhttp3.Call) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) MediaType(okhttp3.MediaType) Request(okhttp3.Request) TransactionException(com.recurly.v3.exception.TransactionException) InvalidApiKeyException(com.recurly.v3.exception.InvalidApiKeyException) MyResource(com.recurly.v3.fixtures.MyResource) DateTime(org.joda.time.DateTime) Assert.assertTrue(org.junit.Assert.assertTrue) IOException(java.io.IOException) Mockito.when(org.mockito.Mockito.when) Field(java.lang.reflect.Field) StandardCharsets(java.nio.charset.StandardCharsets) Test(org.junit.jupiter.api.Test) IOUtils(org.apache.commons.io.IOUtils) OkHttpClient(okhttp3.OkHttpClient) ValidationException(com.recurly.v3.exception.ValidationException) MyRequest(com.recurly.v3.fixtures.MyRequest) HttpUrl(okhttp3.HttpUrl) Assert(org.junit.Assert) InternalServerException(com.recurly.v3.exception.InternalServerException) Collections(java.util.Collections) ExceptionFactory(com.recurly.v3.exception.ExceptionFactory) InputStream(java.io.InputStream) Mockito.mock(org.mockito.Mockito.mock) Call(okhttp3.Call) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Answer(org.mockito.stubbing.Answer) OkHttpClient(okhttp3.OkHttpClient) Request(okhttp3.Request) MyRequest(com.recurly.v3.fixtures.MyRequest) MyRequest(com.recurly.v3.fixtures.MyRequest) HttpUrl(okhttp3.HttpUrl) MockClient(com.recurly.v3.fixtures.MockClient) MyResource(com.recurly.v3.fixtures.MyResource) Test(org.junit.jupiter.api.Test)

Example 2 with MyResource

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

the class JsonSerializerTest method testDeserializeUnknownEnum.

@Test
public void testDeserializeUnknownEnum() {
    final JsonSerializer jsonSerializer = new JsonSerializer();
    final MyResource mockResource = jsonSerializer.deserialize("{\"my_constant\":\"not-defined\"}", MyResource.class);
    assertEquals(FixtureConstants.ConstantType.UNDEFINED, mockResource.getMyConstant());
}
Also used : MyResource(com.recurly.v3.fixtures.MyResource) Test(org.junit.jupiter.api.Test)

Example 3 with MyResource

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

the class BaseClientTest method testMakeRequestWithQueryParams.

@Test
public void testMakeRequestWithQueryParams() throws IOException {
    DateTime dateTime = new DateTime();
    final Call mCall = mock(Call.class);
    Answer answer = (i) -> {
        Request request = i.getArgument(0);
        HttpUrl url = request.url();
        assertEquals("Aaron", url.queryParameter("my_string"));
        assertEquals(dateTime.toString(), url.queryParameter("my_date_time"));
        assertEquals("1", url.queryParameter("my_integer"));
        assertEquals("2.3", url.queryParameter("my_float"));
        assertEquals("4.5", url.queryParameter("my_double"));
        assertEquals("6", url.queryParameter("my_long"));
        assertEquals("twenty-three", url.queryParameter("my_enum"));
        assertEquals(null, url.queryParameter("my_random"));
        assertEquals("[]", url.queryParameter("unsupported"));
        return mCall;
    };
    when(mCall.execute()).thenReturn(MockClient.buildResponse(200, "OK", getResponseListJson()));
    OkHttpClient mockOkHttpClient = MockClient.getMockOkHttpClient(answer);
    final MockClient client = new MockClient("apiKey", mockOkHttpClient);
    final MockQueryParams qp = new MockQueryParams();
    qp.setMyString("Aaron");
    qp.setMyDateTime(dateTime);
    qp.setMyInteger(1);
    qp.setMyFloat(2.3f);
    qp.setMyDouble(4.5);
    qp.setMyLong(6L);
    qp.setMyEnum(FixtureConstants.ConstantType.TWENTY_THREE);
    qp.setMyRandom(null);
    qp.setUnsupported(new ArrayList<>());
    final Pager<MyResource> pager = client.listResources(qp);
    pager.getNextPage();
}
Also used : Assertions.assertThrows(org.junit.jupiter.api.Assertions.assertThrows) NotFoundException(com.recurly.v3.exception.NotFoundException) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) FixtureConstants(com.recurly.v3.fixtures.FixtureConstants) HashMap(java.util.HashMap) Headers(okhttp3.Headers) MockQueryParams(com.recurly.v3.fixtures.MockQueryParams) ArrayList(java.util.ArrayList) Answer(org.mockito.stubbing.Answer) MockClient(com.recurly.v3.fixtures.MockClient) ApiException(com.recurly.v3.ApiException) Map(java.util.Map) Response(okhttp3.Response) Call(okhttp3.Call) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) MediaType(okhttp3.MediaType) Request(okhttp3.Request) TransactionException(com.recurly.v3.exception.TransactionException) InvalidApiKeyException(com.recurly.v3.exception.InvalidApiKeyException) MyResource(com.recurly.v3.fixtures.MyResource) DateTime(org.joda.time.DateTime) Assert.assertTrue(org.junit.Assert.assertTrue) IOException(java.io.IOException) Mockito.when(org.mockito.Mockito.when) Field(java.lang.reflect.Field) StandardCharsets(java.nio.charset.StandardCharsets) Test(org.junit.jupiter.api.Test) IOUtils(org.apache.commons.io.IOUtils) OkHttpClient(okhttp3.OkHttpClient) ValidationException(com.recurly.v3.exception.ValidationException) MyRequest(com.recurly.v3.fixtures.MyRequest) HttpUrl(okhttp3.HttpUrl) Assert(org.junit.Assert) InternalServerException(com.recurly.v3.exception.InternalServerException) Collections(java.util.Collections) ExceptionFactory(com.recurly.v3.exception.ExceptionFactory) InputStream(java.io.InputStream) Mockito.mock(org.mockito.Mockito.mock) Call(okhttp3.Call) Answer(org.mockito.stubbing.Answer) OkHttpClient(okhttp3.OkHttpClient) Request(okhttp3.Request) MyRequest(com.recurly.v3.fixtures.MyRequest) MockQueryParams(com.recurly.v3.fixtures.MockQueryParams) DateTime(org.joda.time.DateTime) HttpUrl(okhttp3.HttpUrl) MockClient(com.recurly.v3.fixtures.MockClient) MyResource(com.recurly.v3.fixtures.MyResource) Test(org.junit.jupiter.api.Test)

Example 4 with MyResource

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

the class JsonSerializerTest method testDeserialize.

@Test
public void testDeserialize() {
    final JsonSerializer jsonSerializer = new JsonSerializer();
    final MyResource mockResource = jsonSerializer.deserialize(getMockResourceJson(), MyResource.class);
    assertEquals("My String", mockResource.getMyString());
    assertEquals(FixtureConstants.ConstantType.TWENTY_THREE, mockResource.getMyConstant());
}
Also used : MyResource(com.recurly.v3.fixtures.MyResource) Test(org.junit.jupiter.api.Test)

Example 5 with MyResource

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

the class PagerTest method testCount.

@Test
public void testCount() throws IOException {
    final Call mCall = mock(Call.class);
    Headers headers = new Headers.Builder().set("Recurly-Total-Records", "1337").build();
    Answer answer = (i) -> {
        Request request = i.getArgument(0);
        assertEquals("HEAD", request.method());
        return mCall;
    };
    when(mCall.execute()).thenReturn(MockClient.buildResponse(200, "OK", getResourceFirstItemJson(), headers));
    OkHttpClient mockOkHttpClient = MockClient.getMockOkHttpClient(answer);
    final MockClient client = new MockClient("apiKey", mockOkHttpClient);
    Pager<MyResource> pager = client.listResources(null);
    int count = pager.getCount();
    assertEquals(1337, count);
}
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)

Aggregations

MyResource (com.recurly.v3.fixtures.MyResource)11 Test (org.junit.jupiter.api.Test)11 MockClient (com.recurly.v3.fixtures.MockClient)9 IOException (java.io.IOException)9 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)9 Request (okhttp3.Request)9 Answer (org.mockito.stubbing.Answer)9 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)4 MediaType (okhttp3.MediaType)4 ApiException (com.recurly.v3.ApiException)3 ExceptionFactory (com.recurly.v3.exception.ExceptionFactory)3 InternalServerException (com.recurly.v3.exception.InternalServerException)3 InvalidApiKeyException (com.recurly.v3.exception.InvalidApiKeyException)3 NotFoundException (com.recurly.v3.exception.NotFoundException)3 TransactionException (com.recurly.v3.exception.TransactionException)3