diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/DisbursalAndRepaymentScheduleTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/DisbursalAndRepaymentScheduleTest.java index f6fbf64e315..cbd15f2c7ce 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/DisbursalAndRepaymentScheduleTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/DisbursalAndRepaymentScheduleTest.java @@ -64,7 +64,7 @@ public class DisbursalAndRepaymentScheduleTest { private Integer loanRescheduleRequestId; private Integer clientId; private Integer groupId; - private Integer groupCalendarId; + private Long groupCalendarId; private Integer loanProductId; private Integer loanId; private final String loanPrincipalAmount = "100000.00"; @@ -157,14 +157,14 @@ public void testRescheduleJLGLoanSynk() { loanStatusHashMap = LoanStatusChecker.getStatusOfLoan(this.requestSpec, this.responseSpec, this.loanId); LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap); - CalendarHelper.updateMeetingCalendarForGroup(this.requestSpec, this.responseSpec, this.groupId, this.groupCalendarId.toString(), - groupMeetingNewStartDate, "2", "2", "2"); // New - // meeting - // dates - // will be - // the - // tuesday - // after the + CalendarHelper.updateMeetingCalendarForGroup(this.groupId.longValue(), this.groupCalendarId.toString(), groupMeetingNewStartDate, + "2", "2", "2"); // New + // meeting + // dates + // will be + // the + // tuesday + // after the // coming // monday @@ -284,16 +284,16 @@ public void testChangeGroupMeetingMaturedOnDate() { loanStatusHashMap = LoanStatusChecker.getStatusOfLoan(this.requestSpec, this.responseSpec, this.loanId); LoanStatusChecker.verifyLoanIsActive(loanStatusHashMap); - CalendarHelper.updateMeetingCalendarForGroup(this.requestSpec, this.responseSpec, this.groupId, this.groupCalendarId.toString(), - groupMeetingNewStartDate, "2", "2", "2"); // New - // meeting - // dates - // will be - // the - // tuesday - // after the - // coming - // monday + CalendarHelper.updateMeetingCalendarForGroup(this.groupId.longValue(), this.groupCalendarId.toString(), groupMeetingNewStartDate, + "2", "2", "2"); // New + // meeting + // dates + // will be + // the + // tuesday + // after the + // coming + // monday Calendar expectedMaturityCalendar = Calendar.getInstance(); expectedMaturityCalendar.setFirstDayOfWeek(Calendar.MONDAY); @@ -340,8 +340,8 @@ private void createGroupEntityWithCalendar(final String frequency, final String final String startDate = groupActivationDate; - this.setGroupCalendarId(CalendarHelper.createMeetingCalendarForGroup(this.requestSpec, this.responseSpec, this.groupId, startDate, - frequency, interval, repeatsOnDay)); + this.setGroupCalendarId(CalendarHelper + .createMeetingCalendarForGroup(this.groupId.longValue(), startDate, frequency, interval, repeatsOnDay).getResourceId()); } /** @@ -362,7 +362,7 @@ private void createLoanProductEntity() { this.loanProductId = this.loanTransactionHelper.getLoanProductId(loanProductJSON); } - public void setGroupCalendarId(Integer groupCalendarId) { + public void setGroupCalendarId(Long groupCalendarId) { this.groupCalendarId = groupCalendarId; } } diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanReschedulingWithinCenterTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanReschedulingWithinCenterTest.java index e3418fbba12..f4775953c16 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanReschedulingWithinCenterTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanReschedulingWithinCenterTest.java @@ -100,7 +100,7 @@ public void testCenterReschedulingLoansWithInterestRecalculationEnabled() { Assertions.assertTrue(center.getStaffId() == staffId); Assertions.assertTrue(center.isActive() == true); - Integer calendarId = createCalendarMeeting(centerId); + Long calendarId = createCalendarMeeting(centerId); Integer clientId = createClient(officeId); @@ -158,7 +158,7 @@ public void testCenterReschedulingLoansWithInterestRecalculationEnabled() { String oldMeetingDate = dateFormat.format(todaysdate.getTime()); todaysdate.add(Calendar.DAY_OF_MONTH, 1); final String centerMeetingNewStartDate = dateFormat.format(todaysdate.getTime()); - CalendarHelper.updateMeetingCalendarForCenter(this.requestSpec, this.responseSpec, centerId, calendarId.toString(), oldMeetingDate, + CalendarHelper.updateMeetingCalendarForCenter(centerId.longValue(), calendarId.toString(), oldMeetingDate, centerMeetingNewStartDate); ArrayList loanRepaymnetSchedule = this.loanTransactionHelper.getLoanRepaymentSchedule(requestSpec, generalResponseSpec, loanId); @@ -196,7 +196,7 @@ private Integer createClient(Integer officeId) { return clientId; } - private Integer createCalendarMeeting(Integer centerId) { + private Long createCalendarMeeting(Integer centerId) { DateFormat dateFormat = new SimpleDateFormat("dd MMMM yyyy", Locale.US); dateFormat.setTimeZone(Utils.getTimeZoneOfTenant()); Calendar today = Calendar.getInstance(Utils.getTimeZoneOfTenant()); @@ -209,8 +209,8 @@ private Integer createCalendarMeeting(Integer centerId) { repeatsOnDay = 7; } - Integer calendarId = CalendarHelper.createMeetingForGroup(this.requestSpec, this.responseSpec, centerId, startDate, frequency, - interval, repeatsOnDay.toString()); + Long calendarId = CalendarHelper + .createMeetingForGroup(centerId.longValue(), startDate, frequency, interval, repeatsOnDay.toString()).getResourceId(); LOG.info("calendarId {}", calendarId); return calendarId; } @@ -233,7 +233,7 @@ public void testCenterReschedulingMultiTrancheLoansWithInterestRecalculationEnab Assertions.assertTrue(center.getStaffId() == staffId); Assertions.assertTrue(center.isActive() == true); - Integer calendarId = createCalendarMeeting(centerId); + Long calendarId = createCalendarMeeting(centerId); Integer clientId = createClient(officeId); @@ -308,7 +308,7 @@ public void testCenterReschedulingMultiTrancheLoansWithInterestRecalculationEnab String oldMeetingDate = dateFormat.format(todaysdate.getTime()); todaysdate.add(Calendar.DAY_OF_MONTH, 1); final String centerMeetingNewStartDate = dateFormat.format(todaysdate.getTime()); - CalendarHelper.updateMeetingCalendarForCenter(this.requestSpec, this.responseSpec, centerId, calendarId.toString(), oldMeetingDate, + CalendarHelper.updateMeetingCalendarForCenter(centerId.longValue(), calendarId.toString(), oldMeetingDate, centerMeetingNewStartDate); ArrayList loanRepaymnetSchedule = this.loanTransactionHelper.getLoanRepaymentSchedule(requestSpec, generalResponseSpec, loanID); @@ -378,7 +378,7 @@ private Integer createLoanProductWithInterestRecalculation(final String repaymen } @SuppressWarnings("rawtypes") - private Integer applyForLoanApplicationForInterestRecalculation(final Integer clientID, Integer groupId, Integer calendarId, + private Integer applyForLoanApplicationForInterestRecalculation(final Integer clientID, Integer groupId, Long calendarId, final Integer loanProductID, final String disbursementDate, final String restStartDate, final String repaymentStrategy, final List charges, List tranches, List collaterals) { final String graceOnInterestPayment = null; @@ -390,7 +390,7 @@ private Integer applyForLoanApplicationForInterestRecalculation(final Integer cl } @SuppressWarnings({ "rawtypes", "unused" }) - private Integer applyForLoanApplicationForInterestRecalculation(final Integer clientID, Integer groupId, Integer calendarId, + private Integer applyForLoanApplicationForInterestRecalculation(final Integer clientID, Integer groupId, Long calendarId, final Integer loanProductID, final String disbursementDate, final String restStartDate, final String compoundingStartDate, final String repaymentStrategy, final List charges, final String graceOnInterestPayment, final String graceOnPrincipalPayment, List tranches, List collaterals) { diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/MinimumDaysBetweenDisbursalAndFirstRepaymentTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/MinimumDaysBetweenDisbursalAndFirstRepaymentTest.java index ba0b2702bdf..f22ac0f3a96 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/MinimumDaysBetweenDisbursalAndFirstRepaymentTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/MinimumDaysBetweenDisbursalAndFirstRepaymentTest.java @@ -59,7 +59,7 @@ public class MinimumDaysBetweenDisbursalAndFirstRepaymentTest { private LoanTransactionHelper loanTransactionHelper; private Integer clientId; private Integer groupId; - private Integer groupCalendarId; + private Long groupCalendarId; private Integer loanProductId; private Integer loanId; private final String loanPrincipalAmount = "100000.00"; @@ -219,8 +219,8 @@ private void createGroupEntityWithCalendar() { final String interval = "1"; // Every one week final String repeatsOnDay = "1"; // 1:Monday - this.setGroupCalendarId(CalendarHelper.createMeetingCalendarForGroup(this.requestSpec, this.responseSpec, this.groupId, startDate, - frequency, interval, repeatsOnDay)); + this.setGroupCalendarId(CalendarHelper + .createMeetingCalendarForGroup(this.groupId.longValue(), startDate, frequency, interval, repeatsOnDay).getResourceId()); } /** @@ -242,11 +242,11 @@ private void createLoanProductEntity(final String minimumDaysBetweenDisbursalAnd this.loanProductId = this.loanTransactionHelper.getLoanProductId(loanProductJSON); } - public Integer getGroupCalendarId() { + public Long getGroupCalendarId() { return groupCalendarId; } - public void setGroupCalendarId(Integer groupCalendarId) { + public void setGroupCalendarId(Long groupCalendarId) { this.groupCalendarId = groupCalendarId; } } diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/PasswordPreferencesIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/PasswordPreferencesIntegrationTest.java index e93c812390c..63af2198326 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/PasswordPreferencesIntegrationTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/PasswordPreferencesIntegrationTest.java @@ -19,15 +19,10 @@ package org.apache.fineract.integrationtests; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; -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.util.HashMap; -import java.util.List; -import org.apache.fineract.integrationtests.common.CommonConstants; +import org.apache.fineract.client.feign.util.CallFailedRuntimeException; import org.apache.fineract.integrationtests.common.PasswordPreferencesHelper; import org.apache.fineract.integrationtests.common.Utils; import org.junit.jupiter.api.AfterEach; @@ -36,51 +31,35 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@SuppressWarnings({ "rawtypes", "unchecked" }) public class PasswordPreferencesIntegrationTest { private static final Logger LOG = LoggerFactory.getLogger(PasswordPreferencesIntegrationTest.class); - private ResponseSpecification responseSpec; - private RequestSpecification requestSpec; - private ResponseSpecification generalResponseSpec; private int originalPasswordPolicyId; @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(); - this.generalResponseSpec = new ResponseSpecBuilder().build(); - originalPasswordPolicyId = PasswordPreferencesHelper.getActivePasswordPreference(requestSpec, responseSpec); + originalPasswordPolicyId = PasswordPreferencesHelper.getActivePasswordPreference().getId().intValue(); } @AfterEach void tearDown() { - PasswordPreferencesHelper.updatePasswordPreferences(requestSpec, responseSpec, Integer.toString(originalPasswordPolicyId)); + PasswordPreferencesHelper.updatePasswordPreferences(Integer.toString(originalPasswordPolicyId)); } @Test public void updatePasswordPreferences() { String validationPolicyId = "2"; - PasswordPreferencesHelper.updatePasswordPreferences(requestSpec, responseSpec, validationPolicyId); - this.validateIfThePasswordIsUpdated(validationPolicyId); - } - - private void validateIfThePasswordIsUpdated(String validationPolicyId) { - Integer id = PasswordPreferencesHelper.getActivePasswordPreference(requestSpec, responseSpec); + PasswordPreferencesHelper.updatePasswordPreferences(validationPolicyId); + Integer id = PasswordPreferencesHelper.getActivePasswordPreference().getId().intValue(); assertEquals(validationPolicyId, id.toString()); LOG.info("---------------------------------PASSWORD PREFERENCE VALIDATED SUCCESSFULLY-----------------------------------------"); - } @Test public void updateWithInvalidPolicyId() { - String invalidValidationPolicyId = "2000"; - final List error = (List) PasswordPreferencesHelper.updateWithInvalidValidationPolicyId(requestSpec, generalResponseSpec, - invalidValidationPolicyId, CommonConstants.RESPONSE_ERROR); - assertEquals("error.msg.password.validation.policy.id.invalid", error.get(0).get("userMessageGlobalisationCode"), - "Password Validation Policy with identifier 2000 does not exist"); + final CallFailedRuntimeException exception = assertThrows(CallFailedRuntimeException.class, + () -> PasswordPreferencesHelper.updatePasswordPreferences("2000")); + assertTrue(exception.getDeveloperMessage().contains("Password Validation Policy with identifier 2000 does not exist")); } - } diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/SkipRepaymentOnMonthFirstTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SkipRepaymentOnMonthFirstTest.java index 266ad381fd8..3da9053ab14 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/SkipRepaymentOnMonthFirstTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SkipRepaymentOnMonthFirstTest.java @@ -96,7 +96,7 @@ public void checkRepaymentSkipOnFirstDayOfMonth() { final String startDate = "15 September 2011"; final String frequency = "3"; // Monthly final String interval = "1"; // Every One Moth - Integer calendarID = CalendarHelper.createMeetingForGroup(requestSpec, responseSpec, groupID, startDate, frequency, interval, null); + Long calendarID = CalendarHelper.createMeetingForGroup(groupID.longValue(), startDate, frequency, interval, null).getResourceId(); LOG.info("caladerId -------------------- {}", calendarID); final Integer loanProductID = createLoanProduct(); final Integer loanID = applyForLoanApplication(groupID, loanProductID, calendarID, clientID); @@ -122,7 +122,7 @@ private Integer createLoanProduct() { return this.loanTransactionHelper.getLoanProductId(loanProductJSON); } - private Integer applyForLoanApplication(final Integer groupID, final Integer loanProductID, Integer calendarID, Integer clientID) { + private Integer applyForLoanApplication(final Integer groupID, final Integer loanProductID, Long calendarID, Integer clientID) { LOG.info("--------------------------------APPLYING FOR LOAN APPLICATION--------------------------------"); List collaterals = new ArrayList<>(); final Integer collateralId = CollateralManagementHelper.createCollateralProduct(this.requestSpec, this.responseSpec); diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CalendarHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CalendarHelper.java index 6848caedd67..f130f8b98d0 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CalendarHelper.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CalendarHelper.java @@ -18,147 +18,72 @@ */ package org.apache.fineract.integrationtests.common; +import static org.apache.fineract.client.feign.util.FeignCalls.ok; import static org.junit.jupiter.api.Assertions.assertEquals; -import com.google.gson.Gson; -import io.restassured.path.json.JsonPath; -import io.restassured.specification.RequestSpecification; -import io.restassured.specification.ResponseSpecification; -import java.util.HashMap; +import org.apache.fineract.client.models.CalendarRequest; +import org.apache.fineract.client.models.CommandProcessingResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public final class CalendarHelper { private static final Logger LOG = LoggerFactory.getLogger(CalendarHelper.class); - private static final String BASE_URL = "/fineract-provider/api/v1/"; - private static final String PARENT_ENTITY_NAME = "groups/"; - private static final String ENITY_NAME = "/calendars"; - private static final String CENTER_ENTITY = "centers/"; - private static final String EDIT_CALENDAR = "editcalendarbasedonmeetingdates/"; - private CalendarHelper() { - - } - - // 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 Integer createMeetingCalendarForGroup(final RequestSpecification requestSpec, final ResponseSpecification responseSpec, - final Integer groupId, final String startDate, final String frequency, final String interval, final String repeatsOnDay) { + private CalendarHelper() {} + public static CommandProcessingResult createMeetingCalendarForGroup(final Long groupId, final String startDate, final String frequency, + final String interval, final String repeatsOnDay) { LOG.info("---------------------------------CREATING A MEETING CALENDAR FOR THE GROUP------------------------------"); - - final String CALENDAR_RESOURCE_URL = BASE_URL + PARENT_ENTITY_NAME + groupId + ENITY_NAME + "?" + Utils.TENANT_IDENTIFIER; - - LOG.info("{}", CALENDAR_RESOURCE_URL); - - return Utils.performServerPost(requestSpec, responseSpec, CALENDAR_RESOURCE_URL, - getTestCalendarAsJSON(frequency, interval, repeatsOnDay, startDate), "resourceId"); + return ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar().createCalendar("groups", groupId, + buildCalendarRequest(frequency, interval, repeatsOnDay, startDate))); } - // 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 Integer updateMeetingCalendarForGroup(final RequestSpecification requestSpec, final ResponseSpecification responseSpec, - final Integer groupId, String calendarID, final String startDate, final String frequency, final String interval, - final String repeatsOnDay) { - + public static CommandProcessingResult updateMeetingCalendarForGroup(final Long groupId, final String calendarID, final String startDate, + final String frequency, final String interval, final String repeatsOnDay) { LOG.info("---------------------------------UPDATING A MEETING CALENDAR FOR THE GROUP------------------------------"); + return ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar().updateCalendar("groups", groupId, + Long.parseLong(calendarID), buildCalendarJson(frequency, interval, repeatsOnDay, startDate))); + } - final String CALENDAR_RESOURCE_URL = BASE_URL + PARENT_ENTITY_NAME + groupId + ENITY_NAME + "/" + calendarID; - - LOG.info("{}", CALENDAR_RESOURCE_URL); - // TODO: check that resource id indeed exists in calendar update put. - return Utils.performServerPut(requestSpec, responseSpec, CALENDAR_RESOURCE_URL, - getTestCalendarAsJSON(frequency, interval, repeatsOnDay, startDate), "resourceId"); + public static CommandProcessingResult createMeetingForGroup(final Long groupId, final String startDate, final String frequency, + final String interval, final String repeatsOnDay) { + LOG.info("---------------------------------CREATING A MEETING CALENDAR FOR THE GROUP------------------------------"); + return ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar().createCalendar("centers", groupId, + buildCalendarRequest(frequency, interval, repeatsOnDay, startDate))); } - // 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 getTestCalendarAsJSON(final String frequency, final String interval, final String repeatsOnDay, + public static CommandProcessingResult updateMeetingCalendarForCenter(final Long centerId, final String calendarID, final String oldDate, final String startDate) { - - final HashMap map = new HashMap<>(); - map.put("dateFormat", "dd MMMM yyyy"); - map.put("locale", "en"); - map.put("frequency", frequency); - map.put("interval", interval); - map.put("repeating", "true"); - map.put("repeatsOnDay", repeatsOnDay); - map.put("title", Utils.randomStringGenerator("groups_CollectionMeeting", 4)); - map.put("typeId", "1"); - map.put("startDate", startDate); - LOG.info("map : {}", map); - return new Gson().toJson(map); + LOG.info("---------------------------------UPDATING A MEETING CALENDAR FOR THE CENTER------------------------------"); + return ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar().updateCalendar("centers", centerId, + Long.parseLong(calendarID), buildRescheduleMeetingJson(oldDate, startDate))); } - // 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 void verifyCalendarCreatedOnServer(final RequestSpecification requestSpec, final ResponseSpecification responseSpec, - final Integer generatedGroupId, final Integer generatedCalendarId) { + public static void verifyCalendarCreatedOnServer(final Long generatedGroupId, final Long generatedCalendarId) { LOG.info("------------------------------CHECK CALENDAR DETAILS------------------------------------\n"); - final String CLIENT_URL = "/fineract-provider/api/v1/groups/" + generatedGroupId + "?associations=all&" + Utils.TENANT_IDENTIFIER; - final String responseCalendarDetailsinJSON = Utils.performServerGet(requestSpec, responseSpec, CLIENT_URL, - "collectionMeetingCalendar"); - final Integer responseCalendarId = JsonPath.from(responseCalendarDetailsinJSON).get("id"); - assertEquals(generatedCalendarId, responseCalendarId, "ERROR IN CREATING THE CALENDAR"); + final Long id = ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar().retrieveCalendar(generatedCalendarId, + "groups", generatedGroupId)).getId(); + assertEquals(generatedCalendarId, id, "ERROR IN CREATING THE CALENDAR"); } - // 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 Integer createMeetingForGroup(final RequestSpecification requestSpec, final ResponseSpecification responseSpec, - final Integer groupId, final String startDate, final String frequency, final String interval, final String repeatsOnDay) { - - LOG.info("---------------------------------CREATING A MEETING CALENDAR FOR THE GROUP------------------------------"); - - final String CALENDAR_RESOURCE_URL = BASE_URL + CENTER_ENTITY + groupId + ENITY_NAME + "?" + Utils.TENANT_IDENTIFIER; - - LOG.info("{}", CALENDAR_RESOURCE_URL); - - return Utils.performServerPost(requestSpec, responseSpec, CALENDAR_RESOURCE_URL, - getTestCalendarAsJSON(frequency, interval, repeatsOnDay, startDate), "resourceId"); + private static CalendarRequest buildCalendarRequest(final String frequency, final String interval, final String repeatsOnDay, + final String startDate) { + return new CalendarRequest().dateFormat("dd MMMM yyyy").locale("en").frequency(frequency).interval(interval).repeating("true") + .repeatsOnDay(repeatsOnDay).title(Utils.randomStringGenerator("groups_CollectionMeeting", 4)).typeId("1") + .startDate(startDate); } - // 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 Integer updateMeetingCalendarForCenter(final RequestSpecification requestSpec, final ResponseSpecification responseSpec, - Integer centerId, String calendarID, String oldDate, String startDate) { - - LOG.info("---------------------------------UPADATING A MEETING CALENDAR FOR THE CENTER------------------------------"); - - final String CALENDAR_RESOURCE_URL = BASE_URL + CENTER_ENTITY + centerId + ENITY_NAME + "/" + calendarID + "?" - + Utils.TENANT_IDENTIFIER; - - LOG.info("{}", CALENDAR_RESOURCE_URL); - - return Utils.performServerPut(requestSpec, responseSpec, CALENDAR_RESOURCE_URL, getTestCalendarMeetingAsJSON(oldDate, startDate), - "resourceId"); - + private static String buildCalendarJson(final String frequency, final String interval, final String repeatsOnDay, + final String startDate) { + return String.format( + "{\"dateFormat\":\"dd MMMM yyyy\",\"locale\":\"en\",\"frequency\":\"%s\",\"interval\":\"%s\"," + + "\"repeating\":\"true\",\"repeatsOnDay\":\"%s\",\"title\":\"%s\",\"typeId\":\"1\",\"startDate\":\"%s\"}", + frequency, interval, repeatsOnDay, Utils.randomStringGenerator("groups_CollectionMeeting", 4), startDate); } - // 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) - private static String getTestCalendarMeetingAsJSON(String oldDate, String startDate) { - final HashMap map = new HashMap<>(); - map.put("dateFormat", "dd MMMM yyyy"); - map.put("locale", "en"); - map.put("newMeetingDate", startDate); - map.put("presentMeetingDate", oldDate); - map.put("reschedulebasedOnMeetingDates", "true"); - LOG.info("map : {}", map); - return new Gson().toJson(map); + private static String buildRescheduleMeetingJson(final String oldDate, final String startDate) { + return String.format("{\"dateFormat\":\"dd MMMM yyyy\",\"locale\":\"en\",\"newMeetingDate\":\"%s\"," + + "\"presentMeetingDate\":\"%s\",\"reschedulebasedOnMeetingDates\":\"true\"}", startDate, oldDate); } } diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/PasswordPreferencesHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/PasswordPreferencesHelper.java index 67590de137b..02d8de6d5c5 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/PasswordPreferencesHelper.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/PasswordPreferencesHelper.java @@ -18,85 +18,27 @@ */ package org.apache.fineract.integrationtests.common; -import com.google.gson.Gson; -import io.restassured.specification.RequestSpecification; -import io.restassured.specification.ResponseSpecification; -import java.util.HashMap; +import static org.apache.fineract.client.feign.util.FeignCalls.executeVoid; +import static org.apache.fineract.client.feign.util.FeignCalls.ok; -public final class PasswordPreferencesHelper { - - private PasswordPreferencesHelper() { - - } - - private static final String PASSWORD_PREFERENCES_URL = "/fineract-provider/api/v1/passwordpreferences"; - - // 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 updatePasswordPreferences(final RequestSpecification requestSpec, final ResponseSpecification responseSpec, - String validationPolicyId) { - final String UPDATE_PASSWORD_PREFERENCES_URL = PASSWORD_PREFERENCES_URL + "?" + Utils.TENANT_IDENTIFIER; - // system.out.println("---------------------------------UPDATE PASSWORD - // PREFERENCE---------------------------------------------"); - return Utils.performServerPut(requestSpec, responseSpec, UPDATE_PASSWORD_PREFERENCES_URL, - updatePreferencesAsJson(validationPolicyId), ""); - } +import java.util.List; +import org.apache.fineract.client.models.GetPasswordPreferencesTemplateResponse; +import org.apache.fineract.client.models.PutPasswordPreferencesTemplateRequest; - // 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 updateWithInvalidValidationPolicyId(final RequestSpecification requestSpec, - final ResponseSpecification responseSpec, String invalidValidationPolicyId, String jsonAttributeToGetback) { - final String UPDATE_PASSWORD_PREFERENCES_URL = PASSWORD_PREFERENCES_URL + "?" + Utils.TENANT_IDENTIFIER; - // system.out - // .println("---------------------------------UPDATE PASSWORD - // PREFERENCES WITH INVALID - // ID-----------------------------------------"); - return Utils.performServerPut(requestSpec, responseSpec, UPDATE_PASSWORD_PREFERENCES_URL, - updatePreferencesWithInvalidId(invalidValidationPolicyId), jsonAttributeToGetback); - } +public final class PasswordPreferencesHelper { - // 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 updatePreferencesAsJson(String validationPolicyId) { - final HashMap map = new HashMap<>(); - map.put("validationPolicyId", validationPolicyId); - return new Gson().toJson(map); - } + private PasswordPreferencesHelper() {} - // 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 updatePreferencesWithInvalidId(String invalidValidationPolicyId) { - final HashMap map = new HashMap<>(); - map.put("validationPolicyId", invalidValidationPolicyId); - return new Gson().toJson(map); + public static void updatePasswordPreferences(String validationPolicyId) { + executeVoid(() -> FineractFeignClientHelper.getFineractFeignClient().passwordPreferences() + .update7(new PutPasswordPreferencesTemplateRequest().validationPolicyId(Long.parseLong(validationPolicyId)))); } - // 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 int getActivePasswordPreference(final RequestSpecification requestSpec, final ResponseSpecification responseSpec) { - return Utils.performServerGet(requestSpec, responseSpec, PASSWORD_PREFERENCES_URL + "?" + Utils.TENANT_IDENTIFIER, "id"); + public static GetPasswordPreferencesTemplateResponse getActivePasswordPreference() { + return ok(() -> FineractFeignClientHelper.getFineractFeignClient().passwordPreferences().retrieve2()); } - // 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 HashMap getAllPreferences(final RequestSpecification requestSpec, - final ResponseSpecification responseSpec) { - - return Utils.performServerGet(requestSpec, responseSpec, PASSWORD_PREFERENCES_URL + "/template" + "?" + Utils.TENANT_IDENTIFIER, - ""); - + public static List getAllPreferences() { + return ok(() -> FineractFeignClientHelper.getFineractFeignClient().passwordPreferences().template4()); } - }