Search in sources :

Example 6 with QRCodeDetails

use of jp.ne.paypay.model.QRCodeDetails in project paypayopa-sdk-java by paypay.

the class ApiClientTest method serializeTest.

@Test
public void serializeTest() throws ApiException {
    ResultInfo resultInfo = new ResultInfo();
    resultInfo.setMessage("SUCCESS");
    QRCodeDetails qrCodeDetails = new QRCodeDetails();
    qrCodeDetails.setResultInfo(resultInfo);
    RequestBody serialize = apiClient.serialize(qrCodeDetails, "application/json");
    Assert.assertEquals("application/json; charset=utf-8", serialize.contentType().toString());
}
Also used : QRCodeDetails(jp.ne.paypay.model.QRCodeDetails) ResultInfo(jp.ne.paypay.model.ResultInfo) RequestBody(com.squareup.okhttp.RequestBody) Test(org.junit.jupiter.api.Test)

Example 7 with QRCodeDetails

use of jp.ne.paypay.model.QRCodeDetails in project paypayopa-sdk-java by paypay.

the class ApiClientTest method handleUnsuccessfulResponseTest.

@Test
public void handleUnsuccessfulResponseTest() {
    Request.Builder requestBuild = new Request.Builder();
    requestBuild.url("http://paypay.ne.jp/v2/qrcode");
    requestBuild.header("content-type", "application/json");
    RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), "{\"merchantPaymentId\":'paymentId'}");
    requestBuild.post(requestBody);
    Request request = requestBuild.build();
    Response.Builder builder = new Response.Builder();
    builder.header("content-type", "application/json");
    builder.request(request);
    builder.code(400);
    builder.protocol(Protocol.HTTP_2);
    ResultInfo resultInfo = new ResultInfo();
    resultInfo.setMessage("FAILED");
    QRCodeDetails qrCodeDetails = new QRCodeDetails();
    qrCodeDetails.setResultInfo(resultInfo);
    JSON json = new JSON();
    ResponseBody responseBody = ResponseBody.create(MediaType.parse("application/json"), json.serialize(qrCodeDetails));
    builder.body(responseBody);
    Response response = builder.build();
    Type localVarReturnType = new TypeToken<QRCodeDetails>() {
    }.getType();
    Assert.assertThrows(ApiException.class, () -> apiClient.handleResponse(new ResponseParameters().setResponse(response).setReturnType(localVarReturnType)));
    Assert.assertThrows(ApiException.class, () -> apiClient.handleResponse(new ResponseParameters().setResponse(response)));
}
Also used : QRCodeDetails(jp.ne.paypay.model.QRCodeDetails) ResponseParameters(jp.ne.paypay.model.ResponseParameters) Request(com.squareup.okhttp.Request) JSON(jp.ne.paypay.JSON) ResponseBody(com.squareup.okhttp.ResponseBody) Response(com.squareup.okhttp.Response) NotDataResponse(jp.ne.paypay.model.NotDataResponse) ApiResponse(jp.ne.paypay.ApiResponse) MediaType(com.squareup.okhttp.MediaType) Type(java.lang.reflect.Type) ResultInfo(jp.ne.paypay.model.ResultInfo) RequestBody(com.squareup.okhttp.RequestBody) Test(org.junit.jupiter.api.Test)

Example 8 with QRCodeDetails

use of jp.ne.paypay.model.QRCodeDetails in project paypayopa-sdk-java by paypay.

the class ApiClientTest method handleResponseTest.

@Test
public void handleResponseTest() throws ApiException, IOException {
    Request.Builder requestBuild = new Request.Builder();
    requestBuild.url("http://paypay.ne.jp/v2/qrcode");
    requestBuild.header("content-type", "application/json");
    RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), "{\"merchantPaymentId\":'paymentId'}");
    requestBuild.post(requestBody);
    Request request = requestBuild.build();
    Response.Builder builder = new Response.Builder();
    builder.header("content-type", "application/json");
    builder.request(request);
    builder.code(200);
    builder.protocol(Protocol.HTTP_2);
    ResultInfo resultInfo = new ResultInfo();
    resultInfo.setMessage("SUCCESS");
    QRCodeDetails qrCodeDetails = new QRCodeDetails();
    qrCodeDetails.setResultInfo(resultInfo);
    JSON json = new JSON();
    builder.body(ResponseBody.create(MediaType.parse("application/json"), json.serialize(qrCodeDetails)));
    Response response = builder.build();
    Type localVarReturnType = new TypeToken<QRCodeDetails>() {
    }.getType();
    ResponseParameters responseParameters = new ResponseParameters().setResponse(response).setReturnType(localVarReturnType).setApiName("v2_createPayment");
    Object result = apiClient.handleResponse(responseParameters);
    Assert.assertTrue(result instanceof QRCodeDetails);
    responseParameters.setReturnType(null).setApiName(null);
    result = apiClient.handleResponse(new ResponseParameters().setResponse(response));
    Assert.assertFalse(result instanceof QRCodeDetails);
    localVarReturnType = new TypeToken<File>() {
    }.getType();
    result = apiClient.handleResponse(responseParameters.setReturnType(localVarReturnType));
    Assert.assertTrue(result instanceof File);
    Mockito.when(call.execute()).thenReturn(response);
    ApiResponse<Object> apiResponse = apiClient.execute(call, localVarReturnType, null);
    Assert.assertEquals(200, apiResponse.getStatusCode());
    Mockito.when(call.execute()).thenThrow(IOException.class);
    Assert.assertThrows(ApiException.class, () -> apiClient.execute(call, new TypeToken<File>() {
    }.getType(), ""));
    resultInfo = new ResultInfo();
    resultInfo.setMessage("You are not authorized");
    resultInfo.setCode("UNAUTHORIZED");
    resultInfo.setCodeId("802001");
    NotDataResponse notDataResponse = new NotDataResponse();
    notDataResponse.setResultInfo(resultInfo);
    builder.code(401);
    builder.body(ResponseBody.create(MediaType.parse("application/json"), json.serialize(notDataResponse)));
    response = builder.build();
    responseParameters.setResponse(response).setReturnType(localVarReturnType).setApiName("v2_createPayment");
    try {
        apiClient.handleResponse(responseParameters);
    } catch (ApiException e) {
        Assert.assertEquals(e.getResolveUrl(), "https://developer.paypay.ne.jp/develop/resolve?api_name=v2_createPayment&code=UNAUTHORIZED&code_id=802001");
        Assert.assertTrue(e.getResponseBody().contains("UNAUTHORIZED"));
    }
}
Also used : QRCodeDetails(jp.ne.paypay.model.QRCodeDetails) ResponseParameters(jp.ne.paypay.model.ResponseParameters) Request(com.squareup.okhttp.Request) JSON(jp.ne.paypay.JSON) Response(com.squareup.okhttp.Response) NotDataResponse(jp.ne.paypay.model.NotDataResponse) ApiResponse(jp.ne.paypay.ApiResponse) MediaType(com.squareup.okhttp.MediaType) Type(java.lang.reflect.Type) TypeToken(com.google.gson.reflect.TypeToken) ResultInfo(jp.ne.paypay.model.ResultInfo) NotDataResponse(jp.ne.paypay.model.NotDataResponse) File(java.io.File) RequestBody(com.squareup.okhttp.RequestBody) ApiException(jp.ne.paypay.ApiException) Test(org.junit.jupiter.api.Test)

Aggregations

QRCodeDetails (jp.ne.paypay.model.QRCodeDetails)8 Test (org.junit.jupiter.api.Test)5 RequestBody (com.squareup.okhttp.RequestBody)4 Type (java.lang.reflect.Type)4 ApiResponse (jp.ne.paypay.ApiResponse)4 ResultInfo (jp.ne.paypay.model.ResultInfo)4 MediaType (com.squareup.okhttp.MediaType)3 Request (com.squareup.okhttp.Request)3 Response (com.squareup.okhttp.Response)3 JSON (jp.ne.paypay.JSON)3 NotDataResponse (jp.ne.paypay.model.NotDataResponse)3 TypeToken (com.google.gson.reflect.TypeToken)2 File (java.io.File)2 ApiException (jp.ne.paypay.ApiException)2 AccountLinkQRCode (jp.ne.paypay.model.AccountLinkQRCode)2 MoneyAmount (jp.ne.paypay.model.MoneyAmount)2 QRCode (jp.ne.paypay.model.QRCode)2 ResponseParameters (jp.ne.paypay.model.ResponseParameters)2 Call (com.squareup.okhttp.Call)1 ResponseBody (com.squareup.okhttp.ResponseBody)1