You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by vo...@apache.org on 2021/01/24 00:26:49 UTC
[fineract] branch develop updated: upload-CreditReport (#1567 for
FINERACT-1285)
This is an automated email from the ASF dual-hosted git repository.
vorburger pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new 7c6c7c1 upload-CreditReport (#1567 for FINERACT-1285)
7c6c7c1 is described below
commit 7c6c7c1e71ffd5cefa82f8ec3bb14bc69524acf2
Author: Rahul Pawar <rr...@gmail.com>
AuthorDate: Sun Jan 24 05:56:37 2021 +0530
upload-CreditReport (#1567 for FINERACT-1285)
---
.../commands/service/CommandWrapperBuilder.java | 8 +--
.../api/CreditBureauConfigurationAPI.java | 6 +-
.../api/CreditBureauIntegrationAPI.java | 18 ++++++
...editBureauLoanProductMappingCommandHandler.java | 2 +-
...LoanProductMappingWritePlatformServiceImpl.java | 6 +-
.../service/CreditReportWritePlatformService.java | 5 ++
.../CreditReportWritePlatformServiceImpl.java | 29 ++++++++--
...reditBureauIntegrationWritePlatformService.java | 5 +-
...tBureauIntegrationWritePlatformServiceImpl.java | 67 ++++++++++++++++++----
.../loanaccount/ThitsaworksCreditBureauTest.java | 16 ++++--
10 files changed, 130 insertions(+), 32 deletions(-)
diff --git a/fineract-provider/src/main/java/org/apache/fineract/commands/service/CommandWrapperBuilder.java b/fineract-provider/src/main/java/org/apache/fineract/commands/service/CommandWrapperBuilder.java
index 58e4acc..29f6dd6 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/commands/service/CommandWrapperBuilder.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/commands/service/CommandWrapperBuilder.java
@@ -101,12 +101,12 @@ public class CommandWrapperBuilder {
return this;
}
- public CommandWrapperBuilder createCreditBureauLoanProductMapping(final long creditBureauId) {
+ public CommandWrapperBuilder createCreditBureauLoanProductMapping(final long organisationCreditBureauId) {
this.actionName = "CREATE";
this.entityName = "CREDITBUREAU_LOANPRODUCT_MAPPING";
this.entityId = creditBureauId;
this.href = "/creditBureauConfiguration/template";
- this.creditBureauId = creditBureauId;
+ this.organisationCreditBureauId = organisationCreditBureauId;
return this;
}
@@ -114,7 +114,7 @@ public class CommandWrapperBuilder {
this.actionName = "CREATE";
this.entityName = "CREDITBUREAU_CONFIGURATION";
this.entityId = creditBureauId;
- this.href = "/creditBureauConfigurationData/";
+ this.href = "/addCreditBureauConfigurationData/";
return this;
}
@@ -122,7 +122,7 @@ public class CommandWrapperBuilder {
this.actionName = "UPDATE";
this.entityName = "CREDITBUREAU_CONFIGURATION";
this.entityId = configurationId;
- this.href = "/creditBureauConfigurationData/";
+ this.href = "/updateCreditBureauConfigurationData/";
return this;
}
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/api/CreditBureauConfigurationAPI.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/api/CreditBureauConfigurationAPI.java
index 822ac51..7032008 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/api/CreditBureauConfigurationAPI.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/api/CreditBureauConfigurationAPI.java
@@ -231,13 +231,13 @@ public class CreditBureauConfigurationAPI {
}
@POST
- @Path("/mappings/{CreditBureauId}")
+ @Path("/mappings/{organisationCreditBureauId}")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
- public String createCreditBureauLoanProductMapping(@PathParam("CreditBureauId") final Long CreditBureauId,
+ public String createCreditBureauLoanProductMapping(@PathParam("organisationCreditBureauId") final Long organisationCreditBureauId,
final String apiRequestBodyAsJson) {
- final CommandWrapper commandRequest = new CommandWrapperBuilder().createCreditBureauLoanProductMapping(CreditBureauId)
+ final CommandWrapper commandRequest = new CommandWrapperBuilder().createCreditBureauLoanProductMapping(organisationCreditBureauId)
.withJson(apiRequestBodyAsJson).build();
final CommandProcessingResult result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/api/CreditBureauIntegrationAPI.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/api/CreditBureauIntegrationAPI.java
index db62c97..df50ade 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/api/CreditBureauIntegrationAPI.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/api/CreditBureauIntegrationAPI.java
@@ -20,7 +20,11 @@
package org.apache.fineract.infrastructure.creditbureau.api;
import com.google.gson.Gson;
+import com.sun.jersey.core.header.FormDataContentDisposition;
+import com.sun.jersey.multipart.FormDataParam;
import io.swagger.v3.oas.annotations.Parameter;
+import java.io.File;
+import java.io.InputStream;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
@@ -66,6 +70,7 @@ public class CreditBureauIntegrationAPI {
private final DefaultToApiJsonSerializer<CreditReportData> toCreditReportApiJsonSerializer;
private final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService;
private final ApiRequestParameterHelper apiRequestParameterHelper;
+ private final CreditReportWritePlatformService creditReportWritePlatformService;
private final CreditReportReadPlatformService creditReportReadPlatformService;
private final DefaultToApiJsonSerializer<CreditReportData> toApiJsonSerializer;
private static final Logger LOG = LoggerFactory.getLogger(CreditBureauIntegrationAPI.class);
@@ -82,6 +87,7 @@ public class CreditBureauIntegrationAPI {
this.toCreditReportApiJsonSerializer = toCreditReportApiJsonSerializer;
this.commandsSourceWritePlatformService = commandsSourceWritePlatformService;
this.apiRequestParameterHelper = apiRequestParameterHelper;
+ this.creditReportWritePlatformService = creditReportWritePlatformService;
this.creditReportReadPlatformService = creditReportReadPlatformService;
this.toApiJsonSerializer = toApiJsonSerializer;
@@ -102,6 +108,18 @@ public class CreditBureauIntegrationAPI {
}
+ // submit loan file of clients to Credit Bureau
+ @POST
+ @Path("addCreditReport")
+ @Consumes(MediaType.MULTIPART_FORM_DATA)
+ public String addCreditReport(@FormDataParam("file") final File creditReport, @FormDataParam("file") InputStream uploadedInputStream,
+ @FormDataParam("file") final UriInfo uriInfo, @FormDataParam("file") FormDataContentDisposition fileDetail,
+ @QueryParam("creditBureauId") @Parameter(description = "creditBureauId") final Long creditBureauId) {
+
+ final String responseMessage = this.creditReportWritePlatformService.addCreditReport(creditBureauId, creditReport, fileDetail);
+ return this.toCreditReportApiJsonSerializer.serialize(responseMessage);
+ }
+
// saves fetched-creditreport into database
@POST
@Path("saveCreditReport")
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/handler/CreateCreditBureauLoanProductMappingCommandHandler.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/handler/CreateCreditBureauLoanProductMappingCommandHandler.java
index 3d883d3..bac7cb9 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/handler/CreateCreditBureauLoanProductMappingCommandHandler.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/handler/CreateCreditBureauLoanProductMappingCommandHandler.java
@@ -41,7 +41,7 @@ public class CreateCreditBureauLoanProductMappingCommandHandler implements NewCo
@Override
public CommandProcessingResult processCommand(JsonCommand command) {
- return this.writePlatformService.addCreditBureauLoanProductMapping(command.getCreditBureauId(), command);
+ return this.writePlatformService.addCreditBureauLoanProductMapping(command.getOrganisationCreditBureauId(), command);
}
}
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/CreditBureauLoanProductMappingWritePlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/CreditBureauLoanProductMappingWritePlatformServiceImpl.java
index edef2fc..950b907 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/CreditBureauLoanProductMappingWritePlatformServiceImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/CreditBureauLoanProductMappingWritePlatformServiceImpl.java
@@ -61,14 +61,14 @@ public class CreditBureauLoanProductMappingWritePlatformServiceImpl implements C
@Transactional
@Override
- public CommandProcessingResult addCreditBureauLoanProductMapping(Long creditBureau_id, JsonCommand command) {
+ public CommandProcessingResult addCreditBureauLoanProductMapping(Long organisationCreditBureauId, JsonCommand command) {
this.context.authenticatedUser();
- this.fromApiJsonDeserializer.validateForCreate(command.json(), creditBureau_id);
+ this.fromApiJsonDeserializer.validateForCreate(command.json(), organisationCreditBureauId);
final long lpid = command.longValueOfParameterNamed("loanProductId");
- final OrganisationCreditBureau orgcb = this.organisationCreditBureauRepository.getOne(creditBureau_id);
+ final OrganisationCreditBureau orgcb = this.organisationCreditBureauRepository.getOne(organisationCreditBureauId);
final LoanProduct lp = this.loanProductRepository.getOne(lpid);
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/CreditReportWritePlatformService.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/CreditReportWritePlatformService.java
index 72aca73..082e21e 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/CreditReportWritePlatformService.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/CreditReportWritePlatformService.java
@@ -18,6 +18,8 @@
*/
package org.apache.fineract.infrastructure.creditbureau.service;
+import com.sun.jersey.core.header.FormDataContentDisposition;
+import java.io.File;
import org.apache.fineract.infrastructure.core.api.JsonCommand;
import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
@@ -32,4 +34,7 @@ public interface CreditReportWritePlatformService {
// deletes creditReports which are saved in database
CommandProcessingResult deleteCreditReport(Long creditBureauId, JsonCommand command);
+ // upload CreditReport to CreditBureau
+ String addCreditReport(Long creditBureauId, File creditReport, FormDataContentDisposition fileDetail);
+
}
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/CreditReportWritePlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/CreditReportWritePlatformServiceImpl.java
index 67be892..e2a2c39 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/CreditReportWritePlatformServiceImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/CreditReportWritePlatformServiceImpl.java
@@ -18,6 +18,8 @@
*/
package org.apache.fineract.infrastructure.creditbureau.service;
+import com.sun.jersey.core.header.FormDataContentDisposition;
+import java.io.File;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
@@ -98,14 +100,9 @@ public class CreditReportWritePlatformServiceImpl implements CreditReportWritePl
if (Objects.equals(creditBureauName.get(), CreditBureauConfigurations.THITSAWORKS.toString())) {
- // CreditBureauToken creditBureauToken = this.thitsaWorksCreditBureauIntegrationWritePlatformService
- // .createToken(creditBureauID);
-
CreditBureauReportData reportobj = this.thitsaWorksCreditBureauIntegrationWritePlatformService
.getCreditReportFromThitsaWorks(command);
- // return new
- // CommandProcessingResultBuilder().withCreditReport(reportobj).withCreditBureauToken(creditBureauToken).build();
return new CommandProcessingResultBuilder().withCreditReport(reportobj).build();
}
@@ -124,6 +121,28 @@ public class CreditReportWritePlatformServiceImpl implements CreditReportWritePl
}
+ @Override
+ @Transactional
+ public String addCreditReport(Long bureauId, File creditReport, FormDataContentDisposition fileDetail) {
+
+ Optional<String> creditBureauName = getCreditBureau(bureauId);
+ String responseMessage = null;
+
+ if (Objects.equals(creditBureauName.get(), CreditBureauConfigurations.THITSAWORKS.toString())) {
+ responseMessage = this.thitsaWorksCreditBureauIntegrationWritePlatformService.addCreditReport(bureauId, creditReport,
+ fileDetail);
+ } else {
+
+ baseDataValidator.reset().failWithCode("creditBureau.has.not.been.Integrated");
+ throw new PlatformApiDataValidationException("creditBureau.has.not.been.Integrated", "creditBureau.has.not.been.Integrated",
+ dataValidationErrors);
+
+ }
+
+ return responseMessage;
+
+ }
+
private Optional<String> getCreditBureau(Long creditBureauID) {
if (creditBureauID != null) {
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/ThitsaWorksCreditBureauIntegrationWritePlatformService.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/ThitsaWorksCreditBureauIntegrationWritePlatformService.java
index 2df21f4..d422f38 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/ThitsaWorksCreditBureauIntegrationWritePlatformService.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/ThitsaWorksCreditBureauIntegrationWritePlatformService.java
@@ -18,6 +18,7 @@
*/
package org.apache.fineract.infrastructure.creditbureau.service;
+import com.sun.jersey.core.header.FormDataContentDisposition;
import java.io.File;
import org.apache.fineract.infrastructure.core.api.JsonCommand;
import org.apache.fineract.infrastructure.creditbureau.data.CreditBureauReportData;
@@ -30,8 +31,10 @@ public interface ThitsaWorksCreditBureauIntegrationWritePlatformService {
Long extractUniqueId(String jsonResult);
String okHttpConnectionMethod(String userName, String password, String subscriptionKey, String subscriptionId, String url, String token,
- File report, Long uniqueId, String nrcId, String process);
+ File report, FormDataContentDisposition fileDetail, Long uniqueId, String nrcId, String process);
CreditBureauReportData getCreditReportFromThitsaWorks(JsonCommand command);
+ String addCreditReport(Long bureauId, File creditReport, FormDataContentDisposition fileDetail);
+
}
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/ThitsaWorksCreditBureauIntegrationWritePlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/ThitsaWorksCreditBureauIntegrationWritePlatformServiceImpl.java
index b14156a..355d37a 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/ThitsaWorksCreditBureauIntegrationWritePlatformServiceImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/ThitsaWorksCreditBureauIntegrationWritePlatformServiceImpl.java
@@ -24,6 +24,7 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
+import com.sun.jersey.core.header.FormDataContentDisposition;
import java.io.File;
import java.io.IOException;
import java.net.HttpURLConnection;
@@ -32,6 +33,7 @@ import java.util.Date;
import java.util.List;
import okhttp3.HttpUrl;
import okhttp3.MediaType;
+import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
@@ -94,13 +96,20 @@ public class ThitsaWorksCreditBureauIntegrationWritePlatformServiceImpl implemen
@Override
@SuppressWarnings("deprecation")
public String okHttpConnectionMethod(String userName, String password, String subscriptionKey, String subscriptionId, String url,
- String token, File file, Long uniqueId, String nrcId, String process) {
+ String token, File file, FormDataContentDisposition fileData, Long uniqueId, String nrcId, String process) {
String reponseMessage = null;
RequestBody requestBody = null;
OkHttpClient client = new OkHttpClient();
- if (process.equals("token")) {
+ if (process.equals("UploadCreditReport")) {
+ String fileName = fileData.getFileName();
+ requestBody = RequestBody.create(file, MediaType.parse("multipart/form-data"));
+
+ requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM).addFormDataPart("file", fileName, requestBody)
+ .addFormDataPart("BODY", "formdata").addFormDataPart("userName", userName).build();
+
+ } else if (process.equals("token")) {
final MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
String jsonBody = "" + "BODY=x-www-form-urlencoded&\r" + "grant_type=password&\r" + "userName=" + userName + "&\r" + "password="
@@ -130,6 +139,12 @@ public class ThitsaWorksCreditBureauIntegrationWritePlatformServiceImpl implemen
request = new Request.Builder().header("mcix-subscription-key", subscriptionKey)
.header("mcix-subscription-id", subscriptionId).header("Content-Type", "application/x-www-form-urlencoded")
.header("Authorization", "Bearer " + token).url(urlokhttp).get().build();
+ } else if (process.equals("UploadCreditReport")) { // POST for uploading Credit-Report(multipart/form-data)
+ // To ThitsaWork
+ request = new Request.Builder().header("mcix-subscription-key", subscriptionKey)
+ .header("mcix-subscription-id", subscriptionId).header("Content-Type", "multipart/form-data")
+ .header("Authorization", "Bearer " + token).url(urlokhttp).post(requestBody).build();
+
} else { // POST method for application/x-www-form-urlencoded
request = new Request.Builder().header("mcix-subscription-key", subscriptionKey)
@@ -153,6 +168,12 @@ public class ThitsaWorksCreditBureauIntegrationWritePlatformServiceImpl implemen
this.httpResponse(responseCode, reponseMessage);
}
+ if (process.equals("UploadCreditReport")) { // to show the Response on frontEnd
+ JsonObject reportObject = JsonParser.parseString(reponseMessage).getAsJsonObject();
+ String ResponseMessageJson = reportObject.get("ResponseMessage").getAsString();
+ this.handleAPIIntegrityIssues(ResponseMessageJson);
+ }
+
return reponseMessage;
}
@@ -201,8 +222,8 @@ public class ThitsaWorksCreditBureauIntegrationWritePlatformServiceImpl implemen
String nrcUrl = url + nrcId;
- String searchResult = this.okHttpConnectionMethod(userName, password, subscriptionKey, subscriptionId, nrcUrl, token, null, 0L,
- nrcId, process);
+ String searchResult = this.okHttpConnectionMethod(userName, password, subscriptionKey, subscriptionId, nrcUrl, token, null, null,
+ 0L, nrcId, process);
if (process.equals("NRC")) {
Long uniqueID = this.extractUniqueId(searchResult);
@@ -213,7 +234,7 @@ public class ThitsaWorksCreditBureauIntegrationWritePlatformServiceImpl implemen
String creditReportUrl = url + uniqueID;
searchResult = this.okHttpConnectionMethod(userName, password, subscriptionKey, subscriptionId, creditReportUrl, token, null,
- uniqueID, null, process);
+ null, uniqueID, null, process);
}
@@ -270,6 +291,31 @@ public class ThitsaWorksCreditBureauIntegrationWritePlatformServiceImpl implemen
writeoffLoanStringArray);
}
+ @Override
+ @Transactional
+ public String addCreditReport(Long bureauId, File creditReport, FormDataContentDisposition fileDetail) {
+
+ Integer creditBureauId = bureauId.intValue();
+
+ String userName = this.getCreditBureauConfiguration(creditBureauId, CreditBureauConfigurations.USERNAME.toString());
+ String password = this.getCreditBureauConfiguration(creditBureauId, CreditBureauConfigurations.PASSWORD.toString());
+ String subscriptionId = this.getCreditBureauConfiguration(creditBureauId, CreditBureauConfigurations.SUBSCRIPTIONID.toString());
+ String subscriptionKey = this.getCreditBureauConfiguration(creditBureauId, CreditBureauConfigurations.SUBSCRIPTIONKEY.toString());
+
+ CreditBureauToken creditbureautoken = this.createToken(creditBureauId.longValue());
+ String token = creditbureautoken.getCurrentToken();
+
+ CreditBureauConfiguration addReportURL = this.configDataRepository.getCreditBureauConfigData(creditBureauId, "addCreditReporturl");
+ String url = addReportURL.getValue();
+
+ String process = "UploadCreditReport";
+
+ String responseMessage = this.okHttpConnectionMethod(userName, password, subscriptionKey, subscriptionId, url, token, creditReport,
+ fileDetail, 0L, null, process);
+
+ return responseMessage;
+ }
+
private String[] convertArrayintoStringArray(JsonArray jsonResult) {
String[] loanAccounts = new String[jsonResult.size()];
@@ -391,8 +437,8 @@ public class ThitsaWorksCreditBureauIntegrationWritePlatformServiceImpl implemen
String process = "token";
String nrcId = null;
Long uniqueID = 0L;
- String result = this.okHttpConnectionMethod(userName, password, subscriptionKey, subscriptionId, url, null, null, uniqueID,
- nrcId, process);
+ String result = this.okHttpConnectionMethod(userName, password, subscriptionKey, subscriptionId, url, null, null, null,
+ uniqueID, nrcId, process);
// created token will be storing it into database
final CommandWrapper wrapper = new CommandWrapperBuilder().withJson(result).build();
final String json = wrapper.getJson();
@@ -434,10 +480,11 @@ public class ThitsaWorksCreditBureauIntegrationWritePlatformServiceImpl implemen
creditBureauConfigurationValue = configurationParameterValue.getValue();
if (creditBureauConfigurationValue.isEmpty()) {
+
baseDataValidator.reset().failWithCode("creditBureau.configuration." + configurationParameterName + ".is.not.available");
- throw new PlatformApiDataValidationException(
- "creditBureau.Configuration." + configurationParameterName + ".is.not.available",
- "creditBureau.Configuration.is.not.available", dataValidationErrors);
+
+ throw new PlatformDataIntegrityException("creditBureau.Configuration." + configurationParameterName + ".is.not.available",
+ "creditBureau.Configuration." + configurationParameterName + ".is.not.available");
}
} catch (NullPointerException ex) {
diff --git a/fineract-provider/src/test/java/org/apache/fineract/portfolio/loanaccount/ThitsaworksCreditBureauTest.java b/fineract-provider/src/test/java/org/apache/fineract/portfolio/loanaccount/ThitsaworksCreditBureauTest.java
index c14c08b..ed53f30 100644
--- a/fineract-provider/src/test/java/org/apache/fineract/portfolio/loanaccount/ThitsaworksCreditBureauTest.java
+++ b/fineract-provider/src/test/java/org/apache/fineract/portfolio/loanaccount/ThitsaworksCreditBureauTest.java
@@ -23,7 +23,9 @@ import static org.mockito.Mockito.when;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
+import com.sun.jersey.core.header.FormDataContentDisposition;
import java.io.File;
+import javax.ws.rs.core.UriInfo;
import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper;
import org.apache.fineract.infrastructure.creditbureau.service.CreditReportWritePlatformServiceImpl;
import org.apache.fineract.infrastructure.creditbureau.service.ThitsaWorksCreditBureauIntegrationWritePlatformServiceImpl;
@@ -60,7 +62,11 @@ public class ThitsaworksCreditBureauTest {
static String url = "url";
static String token = "token";
static Long uniqueId = 8113399260L;
- static File file;
+ static byte[] file;
+ static File report;
+ static String fileName;
+ static UriInfo uriInfo;
+ static FormDataContentDisposition fileData;
static String testresult = "{ 'Data': {'BorrowerInfo': {'MainIdentifier': '2113439293', 'Name': 'Aung Khant Min',"
+ " 'NRC': '13/MiFoS(N)163525', 'Gender': '', 'DOB': '1990-01-20', 'FatherName': '', 'Address': '',"
@@ -86,10 +92,10 @@ public class ThitsaworksCreditBureauTest {
String searchResult = "{\"Data\":[{\"UniqueID\":\"8113399260\",\"NRC\":\"12/KaMaRa(N)253426\",\"FullName\":\"Aye Aye\",\"DOB\":\"1990-05-22,1991-05-22\",\"FatherFullName\":\"U Aye Myint Maung\",\"Location\":\"Yangon-Thongwa,Twantay,Yankin\",\"Flag\":\"[{\\\"WriteOff\\\":1}]\",\"Active\":\"Y\"}],\"MessageDtm\":\"8/1/2020 6:39:00 PM UTC\",\"SubscriptionID\":\"317A1FF8-625D-41BA-BE0F-F8ED8A644A7C\",\"CallerIP\":\"207.46.228.155\",\"URI\":\"https://qa-mmcix-api.azurewebsites.net/2020 [...]
when(this.thitsaWorksCreditBureauIntegrationWritePlatformServiceImpl.okHttpConnectionMethod(userName, password, subscriptionKey,
- subscriptionId, url, token, file, uniqueId, nrcID, process)).thenReturn(searchResult);
+ subscriptionId, url, token, report, fileData, uniqueId, nrcID, process)).thenReturn(searchResult);
final String search = thitsaWorksCreditBureauIntegrationWritePlatformServiceImpl.okHttpConnectionMethod(userName, password,
- subscriptionKey, subscriptionId, url, token, file, uniqueId, nrcID, process);
+ subscriptionKey, subscriptionId, url, token, report, fileData, uniqueId, nrcID, process);
when(thitsaWorksCreditBureauIntegrationWritePlatformServiceImpl.extractUniqueId(search)).thenCallRealMethod();
@@ -105,10 +111,10 @@ public class ThitsaworksCreditBureauTest {
String curentNrc = "13/MiFoS(N)163525";
when(this.thitsaWorksCreditBureauIntegrationWritePlatformServiceImpl.okHttpConnectionMethod(userName, password, subscriptionKey,
- subscriptionId, url, token, file, uniqueId, nrcID, process)).thenReturn(testresult);
+ subscriptionId, url, token, report, fileData, uniqueId, nrcID, process)).thenReturn(testresult);
String creditReport = thitsaWorksCreditBureauIntegrationWritePlatformServiceImpl.okHttpConnectionMethod(userName, password,
- subscriptionKey, subscriptionId, url, token, file, uniqueId, nrcID, process);
+ subscriptionKey, subscriptionId, url, token, report, fileData, uniqueId, nrcID, process);
JsonObject resultObject = JsonParser.parseString(creditReport).getAsJsonObject();
String data = resultObject.get("Data").toString();