This is an automated email from the ASF dual-hosted git repository.

arnold 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 b2636aaf25 FINERACT-2519: Refactor CreditBureauIntegration tests to 
use fineract-client
b2636aaf25 is described below

commit b2636aaf25d3a9afe21deea995119370842126cd
Author: DeathGun44 <[email protected]>
AuthorDate: Tue Mar 3 09:12:12 2026 +0530

    FINERACT-2519: Refactor CreditBureauIntegration tests to use fineract-client
---
 .../fineract/client/util/FineractClient.java       |  3 ++
 .../api/CreditBureauIntegrationApiResource.java    |  2 +
 .../integrationtests/CreditBureauTest.java         | 18 ++------
 .../common/CreditBureauIntegrationHelper.java      | 53 ++++------------------
 4 files changed, 18 insertions(+), 58 deletions(-)

diff --git 
a/fineract-client/src/main/java/org/apache/fineract/client/util/FineractClient.java
 
b/fineract-client/src/main/java/org/apache/fineract/client/util/FineractClient.java
index a10c5c6959..6f47fffb87 100644
--- 
a/fineract-client/src/main/java/org/apache/fineract/client/util/FineractClient.java
+++ 
b/fineract-client/src/main/java/org/apache/fineract/client/util/FineractClient.java
@@ -59,6 +59,7 @@ import org.apache.fineract.client.services.ClientsAddressApi;
 import org.apache.fineract.client.services.CodeValuesApi;
 import org.apache.fineract.client.services.CodesApi;
 import org.apache.fineract.client.services.CreditBureauConfigurationApi;
+import org.apache.fineract.client.services.CreditBureauIntegrationApi;
 import org.apache.fineract.client.services.CurrencyApi;
 import org.apache.fineract.client.services.DataTablesApi;
 import org.apache.fineract.client.services.DefaultApi;
@@ -202,6 +203,7 @@ public final class FineractClient {
     public final ChargesApi charges;
     public final ClientApi clients;
     public final CreditBureauConfigurationApi creditBureauConfiguration;
+    public final CreditBureauIntegrationApi creditBureauIntegration;
 
     public final ClientSearchV2Api clientSearchV2;
     public final ClientChargesApi clientCharges;
@@ -338,6 +340,7 @@ public final class FineractClient {
         charges = retrofit.create(ChargesApi.class);
         clients = retrofit.create(ClientApi.class);
         creditBureauConfiguration = 
retrofit.create(CreditBureauConfigurationApi.class);
+        creditBureauIntegration = 
retrofit.create(CreditBureauIntegrationApi.class);
         clientSearchV2 = retrofit.create(ClientSearchV2Api.class);
         clientCharges = retrofit.create(ClientChargesApi.class);
         clientIdentifiers = retrofit.create(ClientIdentifierApi.class);
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/api/CreditBureauIntegrationApiResource.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/api/CreditBureauIntegrationApiResource.java
index 528c1b1b4f..7914b8e2dc 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/api/CreditBureauIntegrationApiResource.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/api/CreditBureauIntegrationApiResource.java
@@ -24,6 +24,7 @@ import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.media.Content;
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.parameters.RequestBody;
+import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.ws.rs.Consumes;
 import jakarta.ws.rs.DELETE;
 import jakarta.ws.rs.GET;
@@ -64,6 +65,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 
 @Path("/v1/creditBureauIntegration")
 @Component
+@Tag(name = "Credit Bureau Integration", description = "")
 @RequiredArgsConstructor
 public class CreditBureauIntegrationApiResource {
 
diff --git 
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/CreditBureauTest.java
 
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/CreditBureauTest.java
index a752cb17d9..25990ff409 100644
--- 
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/CreditBureauTest.java
+++ 
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/CreditBureauTest.java
@@ -28,11 +28,6 @@ import 
com.github.tomakehurst.wiremock.junit5.WireMockExtension;
 import com.google.gson.Gson;
 import com.google.gson.JsonParser;
 import com.google.gson.reflect.TypeToken;
-import io.restassured.builder.RequestSpecBuilder;
-import io.restassured.builder.ResponseSpecBuilder;
-import io.restassured.http.ContentType;
-import io.restassured.specification.RequestSpecification;
-import io.restassured.specification.ResponseSpecification;
 import java.time.ZoneId;
 import java.time.ZonedDateTime;
 import java.time.format.DateTimeFormatterBuilder;
@@ -53,8 +48,6 @@ import org.slf4j.LoggerFactory;
 public class CreditBureauTest {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(CreditBureauTest.class);
-    private ResponseSpecification responseSpec;
-    private RequestSpecification requestSpec;
 
     private static final ObjectMapper MAPPER = new ObjectMapper();
 
@@ -64,9 +57,6 @@ public class CreditBureauTest {
     @BeforeEach
     public void setup() {
         Utils.initializeRESTAssured();
-        this.requestSpec = new 
RequestSpecBuilder().setContentType(ContentType.JSON).build();
-        this.requestSpec.header("Authorization", "Basic " + 
Utils.loginIntoServerAndGetBase64EncodedAuthenticationKey());
-        this.responseSpec = new 
ResponseSpecBuilder().expectStatusCode(200).build();
         configureCreditBureauService();
     }
 
@@ -128,11 +118,11 @@ public class CreditBureauTest {
                         + "\"Gender\":\"male\"," + "\"Address\":\"Test 
Address\"" + "}," + "\"CreditScore\": {\"Score\":  \"500\"},"
                         + "\"ActiveLoans\": [\"Loan1\", \"Loan2\"]," + 
"\"WriteOffLoans\": [\"Loan3\", \"Loan4\"]" + "}}", 200)));
 
-        Object serviceResult = 
CreditBureauIntegrationHelper.getCreditReport(this.requestSpec, 
this.responseSpec, "1", "NRC213");
+        String serviceResult = 
CreditBureauIntegrationHelper.getCreditReport("1", "NRC213");
         Assertions.assertNotNull(serviceResult);
         Gson gson = new Gson();
         CreditBureauReportData responseData = gson.fromJson(
-                
gson.toJson(JsonParser.parseString(String.valueOf(serviceResult)).getAsJsonObject().get("creditBureauReportData")),
+                
gson.toJson(JsonParser.parseString(serviceResult).getAsJsonObject().get("creditBureauReportData")),
                 CreditBureauReportData.class);
         Assertions.assertEquals("\"Test Name\"", responseData.getName());
         Assertions.assertEquals("{\"Score\":\"500\"}", 
responseData.getCreditScore());
@@ -166,11 +156,11 @@ public class CreditBureauTest {
                         + "\"Name\":\"Test Name\"," + "\"Gender\":\"male\"," + 
"\"Address\":\"Test Address\"" + "},"
                         + "\"CreditScore\": {\"Score\":  \"500\"}," + 
"\"ActiveLoans\": []," + "\"WriteOffLoans\": []" + "}}", 200)));
 
-        Object serviceResult = 
CreditBureauIntegrationHelper.getCreditReport(this.requestSpec, 
this.responseSpec, "1", "NRC213");
+        String serviceResult = 
CreditBureauIntegrationHelper.getCreditReport("1", "NRC213");
         Assertions.assertNotNull(serviceResult);
         Gson gson = new Gson();
         CreditBureauReportData responseData = gson.fromJson(
-                
gson.toJson(JsonParser.parseString(String.valueOf(serviceResult)).getAsJsonObject().get("creditBureauReportData")),
+                
gson.toJson(JsonParser.parseString(serviceResult).getAsJsonObject().get("creditBureauReportData")),
                 CreditBureauReportData.class);
         Assertions.assertEquals("\"Test Name\"", responseData.getName());
         Assertions.assertEquals("{\"Score\":\"500\"}", 
responseData.getCreditScore());
diff --git 
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CreditBureauIntegrationHelper.java
 
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CreditBureauIntegrationHelper.java
index 974f25bb25..bc3223025a 100644
--- 
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CreditBureauIntegrationHelper.java
+++ 
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CreditBureauIntegrationHelper.java
@@ -18,64 +18,29 @@
  */
 package org.apache.fineract.integrationtests.common;
 
-import static io.restassured.RestAssured.given;
-
-import com.google.gson.Gson;
-import io.restassured.specification.RequestSpecification;
-import io.restassured.specification.ResponseSpecification;
-import java.io.File;
 import java.util.HashMap;
+import org.apache.fineract.client.services.CreditBureauIntegrationApi;
+import org.apache.fineract.client.util.Calls;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class CreditBureauIntegrationHelper {
+public final class CreditBureauIntegrationHelper {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(CreditBureauIntegrationHelper.class);
-    private final RequestSpecification requestSpec;
-    private final ResponseSpecification responseSpec;
-
-    // TODO: Rewrite to use fineract-client instead!
-    // Example: 
org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
-    // org.apache.fineract.client.models.PostLoansLoanIdRequest)
-    @Deprecated(forRemoval = true)
-    public CreditBureauIntegrationHelper(final RequestSpecification 
requestSpec, final ResponseSpecification responseSpec) {
-        this.requestSpec = requestSpec;
-        this.responseSpec = responseSpec;
-    }
 
-    // TODO: Rewrite to use fineract-client instead!
-    // Example: 
org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
-    // org.apache.fineract.client.models.PostLoansLoanIdRequest)
-    @Deprecated(forRemoval = true)
-    public static Object getCreditReport(final RequestSpecification 
requestSpec, final ResponseSpecification responseSpec,
-            final String creditBureauId, String nrc) {
-        LOG.info("---------------------------------CREATING A 
CREDIT_BUREAU_CONFIGURATION---------------------------------------------");
-        final String CREDITBUREAU_CONFIGURATION_URL = 
"/fineract-provider/api/v1/creditBureauIntegration/creditReport?"
-                + Utils.TENANT_IDENTIFIER;
-        return Utils.performServerPost(requestSpec, responseSpec, 
CREDITBUREAU_CONFIGURATION_URL,
-                createGetCreditReportAsJson(creditBureauId, nrc), null);
-    }
+    private CreditBureauIntegrationHelper() {}
 
-    public static String uploadCreditReport(final RequestSpecification 
requestSpec, final ResponseSpecification responseSpec,
-            final String creditBureauId, File file) {
-        LOG.info("---------------------------------CREATING A 
CREDIT_BUREAU_CONFIGURATION---------------------------------------------");
-        final String CREDITBUREAU_CONFIGURATION_URL = 
"/fineract-provider/api/v1/creditBureauIntegration/addCreditReport?"
-                + Utils.TENANT_IDENTIFIER;
-        return given().spec(requestSpec).queryParam("creditBureauId", 
creditBureauId).contentType("multipart/form-data")
-                .multiPart("file", 
file).expect().spec(responseSpec).log().ifError().when().post(CREDITBUREAU_CONFIGURATION_URL).andReturn()
-                .asString();
+    private static CreditBureauIntegrationApi api() {
+        return 
FineractClientHelper.getFineractClient().creditBureauIntegration;
     }
 
-    // TODO: Rewrite to use fineract-client instead!
-    // Example: 
org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
-    // org.apache.fineract.client.models.PostLoansLoanIdRequest)
-    @Deprecated(forRemoval = true)
-    public static String createGetCreditReportAsJson(final String 
creditBureauId, final String nrc) {
+    public static String getCreditReport(final String creditBureauId, final 
String nrc) {
+        LOG.info("---------------------------------FETCHING CREDIT 
REPORT---------------------------------------------");
         final HashMap<String, String> map = new HashMap<>();
         map.put("creditBureauID", creditBureauId);
         map.put("NRC", nrc);
         LOG.info("map :  {}", map);
-        return new Gson().toJson(map);
+        return Calls.ok(api().fetchCreditReport((Object) map));
     }
 
 }

Reply via email to