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..0aec27b0bc --- /dev/null +++ b/src/main/java/com/plaid/client/request/AssetReportAuditCopyGetRequest.java @@ -0,0 +1,11 @@ +package com.plaid.client.request; + +import com.plaid.client.request.common.BaseClientRequest; + +public class AssetReportAuditCopyGetRequest extends BaseClientRequest { + 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()); + } +} +