FINERACT-2242: New command processing - External Event Configuration (org.apache.fineract.infrastructure.event.external)
This commit is contained in:
committed by
Aleksandar Vidakovic
parent
86024b83cc
commit
ba06234f26
+4
-4
@@ -86,7 +86,7 @@ import org.apache.fineract.client.models.RetrieveLoansPointInTimeRequest;
|
||||
import org.apache.fineract.client.util.CallFailedRuntimeException;
|
||||
import org.apache.fineract.client.util.Calls;
|
||||
import org.apache.fineract.infrastructure.configuration.api.GlobalConfigurationConstants;
|
||||
import org.apache.fineract.infrastructure.event.external.service.validation.ExternalEventDTO;
|
||||
import org.apache.fineract.infrastructure.event.external.data.ExternalEventResponse;
|
||||
import org.apache.fineract.integrationtests.client.IntegrationTest;
|
||||
import org.apache.fineract.integrationtests.common.BatchHelper;
|
||||
import org.apache.fineract.integrationtests.common.BusinessDateHelper;
|
||||
@@ -1275,7 +1275,7 @@ public abstract class BaseLoanIntegrationTest extends IntegrationTest {
|
||||
}
|
||||
|
||||
protected void verifyBusinessEvents(BusinessEvent... businessEvents) {
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
logBusinessEvents(allExternalEvents);
|
||||
Assertions.assertNotNull(businessEvents);
|
||||
Assertions.assertNotNull(allExternalEvents);
|
||||
@@ -1289,7 +1289,7 @@ public abstract class BaseLoanIntegrationTest extends IntegrationTest {
|
||||
}
|
||||
}
|
||||
|
||||
protected void logBusinessEvents(List<ExternalEventDTO> allExternalEvents) {
|
||||
protected void logBusinessEvents(List<ExternalEventResponse> allExternalEvents) {
|
||||
allExternalEvents.forEach(externalEventDTO -> {
|
||||
Object amount = externalEventDTO.getPayLoad().get("amount");
|
||||
Object outstandingLoanBalance = externalEventDTO.getPayLoad().get("outstandingLoanBalance");
|
||||
@@ -1306,7 +1306,7 @@ public abstract class BaseLoanIntegrationTest extends IntegrationTest {
|
||||
|
||||
protected void deleteAllExternalEvents() {
|
||||
ExternalEventHelper.deleteAllExternalEvents(requestSpec, createResponseSpecification(Matchers.is(204)));
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
Assertions.assertEquals(0, allExternalEvents.size());
|
||||
}
|
||||
|
||||
|
||||
+6
-6
@@ -27,7 +27,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.fineract.client.models.BusinessDateUpdateRequest;
|
||||
import org.apache.fineract.client.models.PostLoanProductsRequest;
|
||||
import org.apache.fineract.client.models.PostLoanProductsResponse;
|
||||
import org.apache.fineract.infrastructure.event.external.service.validation.ExternalEventDTO;
|
||||
import org.apache.fineract.infrastructure.event.external.data.ExternalEventResponse;
|
||||
import org.apache.fineract.integrationtests.common.BusinessStepHelper;
|
||||
import org.apache.fineract.integrationtests.common.ClientHelper;
|
||||
import org.apache.fineract.integrationtests.common.ExternalEventConfigurationHelper;
|
||||
@@ -85,7 +85,7 @@ public class CustomSnapshotEventIntegrationTest extends BaseLoanIntegrationTest
|
||||
updateBusinessDateAndExecuteCOBJob("01 February 2023");
|
||||
|
||||
// verify external events
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
Assertions.assertEquals(1, allExternalEvents.size());
|
||||
Assertions.assertEquals("LoanAccountCustomSnapshotBusinessEvent", allExternalEvents.get(0).getType());
|
||||
Assertions.assertEquals(loanId, allExternalEvents.get(0).getAggregateRootId());
|
||||
@@ -163,7 +163,7 @@ public class CustomSnapshotEventIntegrationTest extends BaseLoanIntegrationTest
|
||||
updateBusinessDateAndExecuteCOBJob("01 February 2023");
|
||||
|
||||
// verify external events
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
Assertions.assertEquals(0, allExternalEvents.size());
|
||||
});
|
||||
}
|
||||
@@ -208,7 +208,7 @@ public class CustomSnapshotEventIntegrationTest extends BaseLoanIntegrationTest
|
||||
updateBusinessDateAndExecuteCOBJob("01 February 2023");
|
||||
|
||||
// verify external events
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
Assertions.assertEquals(0, allExternalEvents.size());
|
||||
});
|
||||
}
|
||||
@@ -252,7 +252,7 @@ public class CustomSnapshotEventIntegrationTest extends BaseLoanIntegrationTest
|
||||
updateBusinessDateAndExecuteCOBJob("31 January 2023");
|
||||
|
||||
// verify external events
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
Assertions.assertEquals(0, allExternalEvents.size());
|
||||
});
|
||||
}
|
||||
@@ -297,7 +297,7 @@ public class CustomSnapshotEventIntegrationTest extends BaseLoanIntegrationTest
|
||||
updateBusinessDateAndExecuteCOBJob("01 February 2023");
|
||||
|
||||
// verify external events
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
Assertions.assertEquals(0, allExternalEvents.size());
|
||||
});
|
||||
}
|
||||
|
||||
+33
-33
@@ -47,7 +47,7 @@ import org.apache.fineract.client.models.PostLoansRequest;
|
||||
import org.apache.fineract.client.models.PostLoansResponse;
|
||||
import org.apache.fineract.client.models.PostUpdateRescheduleLoansRequest;
|
||||
import org.apache.fineract.infrastructure.configuration.api.GlobalConfigurationConstants;
|
||||
import org.apache.fineract.infrastructure.event.external.service.validation.ExternalEventDTO;
|
||||
import org.apache.fineract.infrastructure.event.external.data.ExternalEventResponse;
|
||||
import org.apache.fineract.integrationtests.common.BusinessStepHelper;
|
||||
import org.apache.fineract.integrationtests.common.ClientHelper;
|
||||
import org.apache.fineract.integrationtests.common.LoanRescheduleRequestHelper;
|
||||
@@ -182,11 +182,11 @@ public class ExternalBusinessEventTest extends BaseLoanIntegrationTest {
|
||||
.chargeAdjustment(loanId, chargeId, new PostLoansLoanIdChargesChargeIdRequest().amount(111.0).locale("en"))
|
||||
.getSubResourceId();
|
||||
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventDTO> list = allExternalEvents.stream()
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> list = allExternalEvents.stream()
|
||||
.filter(x -> "LoanChargeAdjustmentPostBusinessEvent".equals(x.getType())).toList();
|
||||
Assertions.assertEquals(1, list.size());
|
||||
ExternalEventDTO event = list.get(0);
|
||||
ExternalEventResponse event = list.get(0);
|
||||
Object loanChargePaidByList = event.getPayLoad().get("loanChargePaidByList");
|
||||
Assertions.assertInstanceOf(List.class, loanChargePaidByList);
|
||||
Assertions.assertEquals(1, ((List<?>) loanChargePaidByList).size());
|
||||
@@ -224,11 +224,11 @@ public class ExternalBusinessEventTest extends BaseLoanIntegrationTest {
|
||||
.chargeAdjustment(loanId, chargeId, new PostLoansLoanIdChargesChargeIdRequest().amount(69.0).locale("en"))
|
||||
.getSubResourceId();
|
||||
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventDTO> list = allExternalEvents.stream()
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> list = allExternalEvents.stream()
|
||||
.filter(x -> "LoanChargeAdjustmentPostBusinessEvent".equals(x.getType())).toList();
|
||||
Assertions.assertEquals(1, list.size());
|
||||
ExternalEventDTO event = list.get(0);
|
||||
ExternalEventResponse event = list.get(0);
|
||||
Object loanChargePaidByList = event.getPayLoad().get("loanChargePaidByList");
|
||||
Assertions.assertInstanceOf(List.class, loanChargePaidByList);
|
||||
Assertions.assertEquals(1, ((List<?>) loanChargePaidByList).size());
|
||||
@@ -289,11 +289,11 @@ public class ExternalBusinessEventTest extends BaseLoanIntegrationTest {
|
||||
deleteAllExternalEvents();
|
||||
Long transactionId = loanTransactionHelper.makeLoanRepayment("01 January 2021", 300.0F, loanId.intValue()).getResourceId();
|
||||
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventDTO> list = allExternalEvents.stream()
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> list = allExternalEvents.stream()
|
||||
.filter(x -> "LoanTransactionMakeRepaymentPostBusinessEvent".equals(x.getType())).toList();
|
||||
Assertions.assertEquals(1, list.size());
|
||||
ExternalEventDTO event = list.get(0);
|
||||
ExternalEventResponse event = list.get(0);
|
||||
log.info(event.toString());
|
||||
Object loanChargePaidByList = event.getPayLoad().get("loanChargePaidByList");
|
||||
Assertions.assertEquals(111.0D, event.getPayLoad().get("feeChargesPortion"));
|
||||
@@ -367,11 +367,11 @@ public class ExternalBusinessEventTest extends BaseLoanIntegrationTest {
|
||||
.chargeAdjustment(loanId, chargeId, new PostLoansLoanIdChargesChargeIdRequest().amount(111.0).locale("en"))
|
||||
.getSubResourceId();
|
||||
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventDTO> list = allExternalEvents.stream()
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> list = allExternalEvents.stream()
|
||||
.filter(x -> "LoanChargeAdjustmentPostBusinessEvent".equals(x.getType())).toList();
|
||||
Assertions.assertEquals(1, list.size());
|
||||
ExternalEventDTO event = list.get(0);
|
||||
ExternalEventResponse event = list.get(0);
|
||||
Object loanChargePaidByList = event.getPayLoad().get("loanChargePaidByList");
|
||||
Assertions.assertInstanceOf(List.class, loanChargePaidByList);
|
||||
Assertions.assertEquals(1, ((List<?>) loanChargePaidByList).size());
|
||||
@@ -410,11 +410,11 @@ public class ExternalBusinessEventTest extends BaseLoanIntegrationTest {
|
||||
.chargeAdjustment(loanId, chargeId, new PostLoansLoanIdChargesChargeIdRequest().amount(69.0).locale("en"))
|
||||
.getSubResourceId();
|
||||
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventDTO> list = allExternalEvents.stream()
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> list = allExternalEvents.stream()
|
||||
.filter(x -> "LoanChargeAdjustmentPostBusinessEvent".equals(x.getType())).toList();
|
||||
Assertions.assertEquals(1, list.size());
|
||||
ExternalEventDTO event = list.get(0);
|
||||
ExternalEventResponse event = list.get(0);
|
||||
Object loanChargePaidByList = event.getPayLoad().get("loanChargePaidByList");
|
||||
Assertions.assertInstanceOf(List.class, loanChargePaidByList);
|
||||
Assertions.assertEquals(1, ((List<?>) loanChargePaidByList).size());
|
||||
@@ -475,11 +475,11 @@ public class ExternalBusinessEventTest extends BaseLoanIntegrationTest {
|
||||
deleteAllExternalEvents();
|
||||
Long transactionId = loanTransactionHelper.makeLoanRepayment("01 January 2021", 300.0F, loanId.intValue()).getResourceId();
|
||||
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventDTO> list = allExternalEvents.stream()
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> list = allExternalEvents.stream()
|
||||
.filter(x -> "LoanTransactionMakeRepaymentPostBusinessEvent".equals(x.getType())).toList();
|
||||
Assertions.assertEquals(1, list.size());
|
||||
ExternalEventDTO event = list.get(0);
|
||||
ExternalEventResponse event = list.get(0);
|
||||
log.info(event.toString());
|
||||
Object loanChargePaidByList = event.getPayLoad().get("loanChargePaidByList");
|
||||
Assertions.assertEquals(111.0D, event.getPayLoad().get("feeChargesPortion"));
|
||||
@@ -552,11 +552,11 @@ public class ExternalBusinessEventTest extends BaseLoanIntegrationTest {
|
||||
.chargeAdjustment(loanId, chargeId, new PostLoansLoanIdChargesChargeIdRequest().amount(111.0).locale("en"))
|
||||
.getSubResourceId();
|
||||
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventDTO> list = allExternalEvents.stream()
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> list = allExternalEvents.stream()
|
||||
.filter(x -> "LoanChargeAdjustmentPostBusinessEvent".equals(x.getType())).toList();
|
||||
Assertions.assertEquals(1, list.size());
|
||||
ExternalEventDTO event = list.get(0);
|
||||
ExternalEventResponse event = list.get(0);
|
||||
Object loanChargePaidByList = event.getPayLoad().get("loanChargePaidByList");
|
||||
Assertions.assertInstanceOf(List.class, loanChargePaidByList);
|
||||
Assertions.assertEquals(1, ((List<?>) loanChargePaidByList).size());
|
||||
@@ -594,11 +594,11 @@ public class ExternalBusinessEventTest extends BaseLoanIntegrationTest {
|
||||
.chargeAdjustment(loanId, chargeId, new PostLoansLoanIdChargesChargeIdRequest().amount(69.0).locale("en"))
|
||||
.getSubResourceId();
|
||||
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventDTO> list = allExternalEvents.stream()
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> list = allExternalEvents.stream()
|
||||
.filter(x -> "LoanChargeAdjustmentPostBusinessEvent".equals(x.getType())).toList();
|
||||
Assertions.assertEquals(1, list.size());
|
||||
ExternalEventDTO event = list.get(0);
|
||||
ExternalEventResponse event = list.get(0);
|
||||
Object loanChargePaidByList = event.getPayLoad().get("loanChargePaidByList");
|
||||
Assertions.assertInstanceOf(List.class, loanChargePaidByList);
|
||||
Assertions.assertEquals(1, ((List<?>) loanChargePaidByList).size());
|
||||
@@ -658,11 +658,11 @@ public class ExternalBusinessEventTest extends BaseLoanIntegrationTest {
|
||||
deleteAllExternalEvents();
|
||||
Long transactionId = loanTransactionHelper.makeLoanRepayment("01 January 2021", 300.0F, loanId.intValue()).getResourceId();
|
||||
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventDTO> list = allExternalEvents.stream()
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> list = allExternalEvents.stream()
|
||||
.filter(x -> "LoanTransactionMakeRepaymentPostBusinessEvent".equals(x.getType())).toList();
|
||||
Assertions.assertEquals(1, list.size());
|
||||
ExternalEventDTO event = list.get(0);
|
||||
ExternalEventResponse event = list.get(0);
|
||||
log.info(event.toString());
|
||||
Object loanChargePaidByList = event.getPayLoad().get("loanChargePaidByList");
|
||||
Assertions.assertEquals(111.0D, event.getPayLoad().get("feeChargesPortion"));
|
||||
@@ -756,9 +756,9 @@ public class ExternalBusinessEventTest extends BaseLoanIntegrationTest {
|
||||
deleteAllExternalEvents();
|
||||
loanTransactionHelper.reverseRepayment(loanId.intValue(), repaymentId.intValue(), "17 January 2025");
|
||||
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
// Verify that there were no reverse-replay event
|
||||
List<ExternalEventDTO> list = allExternalEvents.stream() //
|
||||
List<ExternalEventResponse> list = allExternalEvents.stream() //
|
||||
.filter(x -> "LoanAdjustTransactionBusinessEvent".equals(x.getType()) //
|
||||
&& x.getPayLoad().get("newTransactionDetail") != null //
|
||||
&& x.getPayLoad().get("transactionToAdjust") != null) //
|
||||
@@ -886,7 +886,7 @@ public class ExternalBusinessEventTest extends BaseLoanIntegrationTest {
|
||||
|
||||
loanTransactionHelper.reverseLoanTransaction(loanId, repaymentTransactionIdRef.get(), "01 February 2025");
|
||||
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
// Verify no BulkEvent was created
|
||||
Assertions.assertEquals(0, allExternalEvents.stream().filter(e -> e.getType().equals("BulkBusinessEvent")).count());
|
||||
verifyBusinessEvents(//
|
||||
@@ -969,8 +969,8 @@ public class ExternalBusinessEventTest extends BaseLoanIntegrationTest {
|
||||
PostLoansLoanIdTransactionsResponse interestPaymentWaiverResponse = loanTransactionHelper.makeLoanRepayment(loanId,
|
||||
"InterestPaymentWaiver", "17 January 2025", 10.0);
|
||||
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventDTO> adjustments = allExternalEvents.stream()
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> adjustments = allExternalEvents.stream()
|
||||
.filter(e -> "LoanAdjustTransactionBusinessEvent".equals(e.getType())).toList();
|
||||
Assertions.assertEquals(0, adjustments.size());
|
||||
Assertions.assertNotNull(interestPaymentWaiverResponse);
|
||||
|
||||
+5
-5
@@ -39,7 +39,7 @@ import org.apache.fineract.client.models.PostLoansLoanIdRequest;
|
||||
import org.apache.fineract.client.models.PostLoansLoanIdResponse;
|
||||
import org.apache.fineract.client.models.SavingsAccountTransactionsSearchResponse;
|
||||
import org.apache.fineract.infrastructure.core.service.MathUtil;
|
||||
import org.apache.fineract.infrastructure.event.external.service.validation.ExternalEventDTO;
|
||||
import org.apache.fineract.infrastructure.event.external.data.ExternalEventResponse;
|
||||
import org.apache.fineract.integrationtests.common.ClientHelper;
|
||||
import org.apache.fineract.integrationtests.common.CommonConstants;
|
||||
import org.apache.fineract.integrationtests.common.ExternalEventConfigurationHelper;
|
||||
@@ -263,14 +263,14 @@ public class LoanAccountDisbursementToSavingsWithAutoDownPaymentTest extends Bas
|
||||
}
|
||||
|
||||
private void verifyBusinessEvent() {
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(requestSpec, responseSpec);
|
||||
String type = "LoanBalanceChangedBusinessEvent";
|
||||
|
||||
final Optional<ExternalEventDTO> optionalExternalEventDTO = allExternalEvents.stream().filter(event -> event.getType().equals(type))
|
||||
.findFirst();
|
||||
final Optional<ExternalEventResponse> optionalExternalEventDTO = allExternalEvents.stream()
|
||||
.filter(event -> event.getType().equals(type)).findFirst();
|
||||
Assertions.assertTrue(optionalExternalEventDTO.isPresent());
|
||||
|
||||
final ExternalEventDTO externalEventDTO = optionalExternalEventDTO.get();
|
||||
final ExternalEventResponse externalEventDTO = optionalExternalEventDTO.get();
|
||||
Assertions.assertEquals(externalEventDTO.getPayLoad().get("enableDownPayment"), Boolean.TRUE);
|
||||
Assertions.assertEquals(externalEventDTO.getPayLoad().get("enableAutoRepaymentForDownPayment"), Boolean.TRUE);
|
||||
Assertions.assertEquals(externalEventDTO.getPayLoad().get("disbursedAmountPercentageForDownPayment"),
|
||||
|
||||
+4
-4
@@ -24,6 +24,7 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import org.apache.fineract.client.models.BusinessStep;
|
||||
import org.apache.fineract.client.models.BusinessStepRequest;
|
||||
import org.apache.fineract.client.models.JobBusinessStepConfigData;
|
||||
import org.apache.fineract.client.util.Calls;
|
||||
|
||||
public class BusinessStepHelper {
|
||||
@@ -31,10 +32,9 @@ public class BusinessStepHelper {
|
||||
public BusinessStepHelper() {}
|
||||
|
||||
public BusinessStepsSnapshot getConfigurationSnapshot(String jobName) {
|
||||
List<BusinessStep> businessSteps = Calls
|
||||
.ok(FineractClientHelper.getFineractClient().businessStepConfiguration.retrieveAllConfiguredBusinessStep(jobName))
|
||||
.getBusinessSteps();
|
||||
return new BusinessStepsSnapshot(jobName, businessSteps);
|
||||
JobBusinessStepConfigData businessConfig = Calls
|
||||
.ok(FineractClientHelper.getFineractClient().businessStepConfiguration.retrieveAllConfiguredBusinessStep(jobName));
|
||||
return new BusinessStepsSnapshot(jobName, businessConfig.getBusinessSteps());
|
||||
}
|
||||
|
||||
public void updateSteps(String jobName, String... steps) {
|
||||
|
||||
+2
-2
@@ -25,7 +25,7 @@ import java.util.Objects;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.apache.fineract.infrastructure.event.external.service.validation.ExternalEventDTO;
|
||||
import org.apache.fineract.infrastructure.event.external.data.ExternalEventResponse;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@@ -35,7 +35,7 @@ public class BusinessEvent {
|
||||
protected String type;
|
||||
protected String businessDate;
|
||||
|
||||
public boolean verify(@NotNull ExternalEventDTO externalEvent, DateTimeFormatter formatter) {
|
||||
public boolean verify(@NotNull ExternalEventResponse externalEvent, DateTimeFormatter formatter) {
|
||||
var businessDate = LocalDate.parse(getBusinessDate(), formatter);
|
||||
|
||||
return Objects.equals(externalEvent.getType(), getType()) && Objects.equals(externalEvent.getBusinessDate(), businessDate);
|
||||
|
||||
+10
-10
@@ -26,11 +26,11 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import lombok.Builder;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.fineract.client.models.CommandProcessingResult;
|
||||
import org.apache.fineract.client.models.ExternalEventConfigurationCommand;
|
||||
import org.apache.fineract.client.models.ExternalEventConfigurationUpdateRequest;
|
||||
import org.apache.fineract.client.models.ExternalEventConfigurationUpdateResponse;
|
||||
import org.apache.fineract.client.util.Calls;
|
||||
import org.apache.fineract.client.util.JSON;
|
||||
import org.apache.fineract.infrastructure.event.external.service.validation.ExternalEventDTO;
|
||||
import org.apache.fineract.infrastructure.event.external.data.ExternalEventResponse;
|
||||
import org.apache.fineract.integrationtests.common.ExternalEventConfigurationHelper;
|
||||
import org.apache.fineract.integrationtests.common.FineractClientHelper;
|
||||
import org.apache.fineract.integrationtests.common.Utils;
|
||||
@@ -78,24 +78,24 @@ public final class ExternalEventHelper {
|
||||
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
|
||||
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
|
||||
@Deprecated(forRemoval = true)
|
||||
public static List<ExternalEventDTO> getAllExternalEvents(final RequestSpecification requestSpec,
|
||||
public static List<ExternalEventResponse> getAllExternalEvents(final RequestSpecification requestSpec,
|
||||
final ResponseSpecification responseSpec) {
|
||||
final String url = "/fineract-provider/api/v1/internal/externalevents?" + Utils.TENANT_IDENTIFIER;
|
||||
log.info("---------------------------------GETTING ALL EXTERNAL EVENTS---------------------------------------------");
|
||||
String response = Utils.performServerGet(requestSpec, responseSpec, url);
|
||||
return GSON.fromJson(response, new TypeToken<List<ExternalEventDTO>>() {}.getType());
|
||||
return GSON.fromJson(response, new TypeToken<List<ExternalEventResponse>>() {}.getType());
|
||||
}
|
||||
|
||||
// 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 List<ExternalEventDTO> getAllExternalEvents(final RequestSpecification requestSpec,
|
||||
public static List<ExternalEventResponse> getAllExternalEvents(final RequestSpecification requestSpec,
|
||||
final ResponseSpecification responseSpec, Filter filter) {
|
||||
final String url = "/fineract-provider/api/v1/internal/externalevents?" + filter.toQueryParams() + Utils.TENANT_IDENTIFIER;
|
||||
log.info("---------------------------------GETTING ALL EXTERNAL EVENTS---------------------------------------------");
|
||||
String response = Utils.performServerGet(requestSpec, responseSpec, url);
|
||||
return GSON.fromJson(response, new TypeToken<List<ExternalEventDTO>>() {}.getType());
|
||||
return GSON.fromJson(response, new TypeToken<List<ExternalEventResponse>>() {}.getType());
|
||||
}
|
||||
|
||||
// TODO: Rewrite to use fineract-client instead!
|
||||
@@ -122,9 +122,9 @@ public final class ExternalEventHelper {
|
||||
}
|
||||
|
||||
public void configureBusinessEvent(String eventName, boolean enabled) {
|
||||
CommandProcessingResult result = Calls
|
||||
.ok(FineractClientHelper.getFineractClient().externalEventConfigurationApi.updateExternalEventConfigurationsDetails(
|
||||
new ExternalEventConfigurationCommand().putExternalEventConfigurationsItem(eventName, enabled)));
|
||||
ExternalEventConfigurationUpdateResponse result = Calls
|
||||
.ok(FineractClientHelper.getFineractClient().externalEventConfigurationApi.updateExternalEventConfigurations("",
|
||||
new ExternalEventConfigurationUpdateRequest().externalEventConfigurations(Map.of(eventName, enabled))));
|
||||
Map<String, Object> changes = result.getChanges();
|
||||
Assertions.assertNotNull(changes);
|
||||
Assertions.assertInstanceOf(Map.class, changes);
|
||||
|
||||
+2
-2
@@ -24,7 +24,7 @@ import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.fineract.infrastructure.event.external.service.validation.ExternalEventDTO;
|
||||
import org.apache.fineract.infrastructure.event.external.data.ExternalEventResponse;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@@ -79,7 +79,7 @@ public class LoanAdjustTransactionBusinessEvent extends BusinessEvent {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean verify(ExternalEventDTO externalEvent, DateTimeFormatter formatter) {
|
||||
public boolean verify(ExternalEventResponse externalEvent, DateTimeFormatter formatter) {
|
||||
final Object transactionToAdjust = externalEvent.getPayLoad().get("transactionToAdjust");
|
||||
final Map<?, Object> transActionToAdjustMap = transactionToAdjust instanceof Map ? (Map<String, Object>) transactionToAdjust
|
||||
: Collections.emptyMap();
|
||||
|
||||
+2
-2
@@ -26,7 +26,7 @@ import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.fineract.infrastructure.event.external.service.validation.ExternalEventDTO;
|
||||
import org.apache.fineract.infrastructure.event.external.data.ExternalEventResponse;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@@ -54,7 +54,7 @@ public class LoanBusinessEvent extends BusinessEvent {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean verify(ExternalEventDTO externalEvent, DateTimeFormatter formatter) {
|
||||
public boolean verify(ExternalEventResponse externalEvent, DateTimeFormatter formatter) {
|
||||
Object summaryRes = externalEvent.getPayLoad().get("summary");
|
||||
Object statusRes = externalEvent.getPayLoad().get("status");
|
||||
Map<String, Object> summary = summaryRes instanceof Map ? (Map<String, Object>) summaryRes : Map.of();
|
||||
|
||||
+2
-2
@@ -22,7 +22,7 @@ import java.time.format.DateTimeFormatter;
|
||||
import java.util.Objects;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.apache.fineract.infrastructure.event.external.service.validation.ExternalEventDTO;
|
||||
import org.apache.fineract.infrastructure.event.external.data.ExternalEventResponse;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@@ -47,7 +47,7 @@ public class LoanTransactionBusinessEvent extends BusinessEvent {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean verify(ExternalEventDTO externalEvent, DateTimeFormatter formatter) {
|
||||
public boolean verify(ExternalEventResponse externalEvent, DateTimeFormatter formatter) {
|
||||
Object amount = externalEvent.getPayLoad().get("amount");
|
||||
Object outstandingLoanBalance = externalEvent.getPayLoad().get("outstandingLoanBalance");
|
||||
Object principalPortion = externalEvent.getPayLoad().get("principalPortion");
|
||||
|
||||
+2
-2
@@ -67,7 +67,7 @@ import org.apache.fineract.client.models.PostLoansLoanIdTransactionsRequest;
|
||||
import org.apache.fineract.client.models.PutGlobalConfigurationsRequest;
|
||||
import org.apache.fineract.client.util.CallFailedRuntimeException;
|
||||
import org.apache.fineract.infrastructure.configuration.api.GlobalConfigurationConstants;
|
||||
import org.apache.fineract.infrastructure.event.external.service.validation.ExternalEventDTO;
|
||||
import org.apache.fineract.infrastructure.event.external.data.ExternalEventResponse;
|
||||
import org.apache.fineract.integrationtests.BaseLoanIntegrationTest;
|
||||
import org.apache.fineract.integrationtests.common.BusinessDateHelper;
|
||||
import org.apache.fineract.integrationtests.common.BusinessStepHelper;
|
||||
@@ -227,7 +227,7 @@ public class InitiateExternalAssetOwnerTransferTest extends BaseLoanIntegrationT
|
||||
new BigDecimal("757.420000"), new BigDecimal("10.000000"), new BigDecimal("0.000000"),
|
||||
new BigDecimal("0.000000")));
|
||||
|
||||
List<ExternalEventDTO> allExternalEvents = ExternalEventHelper.getAllExternalEvents(REQUEST_SPEC, RESPONSE_SPEC);
|
||||
List<ExternalEventResponse> allExternalEvents = ExternalEventHelper.getAllExternalEvents(REQUEST_SPEC, RESPONSE_SPEC);
|
||||
Assertions.assertEquals(1, allExternalEvents.size());
|
||||
Assertions.assertEquals("LoanOwnershipTransferBusinessEvent", allExternalEvents.get(0).getType());
|
||||
Assertions.assertEquals(Long.valueOf(loanID), allExternalEvents.get(0).getAggregateRootId());
|
||||
|
||||
Reference in New Issue
Block a user