From 28766faef064e06a669e75f043f32d60b8995936 Mon Sep 17 00:00:00 2001 From: Stephen Tsai Date: Wed, 17 Oct 2018 13:12:45 -0700 Subject: [PATCH 1/2] Add support for /asset_report/audit_copy/get --- .../com/plaid/client/PlaidApiService.java | 4 + .../java/com/plaid/client/PlaidClient.java | 1 + .../AssetReportAuditCopyGetRequest.java | 9 +++ .../AssetReportAuditCopyGetTest.java | 74 +++++++++++++++++++ 4 files changed, 88 insertions(+) create mode 100644 src/main/java/com/plaid/client/request/AssetReportAuditCopyGetRequest.java create mode 100644 src/test/java/com/plaid/client/integration/AssetReportAuditCopyGetTest.java diff --git a/src/main/java/com/plaid/client/PlaidApiService.java b/src/main/java/com/plaid/client/PlaidApiService.java index cf00e4846f..0515624702 100644 --- a/src/main/java/com/plaid/client/PlaidApiService.java +++ b/src/main/java/com/plaid/client/PlaidApiService.java @@ -3,6 +3,7 @@ import com.plaid.client.request.AccountsBalanceGetRequest; import com.plaid.client.request.AccountsGetRequest; import com.plaid.client.request.AssetReportAuditCopyCreateRequest; +import com.plaid.client.request.AssetReportAuditCopyGetRequest; import com.plaid.client.request.AssetReportAuditCopyRemoveRequest; import com.plaid.client.request.AssetReportCreateRequest; import com.plaid.client.request.AssetReportFilterRequest; @@ -165,6 +166,9 @@ public interface PlaidApiService { @POST("/asset_report/audit_copy/remove") Call assetReportAuditCopyRemove(@Body AssetReportAuditCopyRemoveRequest request); + @POST("/asset_report/audit_copy/get") + Call assetReportAuditCopyGet(@Body AssetReportAuditCopyGetRequest request); + @POST("/asset_report/filter") Call assetReportFilter(@Body AssetReportFilterRequest assetReportFilterRequest); diff --git a/src/main/java/com/plaid/client/PlaidClient.java b/src/main/java/com/plaid/client/PlaidClient.java index 24f17ddd37..5c26571682 100644 --- a/src/main/java/com/plaid/client/PlaidClient.java +++ b/src/main/java/com/plaid/client/PlaidClient.java @@ -139,6 +139,7 @@ public static class Builder { private long readTimeoutSeconds; private long connectTimeoutSeconds; private String publicKey; + private String clientId; private String secret; diff --git a/src/main/java/com/plaid/client/request/AssetReportAuditCopyGetRequest.java b/src/main/java/com/plaid/client/request/AssetReportAuditCopyGetRequest.java new file mode 100644 index 0000000000..fb201be644 --- /dev/null +++ b/src/main/java/com/plaid/client/request/AssetReportAuditCopyGetRequest.java @@ -0,0 +1,9 @@ +package com.plaid.client.request; + +public class AssetReportAuditCopyGetRequest { + private String auditCopyToken; + + public AssetReportAuditCopyGetRequest(String auditCopyToken) { + this.auditCopyToken = auditCopyToken; + } +} diff --git a/src/test/java/com/plaid/client/integration/AssetReportAuditCopyGetTest.java b/src/test/java/com/plaid/client/integration/AssetReportAuditCopyGetTest.java new file mode 100644 index 0000000000..28d799ddda --- /dev/null +++ b/src/test/java/com/plaid/client/integration/AssetReportAuditCopyGetTest.java @@ -0,0 +1,74 @@ +package com.plaid.client.integration; + +import com.plaid.client.PlaidClient; +import com.plaid.client.request.AssetReportAuditCopyCreateRequest; +import com.plaid.client.request.AssetReportAuditCopyGetRequest; +import com.plaid.client.request.common.Product; +import com.plaid.client.response.AssetReportAuditCopyCreateResponse; +import com.plaid.client.response.AssetReportCreateResponse; +import com.plaid.client.response.AssetReportGetResponse; +import java.util.Arrays; +import java.util.List; +import org.junit.Test; +import retrofit2.Response; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; + +public class AssetReportAuditCopyGetTest extends AbstractItemIntegrationTest { + + private final static String PRODUCT_NOT_READY = "PRODUCT_NOT_READY"; + + @Override + protected List setupItemProducts() { + return Arrays.asList(Product.ASSETS); + } + + @Override + protected String setupItemInstitutionId() { + return TARTAN_BANK_INSTITUTION_ID; + } + + @Test + public void testAssetReportAuditCopyGetSuccess() throws Exception { + // Create asset report to get an asset report token + PlaidClient client = client(); + List accessTokens = Arrays.asList(getItemCreateResponse().getAccessToken()); + Response createResponse = + AssetReportCreateTest.createAssetReport(client, accessTokens); + String assetReportToken = createResponse.body().getAssetReportToken(); + + AssetReportGetTest.waitTillReady(client, assetReportToken); + + String clientId = System.getenv("PLAID_CLIENT_ID"); + + AssetReportAuditCopyCreateRequest + request = new AssetReportAuditCopyCreateRequest(assetReportToken, clientId); + Response response = + client.service().assetReportAuditCopyCreate(request).execute(); + String auditCopyToken = response.body().getAuditCopyToken(); + assertNotNull(auditCopyToken); + + AssetReportAuditCopyGetRequest assetReportAuditCopyGetRequest = + new AssetReportAuditCopyGetRequest(auditCopyToken); + + Response auditCopyGetResponse = + client + .service() + .assetReportAuditCopyGet(assetReportAuditCopyGetRequest + ) + .execute(); + + // Validate the responses + AssetReportGetResponse respBody = auditCopyGetResponse.body(); + + assertSuccessResponse(auditCopyGetResponse); + + assertNotNull(respBody.getReport()); + assertNotNull(respBody.getReport().getUser()); + assertFalse(respBody.getReport().getItems().isEmpty()); + + assertNotNull(respBody.getReport().getAssetReportId()); + } +} + From 1e168ff8a1af56233bc8f7396aa3de01773701c5 Mon Sep 17 00:00:00 2001 From: Stephen Tsai Date: Wed, 17 Oct 2018 13:24:24 -0700 Subject: [PATCH 2/2] Have request extend BaseClientRequest --- .../plaid/client/request/AssetReportAuditCopyGetRequest.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/plaid/client/request/AssetReportAuditCopyGetRequest.java b/src/main/java/com/plaid/client/request/AssetReportAuditCopyGetRequest.java index fb201be644..0aec27b0bc 100644 --- a/src/main/java/com/plaid/client/request/AssetReportAuditCopyGetRequest.java +++ b/src/main/java/com/plaid/client/request/AssetReportAuditCopyGetRequest.java @@ -1,6 +1,8 @@ package com.plaid.client.request; -public class AssetReportAuditCopyGetRequest { +import com.plaid.client.request.common.BaseClientRequest; + +public class AssetReportAuditCopyGetRequest extends BaseClientRequest { private String auditCopyToken; public AssetReportAuditCopyGetRequest(String auditCopyToken) {