You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@fineract.apache.org by "elnafateh (via GitHub)" <gi...@apache.org> on 2026/06/16 13:40:49 UTC

[PR] FINERACT-2165: Migrate password and calendar helpers [fineract]

elnafateh opened a new pull request, #5993:
URL: https://github.com/apache/fineract/pull/5993

   ## Description
   
   Describe the changes made and why they were made. (Ignore if these details are present on the associated Apache Fineract JIRA ticket.)
   
   ## Checklist
   
   Please make sure these boxes are checked before submitting your pull request - thanks!
   
   - [x] Write the commit message as per [our guidelines](https://github.com/apache/fineract/blob/develop/CONTRIBUTING.md#pull-requests)
   - [x] Acknowledge that we will not review PRs that are not passing the build _("green")_ - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.
   - [x] Create/update [unit or integration tests](https://fineract.apache.org/docs/current/#_testing) for verifying the changes made.
   - [x] Follow our [coding conventions](https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions).
   - [x] Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes
   - [x] [This PR must not be a "code dump"](https://cwiki.apache.org/confluence/display/FINERACT/Pull+Request+Size+Limit). Large changes can be made in a branch, with assistance. Ask for help on the [developer mailing list](https://fineract.apache.org/#contribute).
   
   Your assigned reviewer(s) will follow our [guidelines for code reviews](https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2165: Migrate password and calendar helpers [fineract]

Posted by "adamsaghy (via GitHub)" <gi...@apache.org>.
adamsaghy commented on code in PR #5993:
URL: https://github.com/apache/fineract/pull/5993#discussion_r3435658118


##########
integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CalendarHelper.java:
##########
@@ -18,147 +18,77 @@
  */
 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 Integer createMeetingCalendarForGroup(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 + 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");
+        final CommandProcessingResult result = ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar()
+                .createCalendar("groups", groupId.longValue(), buildCalendarRequest(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();

Review Comment:
   Return the full response, not just the id.



##########
integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CalendarHelper.java:
##########
@@ -18,147 +18,77 @@
  */
 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 Integer createMeetingCalendarForGroup(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 + 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");
+        final CommandProcessingResult result = ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar()
+                .createCalendar("groups", groupId.longValue(), buildCalendarRequest(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();
     }
 
-    // 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 Integer updateMeetingCalendarForGroup(final Integer 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------------------------------");
+        final CommandProcessingResult result = ok(
+                () -> FineractFeignClientHelper.getFineractFeignClient().calendar().updateCalendar("groups", groupId.longValue(),
+                        Long.parseLong(calendarID), buildCalendarJson(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();

Review Comment:
   Return the full response, not just the id.



##########
integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CalendarHelper.java:
##########
@@ -18,147 +18,77 @@
  */
 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 Integer createMeetingCalendarForGroup(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 + 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");
+        final CommandProcessingResult result = ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar()
+                .createCalendar("groups", groupId.longValue(), buildCalendarRequest(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();
     }
 
-    // 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 Integer updateMeetingCalendarForGroup(final Integer 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------------------------------");
+        final CommandProcessingResult result = ok(
+                () -> FineractFeignClientHelper.getFineractFeignClient().calendar().updateCalendar("groups", groupId.longValue(),
+                        Long.parseLong(calendarID), buildCalendarJson(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();
+    }
 
-        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 Integer createMeetingForGroup(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 CommandProcessingResult result = ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar()
+                .createCalendar("centers", groupId.longValue(), buildCalendarRequest(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();

Review Comment:
   Return the full response, not just the id.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2165: Migrate password and calendar helpers [fineract]

Posted by "oleksii-novikov-onix (via GitHub)" <gi...@apache.org>.
oleksii-novikov-onix commented on code in PR #5993:
URL: https://github.com/apache/fineract/pull/5993#discussion_r3426552738


##########
integration-tests/src/test/java/org/apache/fineract/integrationtests/common/PasswordPreferencesHelper.java:
##########
@@ -18,85 +18,29 @@
  */
 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.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<String, Object> 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<String, Object> map = new HashMap<>();
-        map.put("validationPolicyId", invalidValidationPolicyId);
-        return new Gson().toJson(map);
+    public static void updatePasswordPreferences(String validationPolicyId) {
+        ok(() -> {
+            FineractFeignClientHelper.getFineractFeignClient().passwordPreferences()
+                    .update7(new PutPasswordPreferencesTemplateRequest().validationPolicyId(Long.parseLong(validationPolicyId)));
+            return null;

Review Comment:
   Instead of returning null, you can use FeignCalls.executeVoid()



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2165: Migrate password and calendar helpers [fineract]

Posted by "elnafateh (via GitHub)" <gi...@apache.org>.
elnafateh commented on PR #5993:
URL: https://github.com/apache/fineract/pull/5993#issuecomment-4744332224

   All concerns are resolved


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2165: Migrate password and calendar helpers [fineract]

Posted by "oleksii-novikov-onix (via GitHub)" <gi...@apache.org>.
oleksii-novikov-onix commented on code in PR #5993:
URL: https://github.com/apache/fineract/pull/5993#discussion_r3426577392


##########
integration-tests/src/test/java/org/apache/fineract/integrationtests/PasswordPreferencesIntegrationTest.java:
##########
@@ -36,51 +30,34 @@
 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<HashMap> error = (List) PasswordPreferencesHelper.updateWithInvalidValidationPolicyId(requestSpec, generalResponseSpec,
-                invalidValidationPolicyId, CommonConstants.RESPONSE_ERROR);
-        assertEquals("error.msg.password.validation.policy.id.invalid", error.get(0).get("userMessageGlobalisationCode"),
+        assertThrows(CallFailedRuntimeException.class, () -> PasswordPreferencesHelper.updatePasswordPreferences("2000"),
                 "Password Validation Policy with identifier 2000 does not exist");

Review Comment:
   The test has lost the verification for error.msg.password.validation.policy.id.invalid. It will now pass for any error.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2165: Migrate password and calendar helpers [fineract]

Posted by "adamsaghy (via GitHub)" <gi...@apache.org>.
adamsaghy commented on code in PR #5993:
URL: https://github.com/apache/fineract/pull/5993#discussion_r3435658118


##########
integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CalendarHelper.java:
##########
@@ -18,147 +18,77 @@
  */
 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 Integer createMeetingCalendarForGroup(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 + 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");
+        final CommandProcessingResult result = ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar()
+                .createCalendar("groups", groupId.longValue(), buildCalendarRequest(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();

Review Comment:
   Return the full response, not just the id.
   
   Also please dont work with `Long.intValue()` -> remove them.



##########
integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CalendarHelper.java:
##########
@@ -18,147 +18,77 @@
  */
 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 Integer createMeetingCalendarForGroup(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 + 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");
+        final CommandProcessingResult result = ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar()
+                .createCalendar("groups", groupId.longValue(), buildCalendarRequest(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();
     }
 
-    // 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 Integer updateMeetingCalendarForGroup(final Integer 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------------------------------");
+        final CommandProcessingResult result = ok(
+                () -> FineractFeignClientHelper.getFineractFeignClient().calendar().updateCalendar("groups", groupId.longValue(),
+                        Long.parseLong(calendarID), buildCalendarJson(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();

Review Comment:
   Return the full response, not just the id.
   
   Also please dont work with `Long.intValue()` -> remove them.



##########
integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CalendarHelper.java:
##########
@@ -18,147 +18,77 @@
  */
 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 Integer createMeetingCalendarForGroup(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 + 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");
+        final CommandProcessingResult result = ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar()
+                .createCalendar("groups", groupId.longValue(), buildCalendarRequest(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();
     }
 
-    // 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 Integer updateMeetingCalendarForGroup(final Integer 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------------------------------");
+        final CommandProcessingResult result = ok(
+                () -> FineractFeignClientHelper.getFineractFeignClient().calendar().updateCalendar("groups", groupId.longValue(),
+                        Long.parseLong(calendarID), buildCalendarJson(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();
+    }
 
-        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 Integer createMeetingForGroup(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 CommandProcessingResult result = ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar()
+                .createCalendar("centers", groupId.longValue(), buildCalendarRequest(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();

Review Comment:
   Return the full response, not just the id.
   
   Also please dont work with `Long.intValue()` -> remove them.



##########
integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CalendarHelper.java:
##########
@@ -18,147 +18,77 @@
  */
 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 Integer createMeetingCalendarForGroup(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 + 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");
+        final CommandProcessingResult result = ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar()
+                .createCalendar("groups", groupId.longValue(), buildCalendarRequest(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();
     }
 
-    // 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 Integer updateMeetingCalendarForGroup(final Integer 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------------------------------");
+        final CommandProcessingResult result = ok(
+                () -> FineractFeignClientHelper.getFineractFeignClient().calendar().updateCalendar("groups", groupId.longValue(),
+                        Long.parseLong(calendarID), buildCalendarJson(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();
+    }
 
-        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 Integer createMeetingForGroup(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 CommandProcessingResult result = ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar()
+                .createCalendar("centers", groupId.longValue(), buildCalendarRequest(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();
     }
 
-    // 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 Integer updateMeetingCalendarForCenter(final Integer centerId, final String calendarID, final String oldDate,
             final String startDate) {
-
-        final HashMap<String, String> 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------------------------------");
+        final CommandProcessingResult result = ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar().updateCalendar(
+                "centers", centerId.longValue(), Long.parseLong(calendarID), buildRescheduleMeetingJson(oldDate, startDate)));
+        return result.getResourceId().intValue();

Review Comment:
   Return the full response, not just the id.
   
   Also please dont work with `Long.intValue()` -> remove them.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2165: Migrate password and calendar helpers [fineract]

Posted by "adamsaghy (via GitHub)" <gi...@apache.org>.
adamsaghy merged PR #5993:
URL: https://github.com/apache/fineract/pull/5993


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2165: Migrate password and calendar helpers [fineract]

Posted by "adamsaghy (via GitHub)" <gi...@apache.org>.
adamsaghy commented on code in PR #5993:
URL: https://github.com/apache/fineract/pull/5993#discussion_r3435665863


##########
integration-tests/src/test/java/org/apache/fineract/integrationtests/PasswordPreferencesIntegrationTest.java:
##########
@@ -36,51 +30,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();

Review Comment:
   please dont work with `Long.intValue()` -> remove them.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] FINERACT-2165: Migrate password and calendar helpers [fineract]

Posted by "adamsaghy (via GitHub)" <gi...@apache.org>.
adamsaghy commented on code in PR #5993:
URL: https://github.com/apache/fineract/pull/5993#discussion_r3435659815


##########
integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CalendarHelper.java:
##########
@@ -18,147 +18,77 @@
  */
 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 Integer createMeetingCalendarForGroup(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 + 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");
+        final CommandProcessingResult result = ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar()
+                .createCalendar("groups", groupId.longValue(), buildCalendarRequest(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();
     }
 
-    // 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 Integer updateMeetingCalendarForGroup(final Integer 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------------------------------");
+        final CommandProcessingResult result = ok(
+                () -> FineractFeignClientHelper.getFineractFeignClient().calendar().updateCalendar("groups", groupId.longValue(),
+                        Long.parseLong(calendarID), buildCalendarJson(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();
+    }
 
-        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 Integer createMeetingForGroup(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 CommandProcessingResult result = ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar()
+                .createCalendar("centers", groupId.longValue(), buildCalendarRequest(frequency, interval, repeatsOnDay, startDate)));
+        return result.getResourceId().intValue();
     }
 
-    // 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 Integer updateMeetingCalendarForCenter(final Integer centerId, final String calendarID, final String oldDate,
             final String startDate) {
-
-        final HashMap<String, String> 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------------------------------");
+        final CommandProcessingResult result = ok(() -> FineractFeignClientHelper.getFineractFeignClient().calendar().updateCalendar(
+                "centers", centerId.longValue(), Long.parseLong(calendarID), buildRescheduleMeetingJson(oldDate, startDate)));
+        return result.getResourceId().intValue();

Review Comment:
   Return the full response, not just the id.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@fineract.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org