FINERACT-2081: Integration test clean up - Remove Google truth dependency and Extract Fineract client out from IntegrationTest class

This commit is contained in:
Adam Saghy
2025-01-31 15:00:45 +01:00
parent de462082de
commit 894b6cbf6f
53 changed files with 561 additions and 514 deletions
-4
View File
@@ -675,8 +675,6 @@ configure(project.fineractJavaProjects) {
'org.bouncycastle:bcpkix-jdk15to18',
'org.bouncycastle:bcprov-jdk15to18',
'org.awaitility:awaitility',
'com.google.truth:truth',
'com.google.truth.extensions:truth-java8-extension'
)
testCompileOnly 'org.projectlombok:lombok'
@@ -791,8 +789,6 @@ configure(project.fineractCustomProjects) {
'org.bouncycastle:bcpkix-jdk15to18',
'org.bouncycastle:bcprov-jdk15to18',
'org.awaitility:awaitility',
'com.google.truth:truth',
'com.google.truth.extensions:truth-java8-extension',
'io.github.classgraph:classgraph',
'io.cucumber:cucumber-core',
'io.cucumber:cucumber-java:7.20.1',
@@ -54,8 +54,6 @@ dependencyManagement {
dependency 'org.eclipse.persistence:org.eclipse.persistence.jpa:4.0.2'
dependency 'com.google.guava:guava:32.0.0-jre'
dependency 'com.google.code.gson:gson:2.11.0'
dependency 'com.google.truth:truth:1.4.4'
dependency 'com.google.truth.extensions:truth-java8-extension:1.4.4'
dependency 'com.google.googlejavaformat:google-java-format:1.24.0'
dependency 'org.apache.commons:commons-collections4:4.4'
dependency ('software.amazon.msk:aws-msk-iam-auth:2.2.0') {
+2
View File
@@ -40,4 +40,6 @@ dependencies {
exclude group: 'org.apache.oltu.oauth2', module: 'org.apache.oltu.oauth2.common'
exclude group: 'org.slf4j'
}
testImplementation 'org.assertj:assertj-core'
}
@@ -18,8 +18,8 @@
*/
package org.apache.fineract.client.util;
import com.google.common.truth.Truth;
import com.google.common.truth.Truth8;
import static org.assertj.core.api.Assertions.assertThat;
import okhttp3.Headers;
import okhttp3.MediaType;
import org.junit.jupiter.api.Test;
@@ -29,32 +29,32 @@ public class PartsTest {
@Test
void validMediaType() {
Truth.assertThat(Parts.mediaType("test.jpg")).isEqualTo(MediaType.get("image/jpeg"));
assertThat(Parts.mediaType("test.jpg")).isEqualTo(MediaType.get("image/jpeg"));
}
@Test
void dotMediaType() {
Truth.assertThat(Parts.mediaType("test.")).isNull();
assertThat(Parts.mediaType("test.")).isNull();
}
@Test
void emptyMediaType() {
Truth.assertThat(Parts.mediaType("")).isNull();
assertThat(Parts.mediaType("")).isNull();
}
@Test
void nullMediaType() {
Truth.assertThat(Parts.mediaType(null)).isNull();
assertThat(Parts.mediaType(null)).isNull();
}
@Test
void fileName() {
Truth8.assertThat(Parts.fileName(Response.success(null, Headers.of("Content-Disposition", "attachment; filename=\"doc.pdf\""))))
assertThat(Parts.fileName(Response.success(null, Headers.of("Content-Disposition", "attachment; filename=\"doc.pdf\""))))
.hasValue("doc.pdf");
}
@Test
void fileNameWithoutContentDisposition() {
Truth8.assertThat(Parts.fileName(Response.success(null))).isEmpty();
assertThat(Parts.fileName(Response.success(null))).isEmpty();
}
}
@@ -18,7 +18,6 @@
*/
package org.apache.fineract.batch.command.internal;
import static com.google.common.truth.Truth.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
@@ -35,6 +34,7 @@ import org.apache.fineract.batch.domain.BatchResponse;
import org.apache.fineract.infrastructure.core.api.MutableUriInfo;
import org.apache.fineract.infrastructure.dataqueries.api.DatatablesApiResource;
import org.apache.http.HttpStatus;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
@@ -91,7 +91,7 @@ public class GetDatatableEntryByAppTableIdAndDataTableIdCommandStrategyTest {
verify(testContext.dataTableApiResource).getDatatableManyEntry(eq(datatableName), eq(loanId), eq(datatableId), eq(null),
eq(genericResultSet), testContext.uriInfoCaptor.capture());
MutableUriInfo mutableUriInfo = testContext.uriInfoCaptor.getValue();
assertThat(mutableUriInfo.getAdditionalQueryParameters()).hasSize(numberOfQueryParams);
Assertions.assertThat(mutableUriInfo.getAdditionalQueryParameters()).hasSize(numberOfQueryParams);
if (numberOfQueryParams > 0) {
List<String> param = mutableUriInfo.getAdditionalQueryParameters().get("genericResultSet");
assertEquals(param.get(0), "true");
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.batch.command.internal;
import static com.google.common.truth.Truth.assertThat;
import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.infrastructure.event.external.jobs;
import static com.google.common.truth.Truth.assertThat;
import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.times;
@@ -81,6 +81,7 @@ import org.apache.fineract.client.models.PutGlobalConfigurationsRequest;
import org.apache.fineract.client.models.PutLoansLoanIdResponse;
import org.apache.fineract.client.util.CallFailedRuntimeException;
import org.apache.fineract.infrastructure.configuration.api.GlobalConfigurationConstants;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.integrationtests.common.BatchHelper;
import org.apache.fineract.integrationtests.common.BusinessDateHelper;
import org.apache.fineract.integrationtests.common.ClientHelper;
@@ -113,7 +114,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
@Slf4j
@ExtendWith(LoanTestLifecycleExtension.class)
public abstract class BaseLoanIntegrationTest {
public abstract class BaseLoanIntegrationTest extends IntegrationTest {
protected static final String DATETIME_PATTERN = "dd MMMM yyyy";
@@ -18,9 +18,9 @@
*/
package org.apache.fineract.integrationtests;
import static org.apache.fineract.integrationtests.client.IntegrationTest.assertThat;
import static org.apache.fineract.integrationtests.common.ClientHelper.DEFAULT_DATE;
import static org.apache.fineract.integrationtests.common.ClientHelper.LEGALFORM_ID_PERSON;
import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -232,9 +232,9 @@ public class ClientTest {
List<GetClientClientIdAddressesResponse> clientAddresses = ClientHelper.getClientAddresses(requestSpec, responseSpec, clientId);
GetClientClientIdAddressesResponse addressResponse = clientAddresses.get(0);
assertThat(addressResponse.getCity()).isEqualTo(city);
assertThat(addressResponse.getCountryId()).isEqualTo(countryId);
assertThat(addressResponse.getStateProvinceId()).isEqualTo(stateId);
assertThat(addressResponse.getAddressTypeId()).isEqualTo(addressTypeId);
assertThat(addressResponse.getCountryId()).isEqualTo((long) countryId);
assertThat(addressResponse.getStateProvinceId()).isEqualTo((long) stateId);
assertThat(addressResponse.getAddressTypeId()).isEqualTo((long) addressTypeId);
assertThat(addressResponse.getIsActive()).isEqualTo(addressIsActive);
assertThat(addressResponse.getPostalCode()).isEqualTo(postalCode);
}
@@ -262,9 +262,9 @@ public class ClientTest {
List<GetClientClientIdAddressesResponse> clientAddresses = ClientHelper.getClientAddresses(requestSpec, responseSpec, clientId);
GetClientClientIdAddressesResponse addressResponse = clientAddresses.get(0);
assertThat(addressResponse.getCity()).isEqualTo(city);
assertThat(addressResponse.getCountryId()).isEqualTo(countryId);
assertThat(addressResponse.getStateProvinceId()).isEqualTo(stateId);
assertThat(addressResponse.getAddressTypeId()).isEqualTo(addressTypeId);
assertThat(addressResponse.getCountryId()).isEqualTo((long) countryId);
assertThat(addressResponse.getStateProvinceId()).isEqualTo((long) stateId);
assertThat(addressResponse.getAddressTypeId()).isEqualTo((long) addressTypeId);
assertThat(addressResponse.getIsActive()).isEqualTo(addressIsActive);
assertThat(addressResponse.getPostalCode()).isEqualTo(postalCode);
}
@@ -22,7 +22,6 @@ import static java.lang.Boolean.TRUE;
import static org.apache.fineract.infrastructure.businessdate.domain.BusinessDateType.BUSINESS_DATE;
import static org.apache.fineract.portfolio.delinquency.domain.DelinquencyAction.PAUSE;
import static org.apache.fineract.portfolio.delinquency.domain.DelinquencyAction.RESUME;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -22,7 +22,6 @@ import static java.time.temporal.ChronoUnit.DAYS;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.fail;
import com.google.common.truth.Truth;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
@@ -52,6 +51,7 @@ import org.apache.fineract.accounting.common.AccountingConstants.FinancialActivi
import org.apache.fineract.infrastructure.core.api.JsonQuery;
import org.apache.fineract.infrastructure.core.exception.PlatformApiDataValidationException;
import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.integrationtests.common.ClientHelper;
import org.apache.fineract.integrationtests.common.CommonConstants;
import org.apache.fineract.integrationtests.common.SchedulerJobHelper;
@@ -82,7 +82,7 @@ import org.mockito.Mockito;
@Slf4j
@SuppressWarnings({ "unused", "unchecked", "rawtypes", "static-access" })
public class FixedDepositTest {
public class FixedDepositTest extends IntegrationTest {
private ResponseSpecification responseSpec;
private RequestSpecification requestSpec;
@@ -1946,8 +1946,7 @@ public class FixedDepositTest {
maturityAmount = new BigDecimal(maturityAmount).setScale(0, RoundingMode.FLOOR).floatValue();
log.info("{}", principal.toString());
Truth.assertWithMessage("Verifying Maturity amount for Fixed Deposit Account").that(maturityAmount).isAnyOf(principal,
principal - 1); // FINERACT-887
assertThat(maturityAmount).isIn(principal, principal - 1); // FINERACT-887
}
@Test
@@ -19,7 +19,6 @@
package org.apache.fineract.integrationtests;
import static org.apache.fineract.infrastructure.businessdate.domain.BusinessDateType.BUSINESS_DATE;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.math.BigDecimal;
@@ -20,7 +20,6 @@ package org.apache.fineract.integrationtests;
import static java.lang.Boolean.TRUE;
import static org.apache.fineract.infrastructure.businessdate.domain.BusinessDateType.BUSINESS_DATE;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -18,8 +18,6 @@
*/
package org.apache.fineract.integrationtests;
import static org.assertj.core.api.Assertions.assertThat;
import java.math.BigDecimal;
import java.util.List;
import lombok.AllArgsConstructor;
@@ -58,7 +58,7 @@ public class SavingsAccountsExternalIdTest extends IntegrationTest {
request.submittedOnDate(formattedDate);
request.setExternalId(EXTERNAL_ID);
Response<PostSavingsAccountsResponse> response = okR(fineract().savingsAccounts.submitApplication2(request));
Response<PostSavingsAccountsResponse> response = okR(fineractClient().savingsAccounts.submitApplication2(request));
assertThat(response.isSuccessful()).isTrue();
assertThat(response.body()).isNotNull();
@@ -71,7 +71,7 @@ public class SavingsAccountsExternalIdTest extends IntegrationTest {
PutSavingsAccountsAccountIdRequest request = new PutSavingsAccountsAccountIdRequest();
request.setLocale(locale);
request.setNominalAnnualInterestRate(5.999);
Response<PutSavingsAccountsAccountIdResponse> response = okR(fineract().savingsAccounts.update21(EXTERNAL_ID, request, ""));
Response<PutSavingsAccountsAccountIdResponse> response = okR(fineractClient().savingsAccounts.update21(EXTERNAL_ID, request, ""));
assertThat(response.isSuccessful()).isTrue();
assertThat(response.body()).isNotNull();
@@ -86,7 +86,7 @@ public class SavingsAccountsExternalIdTest extends IntegrationTest {
request.setLocale(locale);
request.setApprovedOnDate(formattedDate);
Response<PostSavingsAccountsAccountIdResponse> response = okR(
fineract().savingsAccounts.handleCommands7(EXTERNAL_ID, request, "approve"));
fineractClient().savingsAccounts.handleCommands7(EXTERNAL_ID, request, "approve"));
assertThat(response.isSuccessful()).isTrue();
assertThat(response.body()).isNotNull();
@@ -100,7 +100,8 @@ public class SavingsAccountsExternalIdTest extends IntegrationTest {
request.dateFormat(dateFormat);
request.setLocale(locale);
request.setActivatedOnDate(formattedDate);
Response<GetSavingsAccountsAccountIdResponse> response = okR(fineract().savingsAccounts.retrieveOne26(EXTERNAL_ID, false, "all"));
Response<GetSavingsAccountsAccountIdResponse> response = okR(
fineractClient().savingsAccounts.retrieveOne26(EXTERNAL_ID, false, "all"));
assertThat(response.isSuccessful()).isTrue();
assertThat(response.body()).isNotNull();
@@ -114,7 +115,7 @@ public class SavingsAccountsExternalIdTest extends IntegrationTest {
LOG.info("------------------------------ UNDO APPROVAL SAVINGS ACCOUNT ---------------------------------------");
PostSavingsAccountsAccountIdRequest request = new PostSavingsAccountsAccountIdRequest();
Response<PostSavingsAccountsAccountIdResponse> response = okR(
fineract().savingsAccounts.handleCommands7(EXTERNAL_ID, request, "undoapproval"));
fineractClient().savingsAccounts.handleCommands7(EXTERNAL_ID, request, "undoapproval"));
assertThat(response.isSuccessful()).isTrue();
assertThat(response.body()).isNotNull();
@@ -128,7 +129,8 @@ public class SavingsAccountsExternalIdTest extends IntegrationTest {
request.dateFormat(dateFormat);
request.setLocale(locale);
request.setActivatedOnDate(formattedDate);
Response<GetSavingsAccountsAccountIdResponse> response = okR(fineract().savingsAccounts.retrieveOne26(EXTERNAL_ID, false, "all"));
Response<GetSavingsAccountsAccountIdResponse> response = okR(
fineractClient().savingsAccounts.retrieveOne26(EXTERNAL_ID, false, "all"));
assertThat(response.isSuccessful()).isTrue();
assertThat(response.body()).isNotNull();
@@ -143,7 +145,7 @@ public class SavingsAccountsExternalIdTest extends IntegrationTest {
request.dateFormat(dateFormat);
request.setLocale(locale);
request.setActivatedOnDate(formattedDate);
Response<DeleteSavingsAccountsAccountIdResponse> response = okR(fineract().savingsAccounts.delete20(EXTERNAL_ID));
Response<DeleteSavingsAccountsAccountIdResponse> response = okR(fineractClient().savingsAccounts.delete20(EXTERNAL_ID));
assertThat(response.isSuccessful()).isTrue();
assertThat(response.body()).isNotNull();
@@ -158,7 +160,7 @@ public class SavingsAccountsExternalIdTest extends IntegrationTest {
request.setLocale(locale);
request.setActivatedOnDate(formattedDate);
Response<GetSavingsAccountsAccountIdResponse> response = Calls
.executeU(fineract().savingsAccounts.retrieveOne26(EXTERNAL_ID, false, "all"));
.executeU(fineractClient().savingsAccounts.retrieveOne26(EXTERNAL_ID, false, "all"));
assertThat(response.raw().code()).isEqualTo(404);
}
@@ -57,7 +57,7 @@ public class SavingsAccountsTest extends IntegrationTest {
request.setDateFormat(dateFormat);
request.submittedOnDate(formattedDate);
Response<PostSavingsAccountsResponse> response = okR(fineract().savingsAccounts.submitApplication2(request));
Response<PostSavingsAccountsResponse> response = okR(fineractClient().savingsAccounts.submitApplication2(request));
assertThat(response.isSuccessful()).isTrue();
assertThat(response.body()).isNotNull();
@@ -73,7 +73,7 @@ public class SavingsAccountsTest extends IntegrationTest {
request.setLocale(locale);
request.setApprovedOnDate(formattedDate);
Response<PostSavingsAccountsAccountIdResponse> response = okR(
fineract().savingsAccounts.handleCommands6((long) savingId, request, "approve"));
fineractClient().savingsAccounts.handleCommands6((long) savingId, request, "approve"));
assertThat(response.isSuccessful()).isTrue();
assertThat(response.body()).isNotNull();
@@ -88,7 +88,7 @@ public class SavingsAccountsTest extends IntegrationTest {
request.setLocale(locale);
request.setActivatedOnDate(formattedDate);
Response<PostSavingsAccountsAccountIdResponse> response = okR(
fineract().savingsAccounts.handleCommands6((long) savingId, request, "activate"));
fineractClient().savingsAccounts.handleCommands6((long) savingId, request, "activate"));
assertThat(response.isSuccessful()).isTrue();
assertThat(response.body()).isNotNull();
@@ -22,7 +22,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import com.google.common.truth.Truth;
import io.restassured.builder.RequestSpecBuilder;
import io.restassured.builder.ResponseSpecBuilder;
import io.restassured.http.ContentType;
@@ -60,6 +59,7 @@ import org.apache.fineract.client.models.PutGlobalConfigurationsRequest;
import org.apache.fineract.client.models.PutJobsJobIDRequest;
import org.apache.fineract.infrastructure.businessdate.domain.BusinessDateType;
import org.apache.fineract.infrastructure.configuration.api.GlobalConfigurationConstants;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.integrationtests.common.BusinessDateHelper;
import org.apache.fineract.integrationtests.common.BusinessStepHelper;
import org.apache.fineract.integrationtests.common.ClientHelper;
@@ -101,7 +101,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
@TestMethodOrder(MethodName.class)
@ExtendWith(LoanTestLifecycleExtension.class)
@SuppressWarnings({ "unchecked", "rawtypes" })
public class SchedulerJobsTestResults {
public class SchedulerJobsTestResults extends IntegrationTest {
private static final String FROM_ACCOUNT_TYPE_SAVINGS = "2";
private static final String TO_ACCOUNT_TYPE_SAVINGS = "2";
@@ -212,8 +212,7 @@ public class SchedulerJobsTestResults {
annualFeeDueDateAsArrayList.get(2));
LocalDate expectedDueDate = LocalDate.of(2023, 1, 15);
Truth.assertWithMessage("Verifying that all due Annual Fees have been paid").that(nextDueDateForAnnualFee)
.isEquivalentAccordingToCompareTo(expectedDueDate);
assertThat(nextDueDateForAnnualFee).isEqualTo(expectedDueDate);
} finally {
savingsAccountHelper.closeSavingsAccountOnDate(savingsId, "true", "11 November 2022");
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_BUSINESS_DATE,
@@ -200,19 +200,19 @@ public class UserAdministrationTest extends IntegrationTest {
// User updates its own password
String updatedPassword = "QwE!5rTy#9uP0u";
PutUsersUserIdResponse putUsersUserIdResponse = ok(newFineract(simpleUsername, originalPassword).users.update26(userId,
PutUsersUserIdResponse putUsersUserIdResponse = ok(newFineractClient(simpleUsername, originalPassword).users.update26(userId,
new PutUsersUserIdRequest().password(updatedPassword).repeatPassword(updatedPassword)));
Assertions.assertNotNull(putUsersUserIdResponse.getResourceId());
// From then on the originalPassword is not working anymore
CallFailedRuntimeException callFailedRuntimeException = Assertions.assertThrows(CallFailedRuntimeException.class, () -> {
ok(newFineract(simpleUsername, originalPassword).users.retrieveOne31(userId));
ok(newFineractClient(simpleUsername, originalPassword).users.retrieveOne31(userId));
});
Assertions.assertEquals(401, callFailedRuntimeException.getResponse().raw().code());
Assertions.assertTrue(callFailedRuntimeException.getMessage().contains("Unauthorized"));
// The update password is still working perfectly
GetUsersUserIdResponse ok = ok(newFineract(simpleUsername, updatedPassword).users.retrieveOne31(userId));
GetUsersUserIdResponse ok = ok(newFineractClient(simpleUsername, updatedPassword).users.retrieveOne31(userId));
}
@Test
@@ -236,7 +236,7 @@ public class UserAdministrationTest extends IntegrationTest {
// User tries to update it's own roles
CallFailedRuntimeException callFailedRuntimeException = Assertions.assertThrows(CallFailedRuntimeException.class, () -> {
ok(newFineract(simpleUsername, password).users.update26(userId,
ok(newFineractClient(simpleUsername, password).users.update26(userId,
new PutUsersUserIdRequest().roles(List.of(Long.valueOf(roleId2)))));
});
@@ -1,55 +0,0 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.fineract.integrationtests.client;
import com.google.common.truth.FailureMetadata;
import com.google.common.truth.Subject;
import com.google.common.truth.Truth;
import jakarta.annotation.Nullable;
import org.apache.fineract.client.util.Calls;
import retrofit2.Call;
/**
* Google Truth Extension for Retrofit Call.
*
* @author Michael Vorburger.ch
*/
public class CallSubject extends Subject {
// as per https://truth.dev/extension
public static CallSubject assertThat(@Nullable Call<?> actual) {
return Truth.assertAbout(calls()).that(actual);
}
public static Factory<CallSubject, Call<?>> calls() {
return CallSubject::new;
}
private final Call<?> actual;
protected CallSubject(FailureMetadata metadata, @Nullable Call<?> actual) {
super(metadata, actual);
this.actual = actual;
}
public void hasHttpStatus(int expectedHttpStatus) {
check("httpStatus").that(Calls.executeU(actual).code()).isEqualTo(expectedHttpStatus);
}
}
@@ -21,6 +21,7 @@ package org.apache.fineract.integrationtests.client;
import java.util.Optional;
import org.apache.fineract.client.models.GetClientsResponse;
import org.apache.fineract.client.models.PostClientsRequest;
import org.apache.fineract.integrationtests.common.Utils;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
@@ -55,14 +56,14 @@ public class ClientTest extends IntegrationTest {
// TODO activationDate() why String? https://issues.apache.org/jira/browse/FINERACT-1232
// TODO why dateFormat and locale required even when no activationDate?!
// https://issues.apache.org/jira/browse/FINERACT-1233
return ok(fineract().clients.create6(
new PostClientsRequest().legalFormId(1L).officeId(1L).fullname("TestClient").dateFormat(dateFormat()).locale("en_US")))
return ok(fineractClient().clients.create6(
new PostClientsRequest().legalFormId(1L).officeId(1L).fullname("TestClient").dateFormat(Utils.DATE_FORMAT).locale("en_US")))
.getClientId();
}
Optional<Long> retrieveFirst() {
GetClientsResponse clients = ok(
fineract().clients.retrieveAll21(null, null, null, null, null, null, null, 0, 1, null, null, false));
fineractClient().clients.retrieveAll21(null, null, null, null, null, null, null, 0, 1, null, null, false));
if (clients.getTotalFilteredRecords() != null && clients.getTotalFilteredRecords() > 0) {
return clients.getPageItems().stream().findFirst().map(item -> item.getId());
}
@@ -18,12 +18,16 @@
*/
package org.apache.fineract.integrationtests.client;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import java.io.File;
import java.io.IOException;
import okhttp3.MediaType;
import okhttp3.MultipartBody.Part;
import okhttp3.ResponseBody;
import org.apache.fineract.client.models.GetEntityTypeEntityIdDocumentsResponse;
import org.apache.fineract.client.util.CallFailedRuntimeException;
import org.apache.fineract.client.util.Parts;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
@@ -44,7 +48,7 @@ public class DocumentTest extends IntegrationTest {
@Test
@Order(1)
void retrieveAllDocuments() {
assertThat(ok(fineract().documents.retrieveAllDocuments("clients", clientId))).isNotNull();
assertThat(ok(fineractClient().documents.retrieveAllDocuments("clients", clientId))).isNotNull();
}
@Test
@@ -53,7 +57,7 @@ public class DocumentTest extends IntegrationTest {
String name = "Test";
Part part = Parts.fromFile(testFile);
String description = "The Description";
var response = ok(fineract().documents.createDocument("clients", clientId, part, name, description));
var response = ok(fineractClient().documents.createDocument("clients", clientId, part, name, description));
assertThat(response.getResourceId()).isNotNull();
assertThat(response.getResourceIdentifier()).isNotEmpty();
documentId = response.getResourceId();
@@ -62,7 +66,7 @@ public class DocumentTest extends IntegrationTest {
@Test
@Order(3)
void getDocument() {
GetEntityTypeEntityIdDocumentsResponse doc = ok(fineract().documents.getDocument("clients", clientId, documentId));
GetEntityTypeEntityIdDocumentsResponse doc = ok(fineractClient().documents.getDocument("clients", clientId, documentId));
assertThat(doc.getName()).isEqualTo("Test");
assertThat(doc.getFileName()).isEqualTo(testFile.getName());
assertThat(doc.getDescription()).isEqualTo("The Description");
@@ -79,7 +83,7 @@ public class DocumentTest extends IntegrationTest {
@Test
@Order(4)
void downloadFile() throws IOException {
Response<ResponseBody> r = okR(fineract().documents.downloadFile("clients", clientId, documentId));
Response<ResponseBody> r = okR(fineractClient().documents.downloadFile("clients", clientId, documentId));
try (ResponseBody body = r.body()) {
assertThat(body.contentType()).isEqualTo(MediaType.get("image/jpeg"));
assertThat(body.bytes().length).isEqualTo(testFile.length());
@@ -93,9 +97,9 @@ public class DocumentTest extends IntegrationTest {
void updateDocumentWithoutNewUpload() {
String newName = "Test changed name";
String newDescription = getClass().getName();
ok(fineract().documents.updateDocument("clients", clientId, documentId, null, newName, newDescription));
ok(fineractClient().documents.updateDocument("clients", clientId, documentId, null, newName, newDescription));
GetEntityTypeEntityIdDocumentsResponse doc = ok(fineract().documents.getDocument("clients", clientId, documentId));
GetEntityTypeEntityIdDocumentsResponse doc = ok(fineractClient().documents.getDocument("clients", clientId, documentId));
assertThat(doc.getName()).isEqualTo(newName);
assertThat(doc.getDescription()).isEqualTo(newDescription);
// TODO FINERACT-1251 It's more than uploaded file; seems like a bug - it's including create body, not just file
@@ -106,13 +110,17 @@ public class DocumentTest extends IntegrationTest {
@Test
@Order(99)
void deleteDocument() {
ok(fineract().documents.deleteDocument("clients", clientId, documentId));
assertThat(fineract().documents.getDocument("clients", clientId, documentId)).hasHttpStatus(404);
ok(fineractClient().documents.deleteDocument("clients", clientId, documentId));
CallFailedRuntimeException exception = assertThrows(CallFailedRuntimeException.class,
() -> ok(fineractClient().documents.getDocument("clients", clientId, documentId)));
assertEquals(404, exception.getResponse().code());
}
@Order(9999)
@Test // FINERACT-1036
void createDocumentBadArgs() {
assertThat(fineract().documents.createDocument("clients", 123L, null, "test.pdf", null)).hasHttpStatus(400);
CallFailedRuntimeException exception = assertThrows(CallFailedRuntimeException.class,
() -> ok(fineractClient().documents.createDocument("clients", 123L, null, "test.pdf", null)));
assertEquals(400, exception.getResponse().code());
}
}
@@ -52,47 +52,47 @@ public class ImageTest extends IntegrationTest {
@Test
@Order(1)
void create() {
ok(fineract().images.create("staff", staffId, testPart));
ok(fineract().images.create("clients", clientId, testPart));
ok(fineractClient().images.create("staff", staffId, testPart));
ok(fineractClient().images.create("clients", clientId, testPart));
}
@Test
@Order(2)
void getOriginalSize() throws IOException {
ResponseBody r = ok(fineract().images.get("staff", staffId, 3505, 1972, null));
ResponseBody r = ok(fineractClient().images.get("staff", staffId, 3505, 1972, null));
assertThat(r.contentType()).isEqualTo(MediaType.get("text/plain"));
String encodedImage = r.string();
assertThat(encodedImage).startsWith("data:image/jpeg;base64,");
assertThat(encodedImage).hasLength(2846549);
assertThat(encodedImage).hasSize(2846549);
assertThat(r.contentLength()).isEqualTo(-1);
}
@Test
@Order(3)
void getSmallerSize() throws IOException {
ResponseBody r = ok(fineract().images.get("staff", staffId, 128, 128, null));
assertThat(r.string()).hasLength(6591);
ResponseBody r = ok(fineractClient().images.get("staff", staffId, 128, 128, null));
assertThat(r.string()).hasSize(6591);
}
@Test
@Order(4)
void getBiggerSize() throws IOException {
ResponseBody r = ok(fineract().images.get("staff", staffId, 9000, 6000, null));
assertThat(r.string()).hasLength(2846549);
ResponseBody r = ok(fineractClient().images.get("staff", staffId, 9000, 6000, null));
assertThat(r.string()).hasSize(2846549);
}
@Test
@Order(5)
void getInlineOctetOutput() throws IOException {
// 3505x1972 is the exact original size of testFile
Response<ResponseBody> r = okR(fineract().images.get("staff", staffId, 3505, 1972, "inline_octet"));
Response<ResponseBody> r = okR(fineractClient().images.get("staff", staffId, 3505, 1972, "inline_octet"));
try (ResponseBody body = r.body()) {
assertThat(body.contentType()).isEqualTo(MediaType.get("image/jpeg"));
assertThat(body.bytes().length).isEqualTo(testPart.body().contentLength());
assertThat(body.contentLength()).isEqualTo(testPart.body().contentLength());
}
var staff = ok(fineract().staff.retrieveOne8(staffId));
var staff = ok(fineractClient().staff.retrieveOne8(staffId));
String expectedFileName = staff.getDisplayName() + "JPEG"; // without dot!
assertThat(Parts.fileName(r)).hasValue(expectedFileName);
}
@@ -100,7 +100,7 @@ public class ImageTest extends IntegrationTest {
@Test
@Order(6)
void getOctetOutput() throws IOException {
ResponseBody r = ok(fineract().images.get("staff", staffId, 3505, 1972, "octet"));
ResponseBody r = ok(fineractClient().images.get("staff", staffId, 3505, 1972, "octet"));
assertThat(r.contentType()).isEqualTo(MediaType.get("image/jpeg"));
assertThat(r.bytes().length).isEqualTo(testPart.body().contentLength());
assertThat(r.contentLength()).isEqualTo(testPart.body().contentLength());
@@ -109,7 +109,7 @@ public class ImageTest extends IntegrationTest {
@Test
@Order(7)
void getAnotherOutput() throws IOException {
ResponseBody r = ok(fineract().images.get("staff", staffId, 3505, 1972, "abcd"));
ResponseBody r = ok(fineractClient().images.get("staff", staffId, 3505, 1972, "abcd"));
assertThat(r.contentType()).isEqualTo(MediaType.get("text/plain"));
assertThat(r.string()).startsWith("data:image/jpeg;base64,");
}
@@ -117,7 +117,7 @@ public class ImageTest extends IntegrationTest {
@Test
@Order(8)
void getText() throws IOException {
ResponseBody r = ok(fineract().createService(ImagesApiWithHeadersForTest.class).getText("staff", staffId, 3505, 1972, null));
ResponseBody r = ok(fineractClient().createService(ImagesApiWithHeadersForTest.class).getText("staff", staffId, 3505, 1972, null));
assertThat(r.contentType()).isEqualTo(MediaType.get("text/plain"));
assertThat(r.string()).startsWith("data:image/jpeg;base64,");
}
@@ -125,7 +125,7 @@ public class ImageTest extends IntegrationTest {
@Test
@Order(9)
void getBytes() throws IOException {
ResponseBody r = ok(fineract().createService(ImagesApiWithHeadersForTest.class).getBytes("staff", staffId, 3505, 1972, null));
ResponseBody r = ok(fineractClient().createService(ImagesApiWithHeadersForTest.class).getBytes("staff", staffId, 3505, 1972, null));
assertThat(r.contentType()).isEqualTo(MediaType.get("image/jpeg"));
assertThat(r.bytes().length).isEqualTo(testPart.body().contentLength());
}
@@ -133,14 +133,14 @@ public class ImageTest extends IntegrationTest {
@Test
@Order(50)
void update() {
ok(fineract().images.update("staff", staffId, testPart));
ok(fineractClient().images.update("staff", staffId, testPart));
}
@Test
@Order(99)
void delete() {
ok(fineract().images.delete("staff", staffId));
ok(fineract().images.delete("clients", clientId));
ok(fineractClient().images.delete("staff", staffId));
ok(fineractClient().images.delete("clients", clientId));
}
@Test
@@ -152,7 +152,7 @@ public class ImageTest extends IntegrationTest {
assertThat(part).isNotNull();
Exception exception = assertThrows(Exception.class, () -> {
ok(fineract().images.create("clients", clientId, part));
ok(fineractClient().images.create("clients", clientId, part));
});
assertThat(exception).isNotNull();
@@ -168,7 +168,7 @@ public class ImageTest extends IntegrationTest {
assertThat(part).isNotNull();
Exception exception = assertThrows(Exception.class, () -> {
ok(fineract().images.create("clients", clientId, part));
ok(fineractClient().images.create("clients", clientId, part));
});
assertThat(exception).isNotNull();
@@ -184,7 +184,7 @@ public class ImageTest extends IntegrationTest {
assertThat(part).isNotNull();
Exception exception = assertThrows(Exception.class, () -> {
ok(fineract().images.create("clients", clientId, part));
ok(fineractClient().images.create("clients", clientId, part));
});
assertThat(exception).isNotNull();
@@ -201,7 +201,7 @@ public class ImageTest extends IntegrationTest {
assertThat(part).isNotNull();
Exception exception = assertThrows(Exception.class, () -> {
ok(fineract().images.create("clients", clientId, part));
ok(fineractClient().images.create("clients", clientId, part));
});
assertThat(exception).isNotNull();
@@ -217,7 +217,7 @@ public class ImageTest extends IntegrationTest {
assertThat(part).isNotNull();
Exception exception = assertThrows(Exception.class, () -> {
ok(fineract().images.create("clients", clientId, part));
ok(fineractClient().images.create("clients", clientId, part));
});
assertThat(exception).isNotNull();
@@ -233,7 +233,7 @@ public class ImageTest extends IntegrationTest {
assertThat(part).isNotNull();
Exception exception = assertThrows(Exception.class, () -> {
ok(fineract().images.create("clients", clientId, part));
ok(fineractClient().images.create("clients", clientId, part));
});
assertThat(exception).isNotNull();
@@ -18,27 +18,22 @@
*/
package org.apache.fineract.integrationtests.client;
import com.google.common.truth.BigDecimalSubject;
import com.google.common.truth.BooleanSubject;
import com.google.common.truth.ComparableSubject;
import com.google.common.truth.DoubleSubject;
import com.google.common.truth.FloatSubject;
import com.google.common.truth.IntegerSubject;
import com.google.common.truth.IterableSubject;
import com.google.common.truth.LongSubject;
import com.google.common.truth.OptionalSubject;
import com.google.common.truth.StringSubject;
import com.google.common.truth.Subject;
import com.google.common.truth.Truth;
import com.google.common.truth.Truth8;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.math.BigDecimal;
import java.security.SecureRandom;
import java.util.Optional;
import okhttp3.logging.HttpLoggingInterceptor.Level;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.client.util.FineractClient;
import org.apache.fineract.integrationtests.ConfigProperties;
import org.apache.fineract.integrationtests.common.FineractClientHelper;
import org.assertj.core.api.AbstractBigDecimalAssert;
import org.assertj.core.api.AbstractBooleanAssert;
import org.assertj.core.api.AbstractDoubleAssert;
import org.assertj.core.api.AbstractFloatAssert;
import org.assertj.core.api.AbstractIntegerAssert;
import org.assertj.core.api.AbstractLongAssert;
import org.assertj.core.api.AbstractStringAssert;
import org.assertj.core.api.Assertions;
import org.assertj.core.api.IterableAssert;
import org.assertj.core.api.ObjectAssert;
import org.assertj.core.api.OptionalAssert;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.api.TestInstance.Lifecycle;
@@ -47,7 +42,7 @@ import retrofit2.Call;
import retrofit2.Response;
/**
* Integration Test for /documents API.
* Base Integration Test class
*
* @author Michael Vorburger.ch
*/
@@ -57,29 +52,12 @@ import retrofit2.Response;
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public abstract class IntegrationTest {
private static final SecureRandom random = new SecureRandom();
private FineractClient fineract;
protected FineractClient fineract() {
if (fineract == null) {
fineract = newFineract(ConfigProperties.Backend.USERNAME, ConfigProperties.Backend.PASSWORD);
}
return fineract;
protected FineractClient fineractClient() {
return FineractClientHelper.getFineractClient();
}
private String buildURI() {
return ConfigProperties.Backend.PROTOCOL + "://" + ConfigProperties.Backend.HOST + ":" + ConfigProperties.Backend.PORT
+ "/fineract-provider/api/";
}
protected FineractClient newFineract(String username, String password) {
String url = System.getProperty("fineract.it.url", buildURI());
// insecure(true) should *ONLY* ever be used for https://localhost:8443, NOT in real clients!!
FineractClient.Builder builder = FineractClient.builder().insecure(true).baseURL(url).tenant(ConfigProperties.Backend.TENANT)
.basicAuth(username, password).logging(Level.NONE);
customizeFineractClient(builder);
return builder.build();
protected FineractClient newFineractClient(String username, String password) {
return FineractClientHelper.createNewFineractClient(username, password, this::customizeFineractClient);
}
/**
@@ -92,19 +70,6 @@ public abstract class IntegrationTest {
}
/**
* See {@link FineractClient#DATE_FORMAT}.
*/
protected String dateFormat() {
return FineractClient.DATE_FORMAT;
}
@SuppressFBWarnings(value = {
"DMI_RANDOM_USED_ONLY_ONCE" }, justification = "False positive for random object created and used only once")
protected String random() {
return Long.toString(random.nextLong());
}
// This method just makes it easier to use Calls.ok() in tests (it avoids having to static import)
protected <T> T ok(Call<T> call) {
return Calls.ok(call);
@@ -114,54 +79,43 @@ public abstract class IntegrationTest {
return Calls.okR(call);
}
// as above, avoids import static CallSubject.assertThat
protected <T> CallSubject assertThat(Call<T> call) {
return CallSubject.assertThat(call);
public static IterableAssert<?> assertThat(Iterable<?> actual) {
return Assertions.assertThat(actual);
}
// as above, this avoids issues with e.g. the Eclipse compiler getting confused which assertThat is which
public static IterableSubject assertThat(Iterable<?> actual) {
return Truth.assertThat(actual);
public static AbstractBigDecimalAssert<?> assertThat(BigDecimal actual) {
return Assertions.assertThat(actual);
}
public static <T extends Comparable<?>> ComparableSubject<T> assertThat(T actual) {
return Truth.assertThat(actual);
public static <T> ObjectAssert<T> assertThat(T actual) {
return Assertions.assertThat(actual);
}
public static BigDecimalSubject assertThat(BigDecimal actual) {
return Truth.assertThat(actual);
public static AbstractLongAssert<?> assertThat(Long actual) {
return Assertions.assertThat(actual);
}
public static Subject assertThat(Object actual) {
return Truth.assertThat(actual);
public static AbstractDoubleAssert<?> assertThat(Double actual) {
return Assertions.assertThat(actual);
}
public static LongSubject assertThat(Long actual) {
return Truth.assertThat(actual);
public static AbstractFloatAssert<?> assertThat(Float actual) {
return Assertions.assertThat(actual);
}
public static DoubleSubject assertThat(Double actual) {
return Truth.assertThat(actual);
public static AbstractIntegerAssert<?> assertThat(Integer actual) {
return Assertions.assertThat(actual);
}
public static FloatSubject assertThat(Float actual) {
return Truth.assertThat(actual);
public static AbstractBooleanAssert<?> assertThat(Boolean actual) {
return Assertions.assertThat(actual);
}
public static IntegerSubject assertThat(Integer actual) {
return Truth.assertThat(actual);
public static AbstractStringAssert<?> assertThat(String actual) {
return Assertions.assertThat(actual);
}
public static BooleanSubject assertThat(Boolean actual) {
return Truth.assertThat(actual);
}
public static StringSubject assertThat(String actual) {
return Truth.assertThat(actual);
}
// from truth-java8-extension
public static OptionalSubject assertThat(Optional<?> actual) {
return Truth8.assertThat(actual);
public static <T> OptionalAssert<T> assertThat(Optional<T> actual) {
return Assertions.assertThat(actual);
}
}
@@ -23,6 +23,7 @@ import java.time.ZoneId;
import java.util.List;
import org.apache.fineract.client.models.GetOfficesResponse;
import org.apache.fineract.client.models.PostOfficesRequest;
import org.apache.fineract.integrationtests.common.Utils;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
@@ -39,15 +40,16 @@ public class OfficeTest extends IntegrationTest {
// NB parentId(1) always exists (Head Office)
// NB name random() because Office Names have to be unique
// TODO requiring dateFormat(..).locale(..) is dumb :( see https://issues.apache.org/jira/browse/FINERACT-1233
assertThat(ok(fineract().offices.createOffice(new PostOfficesRequest().name("TestOffice_" + random()).parentId(1L)
.openingDate(LocalDate.now(ZoneId.of("UTC"))).dateFormat(dateFormat()).locale("en_US"))).getOfficeId()).isGreaterThan(0);
assertThat(ok(fineractClient().offices.createOffice(new PostOfficesRequest().name(Utils.randomStringGenerator("TestOffice_", 6))
.parentId(1L).openingDate(LocalDate.now(ZoneId.of("UTC"))).dateFormat("yyyy-MM-dd").locale("en_US"))).getOfficeId())
.isGreaterThan(0);
}
@Test
@Order(2)
void retrieveOneExistingInclDateFormat() { // see FINERACT-1220 re. what this tests re. Date Format
List<GetOfficesResponse> response = ok(fineract().offices.retrieveOffices(true, null, null));
assertThat(response.size()).isAtLeast(1);
List<GetOfficesResponse> response = ok(fineractClient().offices.retrieveOffices(true, null, null));
assertThat(response.size()).isGreaterThanOrEqualTo(1);
assertThat(response.get(0).getOpeningDate()).isNotNull();
}
}
@@ -50,7 +50,7 @@ public class ReportExportTest extends IntegrationTest {
@Test
void runClientListingTableReportCSV() throws IOException {
Response<ResponseBody> result = okR(
fineract().reportsRun.runReportGetFile("Client Listing", Map.of("R_officeId", "1", "exportCSV", "true"), false));
fineractClient().reportsRun.runReportGetFile("Client Listing", Map.of("R_officeId", "1", "exportCSV", "true"), false));
assertThat(result.body().contentType()).isEqualTo(MediaType.parse("text/csv"));
assertThat(result.body().string()).contains("Office/Branch");
}
@@ -59,7 +59,7 @@ public class ReportExportTest extends IntegrationTest {
@CIOnly
void runClientListingTableReportS3() throws IOException {
Response<ResponseBody> result = okR(
fineract().reportsRun.runReportGetFile("Client Listing", Map.of("R_officeId", "1", "exportS3", "true"), false));
fineractClient().reportsRun.runReportGetFile("Client Listing", Map.of("R_officeId", "1", "exportS3", "true"), false));
assertThat(result.code()).isEqualTo(204);
}
@@ -18,11 +18,16 @@
*/
package org.apache.fineract.integrationtests.client;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import java.io.IOException;
import java.util.Map;
import okhttp3.MediaType;
import okhttp3.Request;
import okhttp3.ResponseBody;
import org.apache.fineract.client.models.RunReportsResponse;
import org.apache.fineract.client.util.CallFailedRuntimeException;
import org.apache.fineract.integrationtests.common.Utils;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
@@ -43,19 +48,19 @@ public class ReportsTest extends IntegrationTest {
@Test
void listReports() {
assertThat(ok(fineract().reports.retrieveReportList())).hasSize(128);
assertThat(ok(fineractClient().reports.retrieveReportList())).hasSize(128);
}
@Test
void runClientListingTableReport() {
assertThat(ok(fineract().reportsRun.runReportGetData("Client Listing", Map.of("R_officeId", "1"), false)).getColumnHeaders().get(0)
.getColumnName()).isEqualTo("Office/Branch");
assertThat(ok(fineractClient().reportsRun.runReportGetData("Client Listing", Map.of("R_officeId", "1"), false)).getColumnHeaders()
.get(0).getColumnName()).isEqualTo("Office/Branch");
}
@Test
void runClientListingTableReportCSV() throws IOException {
Response<ResponseBody> result = okR(
fineract().reportsRun.runReportGetFile("Client Listing", Map.of("R_officeId", "1", "exportCSV", "true"), false));
fineractClient().reportsRun.runReportGetFile("Client Listing", Map.of("R_officeId", "1", "exportCSV", "true"), false));
assertThat(result.body().contentType()).isEqualTo(MediaType.parse("text/csv"));
assertThat(result.body().string()).contains("Office/Branch");
}
@@ -64,51 +69,56 @@ public class ReportsTest extends IntegrationTest {
void runReportCategory() throws IOException {
// Using raw OkHttp instead of Retrofit API here, because /runreports/reportCategoryList returns JSON Array -
// but runReportGetData() expects columnHeaders/data JSON.
var req = new Request.Builder().url(fineract().baseURL().resolve(
var req = new Request.Builder().url(fineractClient().baseURL().resolve(
"/fineract-provider/api/v1/runreports/reportCategoryList?R_reportCategory=Fund&genericResultSet=false&parameterType=true&tenantIdentifier=default"))
.build();
try (var response = fineract().okHttpClient().newCall(req).execute()) {
try (var response = fineractClient().okHttpClient().newCall(req).execute()) {
assertThat(response.code()).isEqualTo(200);
}
}
@Test
void runExpectedPaymentsPentahoReportWithoutPlugin() {
assertThat(fineract().reportsRun.runReportGetFile("Expected Payments By Date - Formatted", Map.of("R_endDate", "2013-04-30",
"R_loanOfficerId", "-1", "R_officeId", "1", "R_startDate", "2013-04-16", "output-type", "PDF"), false)).hasHttpStatus(503);
CallFailedRuntimeException exception = assertThrows(CallFailedRuntimeException.class,
() -> ok(fineractClient().reportsRun.runReportGetFile("Expected Payments By Date - Formatted", Map.of("R_endDate",
"2013-04-30", "R_loanOfficerId", "-1", "R_officeId", "1", "R_startDate", "2013-04-16", "output-type", "PDF"),
false)));
assertEquals(503, exception.getResponse().code());
}
@Test
@Disabled
void runExpectedPaymentsPentahoReport() {
ResponseBody r = ok(fineract().reportsRun.runReportGetFile("Expected Payments By Date - Formatted", Map.of("R_endDate",
ResponseBody r = ok(fineractClient().reportsRun.runReportGetFile("Expected Payments By Date - Formatted", Map.of("R_endDate",
"2013-04-30", "R_loanOfficerId", "-1", "R_officeId", "1", "R_startDate", "2013-04-16", "output-type", "PDF"), false));
assertThat(r.contentType()).isEqualTo(MediaType.get("application/pdf"));
}
@Test
void testTrialBalanceTableReportRunsSuccessfully() {
assertThat(fineract().reportsRun.runReportGetData("Trial Balance Table",
Map.of("R_endDate", "2013-04-30", "R_officeId", "1", "R_startDate", "2013-04-16"), false)).hasHttpStatus(200);
Response<RunReportsResponse> response = okR(fineractClient().reportsRun.runReportGetData("Trial Balance Table",
Map.of("R_endDate", "2013-04-30", "R_officeId", "1", "R_startDate", "2013-04-16"), false));
assertEquals(200, response.code());
}
@Test
void testIncomeStatementTableReportRunsSuccessfully() {
assertThat(fineract().reportsRun.runReportGetData("Income Statement Table",
Map.of("R_endDate", "2013-04-30", "R_officeId", "1", "R_startDate", "2013-04-16"), false)).hasHttpStatus(200);
Response<RunReportsResponse> response = okR(fineractClient().reportsRun.runReportGetData("Income Statement Table",
Map.of("R_endDate", "2013-04-30", "R_officeId", "1", "R_startDate", "2013-04-16"), false));
assertEquals(200, response.code());
}
@Test
void testGeneralLedgerReportTableReportRunsSuccessfully() {
assertThat(fineract().reportsRun.runReportGetData("GeneralLedgerReport Table",
Map.of("R_endDate", "2013-04-30", "R_officeId", "1", "R_startDate", "2013-04-16", "R_GLAccountNO", "1"), false))
.hasHttpStatus(200);
Response<RunReportsResponse> response = okR(fineractClient().reportsRun.runReportGetData("GeneralLedgerReport Table",
Map.of("R_endDate", "2013-04-30", "R_officeId", "1", "R_startDate", "2013-04-16", "R_GLAccountNO", "1"), false));
assertEquals(200, response.code());
}
@Test
void testBalanceSheetTableReportRunsSuccessfully() {
assertThat(
fineract().reportsRun.runReportGetData("Balance Sheet Table", Map.of("R_endDate", "2013-04-30", "R_officeId", "1"), false))
.hasHttpStatus(200);
Response<RunReportsResponse> response = okR(fineractClient().reportsRun.runReportGetData("Balance Sheet Table",
Map.of("R_endDate", "2013-04-30", "R_officeId", "1"), false));
assertEquals(200, response.code());
}
}
@@ -22,6 +22,7 @@ import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Optional;
import org.apache.fineract.client.models.PostStaffRequest;
import org.apache.fineract.integrationtests.common.Utils;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
@@ -51,14 +52,13 @@ public class StaffTest extends IntegrationTest {
}
Long create() {
return ok(fineract().staff
.create3(new PostStaffRequest().officeId(1L).firstname("StaffTest " + random()).lastname("Staffer " + random())
.externalId(random()).joiningDate(LocalDate.now(ZoneId.of("UTC"))).dateFormat(dateFormat()).locale("en_US")))
.getResourceId();
return ok(fineractClient().staff.create3(new PostStaffRequest().officeId(1L).firstname(Utils.randomStringGenerator("StaffTest", 6))
.lastname(Utils.randomStringGenerator("Staffer_", 6)).externalId(Utils.randomStringGenerator("", 12))
.joiningDate(LocalDate.now(ZoneId.of("UTC"))).dateFormat("yyyy-MM-dd").locale("en_US"))).getResourceId();
}
Optional<Long> retrieveFirst() {
var staff = ok(fineract().staff.retrieveAll16(1L, true, false, "ACTIVE"));
var staff = ok(fineractClient().staff.retrieveAll16(1L, true, false, "ACTIVE"));
if (staff.size() > 0) {
return Optional.of((long) staff.get(0).getId());
}
@@ -27,12 +27,12 @@ import java.util.List;
import lombok.extern.slf4j.Slf4j;
import org.apache.fineract.client.models.BusinessDateRequest;
import org.apache.fineract.client.models.BusinessDateResponse;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.client.util.JSON;
import org.apache.fineract.infrastructure.businessdate.domain.BusinessDateType;
import org.apache.fineract.integrationtests.client.IntegrationTest;
@Slf4j
public final class BusinessDateHelper extends IntegrationTest {
public final class BusinessDateHelper {
private static final Gson GSON = new JSON().getGson();
@@ -53,7 +53,7 @@ public final class BusinessDateHelper extends IntegrationTest {
public BusinessDateResponse updateBusinessDate(final BusinessDateRequest request) {
log.info("------------------UPDATE BUSINESS DATE----------------------");
log.info("------------------Type: {}, date: {}----------------------", request.getType(), request.getDate());
return ok(fineract().businessDateManagement.updateBusinessDate(request));
return Calls.ok(FineractClientHelper.getFineractClient().businessDateManagement.updateBusinessDate(request));
}
// TODO: Rewrite to use fineract-client instead!
@@ -69,11 +69,11 @@ public final class BusinessDateHelper extends IntegrationTest {
}
public BusinessDateResponse getBusinessDate(final String type) {
return ok(fineract().businessDateManagement.getBusinessDate(type));
return Calls.ok(FineractClientHelper.getFineractClient().businessDateManagement.getBusinessDate(type));
}
public List<BusinessDateResponse> getBusinessDates() {
return ok(fineract().businessDateManagement.getBusinessDates());
return Calls.ok(FineractClientHelper.getFineractClient().businessDateManagement.getBusinessDates());
}
// TODO: Rewrite to use fineract-client instead!
@@ -22,9 +22,9 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.fineract.client.models.BusinessStep;
import org.apache.fineract.client.models.UpdateBusinessStepConfigRequest;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.client.util.Calls;
public class BusinessStepHelper extends IntegrationTest {
public class BusinessStepHelper {
public BusinessStepHelper() {}
@@ -38,7 +38,7 @@ public class BusinessStepHelper extends IntegrationTest {
businessStep.setOrder(order);
stepList.add(businessStep);
}
ok(fineract().businessStepConfiguration.updateJobBusinessStepConfig(jobName,
Calls.ok(FineractClientHelper.getFineractClient().businessStepConfiguration.updateJobBusinessStepConfig(jobName,
new UpdateBusinessStepConfigRequest().businessSteps(stepList)));
}
}
@@ -60,16 +60,16 @@ import org.apache.fineract.client.models.PostClientsRequest;
import org.apache.fineract.client.models.PostClientsResponse;
import org.apache.fineract.client.models.PutClientsClientIdResponse;
import org.apache.fineract.client.models.SortOrder;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.client.util.JSON;
import org.apache.fineract.infrastructure.bulkimport.data.GlobalEntityType;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.integrationtests.common.system.CodeHelper;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
@Slf4j
@RequiredArgsConstructor
public class ClientHelper extends IntegrationTest {
public class ClientHelper {
private static final String CLIENT_URL = "/fineract-provider/api/v1/clients";
private static final String CREATE_CLIENT_URL = CLIENT_URL + "?" + Utils.TENANT_IDENTIFIER;
@@ -108,12 +108,12 @@ public class ClientHelper extends IntegrationTest {
}
public PostClientsResponse createClient(final PostClientsRequest request) {
return ok(fineract().clients.create6(request));
return Calls.ok(FineractClientHelper.getFineractClient().clients.create6(request));
}
public PostClientsClientIdIdentifiersResponse createClientIdentifer(final Long clientId,
final PostClientsClientIdIdentifiersRequest request) {
return ok(fineract().clientIdentifiers.createClientIdentifier(clientId, request));
return Calls.ok(FineractClientHelper.getFineractClient().clientIdentifiers.createClientIdentifier(clientId, request));
}
public PageClientSearchData searchClients(String text) {
@@ -144,7 +144,7 @@ public class ClientHelper extends IntegrationTest {
}
public PageClientSearchData searchClients(PagedRequestClientTextSearch request) {
return ok(fineract().clientSearchV2.searchByText(request));
return Calls.ok(FineractClientHelper.getFineractClient().clientSearchV2.searchByText(request));
}
// TODO: Rewrite to use fineract-client instead!
@@ -1134,27 +1134,31 @@ public class ClientHelper extends IntegrationTest {
}
public GetClientsClientIdTransactionsResponse getAllClientTransactionsByExternalId(final String externalId) {
return ok(fineract().clientTransactions.retrieveAllClientTransactions1(externalId, 0, 100));
return Calls.ok(FineractClientHelper.getFineractClient().clientTransactions.retrieveAllClientTransactions1(externalId, 0, 100));
}
public GetClientsClientIdTransactionsTransactionIdResponse getClientTransactionByExternalId(final String externalId,
final String transactionId) {
return ok(fineract().clientTransactions.retrieveClientTransaction2(externalId, Long.parseLong(transactionId)));
return Calls.ok(FineractClientHelper.getFineractClient().clientTransactions.retrieveClientTransaction2(externalId,
Long.parseLong(transactionId)));
}
public GetClientsClientIdTransactionsTransactionIdResponse getClientTransactionByTransactionExternalId(final Long clientId,
final String transactionExternalId) {
return ok(fineract().clientTransactions.retrieveClientTransaction1(clientId, transactionExternalId));
return Calls.ok(
FineractClientHelper.getFineractClient().clientTransactions.retrieveClientTransaction1(clientId, transactionExternalId));
}
public PostClientsClientIdTransactionsTransactionIdResponse undoClientTransactionByExternalId(final String externalId,
final String transactionId) {
return ok(fineract().clientTransactions.undoClientTransaction2(externalId, Long.parseLong(transactionId), "undo"));
return Calls.ok(FineractClientHelper.getFineractClient().clientTransactions.undoClientTransaction2(externalId,
Long.parseLong(transactionId), "undo"));
}
public PostClientsClientIdTransactionsTransactionIdResponse undoClientTransactionByTransactionExternalId(final Long clientId,
final String transactionExternalId) {
return ok(fineract().clientTransactions.undoClientTransaction1(clientId, transactionExternalId, "undo"));
return Calls.ok(FineractClientHelper.getFineractClient().clientTransactions.undoClientTransaction1(clientId, transactionExternalId,
"undo"));
}
// TODO: Rewrite to use fineract-client instead!
@@ -1212,7 +1216,7 @@ public class ClientHelper extends IntegrationTest {
}
public GetLoanAccountLockResponse retrieveLockedAccounts(int page, int limit) {
return ok(fineract().loanAccountLockApi.retrieveLockedAccounts(page, limit));
return Calls.ok(FineractClientHelper.getFineractClient().loanAccountLockApi.retrieveLockedAccounts(page, limit));
}
public static PostClientsClientIdIdentifiersRequest createClientIdentifer(final Long documentType) {
@@ -18,6 +18,9 @@
*/
package org.apache.fineract.integrationtests.common;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
@@ -32,68 +35,67 @@ import org.apache.fineract.client.models.PagedRequestExternalAssetOwnerSearchReq
import org.apache.fineract.client.models.PostFinancialActivityAccountsRequest;
import org.apache.fineract.client.models.PostInitiateTransferRequest;
import org.apache.fineract.client.models.PostInitiateTransferResponse;
import org.apache.fineract.client.util.CallFailedRuntimeException;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.integrationtests.common.accounting.Account;
import org.apache.fineract.integrationtests.common.accounting.FinancialActivityAccountHelper;
import retrofit2.Response;
public class ExternalAssetOwnerHelper extends IntegrationTest {
public class ExternalAssetOwnerHelper {
public ExternalAssetOwnerHelper() {}
public PostInitiateTransferResponse initiateTransferByLoanId(Long loanId, String command, PostInitiateTransferRequest request) {
return ok(fineract().externalAssetOwners.transferRequestWithLoanId(loanId, request, command));
return Calls.ok(FineractClientHelper.getFineractClient().externalAssetOwners.transferRequestWithLoanId(loanId, request, command));
}
public void cancelTransferByTransferExternalId(String transferExternalId) {
ok(fineract().externalAssetOwners.transferRequestWithId1(transferExternalId, "cancel"));
Calls.ok(FineractClientHelper.getFineractClient().externalAssetOwners.transferRequestWithId1(transferExternalId, "cancel"));
}
public void cancelTransferByTransferExternalIdError(String transferExternalId) {
Response<PostInitiateTransferResponse> response = Calls
.executeU(fineract().externalAssetOwners.transferRequestWithId1(transferExternalId, "cancel"));
assertThat(response.code()).isEqualTo(403);
CallFailedRuntimeException exception = assertThrows(CallFailedRuntimeException.class, () -> Calls
.okR(FineractClientHelper.getFineractClient().externalAssetOwners.transferRequestWithId1(transferExternalId, "cancel")));
assertEquals(403, exception.getResponse().code());
}
public PageExternalTransferData retrieveTransferByTransferExternalId(String transferExternalId) {
return ok(fineract().externalAssetOwners.getTransfers(transferExternalId, null, null, 0, 100));
return Calls.ok(FineractClientHelper.getFineractClient().externalAssetOwners.getTransfers(transferExternalId, null, null, 0, 100));
}
public PageExternalTransferData retrieveTransferByLoanExternalId(String loanExternalId) {
return ok(fineract().externalAssetOwners.getTransfers(null, null, loanExternalId, 0, 100));
return Calls.ok(FineractClientHelper.getFineractClient().externalAssetOwners.getTransfers(null, null, loanExternalId, 0, 100));
}
public PageExternalTransferData retrieveTransfersByLoanId(Long loanId) {
return ok(fineract().externalAssetOwners.getTransfers(null, loanId, null, 0, 100));
return Calls.ok(FineractClientHelper.getFineractClient().externalAssetOwners.getTransfers(null, loanId, null, 0, 100));
}
public PageExternalTransferData retrieveTransfersByLoanId(Long loanId, int offset, int limit) {
return ok(fineract().externalAssetOwners.getTransfers(null, loanId, null, offset, limit));
return Calls.ok(FineractClientHelper.getFineractClient().externalAssetOwners.getTransfers(null, loanId, null, offset, limit));
}
public ExternalTransferData retrieveActiveTransferByLoanExternalId(String loanExternalId) {
return ok(fineract().externalAssetOwners.getActiveTransfer(null, null, loanExternalId));
return Calls.ok(FineractClientHelper.getFineractClient().externalAssetOwners.getActiveTransfer(null, null, loanExternalId));
}
public ExternalTransferData retrieveActiveTransferByTransferExternalId(String transferExternalId) {
return ok(fineract().externalAssetOwners.getActiveTransfer(transferExternalId, null, null));
return Calls.ok(FineractClientHelper.getFineractClient().externalAssetOwners.getActiveTransfer(transferExternalId, null, null));
}
public ExternalTransferData retrieveActiveTransferByLoanId(Long loanId) {
return ok(fineract().externalAssetOwners.getActiveTransfer(null, loanId, null));
return Calls.ok(FineractClientHelper.getFineractClient().externalAssetOwners.getActiveTransfer(null, loanId, null));
}
public ExternalOwnerTransferJournalEntryData retrieveJournalEntriesOfTransfer(Long transferId) {
return ok(fineract().externalAssetOwners.getJournalEntriesOfTransfer(transferId, 0, 100));
return Calls.ok(FineractClientHelper.getFineractClient().externalAssetOwners.getJournalEntriesOfTransfer(transferId, 0, 100));
}
public ExternalOwnerJournalEntryData retrieveJournalEntriesOfOwner(String ownerExternalId) {
return ok(fineract().externalAssetOwners.getJournalEntriesOfOwner(ownerExternalId, 0, 100));
return Calls.ok(FineractClientHelper.getFineractClient().externalAssetOwners.getJournalEntriesOfOwner(ownerExternalId, 0, 100));
}
public PageExternalTransferData searchExternalAssetOwnerTransfer(PagedRequestExternalAssetOwnerSearchRequest request) {
return ok(fineract().externalAssetOwners.searchInvestorData(request));
return Calls.ok(FineractClientHelper.getFineractClient().externalAssetOwners.searchInvestorData(request));
}
public PagedRequestExternalAssetOwnerSearchRequest buildExternalAssetOwnerSearchRequest(String text, String attribute,
@@ -0,0 +1,55 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.fineract.integrationtests.common;
import java.util.function.Consumer;
import java.util.function.Function;
import okhttp3.logging.HttpLoggingInterceptor;
import org.apache.fineract.client.util.FineractClient;
import org.apache.fineract.integrationtests.ConfigProperties;
public final class FineractClientHelper {
private static final FineractClient DEFAULT_FINERACT_CLIENT = createNewFineractClient(ConfigProperties.Backend.USERNAME,
ConfigProperties.Backend.PASSWORD);
private FineractClientHelper() {}
public static FineractClient getFineractClient() {
return DEFAULT_FINERACT_CLIENT;
}
public static FineractClient createNewFineractClient(String username, String password) {
return createNewFineractClient(username, password, Function.identity()::apply);
}
public static FineractClient createNewFineractClient(String username, String password, Consumer<FineractClient.Builder> customizer) {
String url = System.getProperty("fineract.it.url", buildURI());
// insecure(true) should *ONLY* ever be used for https://localhost:8443, NOT in real clients!!
FineractClient.Builder builder = FineractClient.builder().insecure(true).baseURL(url).tenant(ConfigProperties.Backend.TENANT)
.basicAuth(username, password).logging(HttpLoggingInterceptor.Level.NONE);
customizer.accept(builder);
return builder.build();
}
private static String buildURI() {
return ConfigProperties.Backend.PROTOCOL + "://" + ConfigProperties.Backend.HOST + ":" + ConfigProperties.Backend.PORT
+ "/fineract-provider/api/";
}
}
@@ -30,26 +30,26 @@ import org.apache.fineract.client.models.GetGlobalConfigurationsResponse;
import org.apache.fineract.client.models.GlobalConfigurationPropertyData;
import org.apache.fineract.client.models.PutGlobalConfigurationsRequest;
import org.apache.fineract.client.models.PutGlobalConfigurationsResponse;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.client.util.JSON;
import org.apache.fineract.infrastructure.configuration.api.GlobalConfigurationConstants;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.junit.jupiter.api.Assertions;
@SuppressWarnings({ "unused", "rawtypes" })
@Slf4j
@RequiredArgsConstructor
public class GlobalConfigurationHelper extends IntegrationTest {
public class GlobalConfigurationHelper {
private static final Gson GSON = new JSON().getGson();
public GetGlobalConfigurationsResponse getAllGlobalConfigurations() {
log.info("------------------------ RETRIEVING ALL GLOBAL CONFIGURATIONS -------------------------");
return ok(fineract().globalConfigurations.retrieveConfiguration(false));
return Calls.ok(FineractClientHelper.getFineractClient().globalConfigurations.retrieveConfiguration(false));
}
public GlobalConfigurationPropertyData getGlobalConfigurationByName(final String configName) {
log.info("------------------------ RETRIEVING GLOBAL CONFIGURATION BY NAME -------------------------");
return ok(fineract().globalConfigurations.retrieveOneByName(configName));
return Calls.ok(FineractClientHelper.getFineractClient().globalConfigurations.retrieveOneByName(configName));
}
// TODO: This is quite a bad pattern and adds a lot of time to individual test executions
@@ -540,12 +540,12 @@ public class GlobalConfigurationHelper extends IntegrationTest {
public PutGlobalConfigurationsResponse updateGlobalConfiguration(final String configName, PutGlobalConfigurationsRequest request) {
log.info("---------------------------------UPDATE VALUE FOR GLOBAL CONFIG---------------------------------------------");
return ok(fineract().globalConfigurations.updateConfigurationByName(configName, request));
return Calls.ok(FineractClientHelper.getFineractClient().globalConfigurations.updateConfigurationByName(configName, request));
}
public void updateGlobalConfigurationInternal(final String configName, final Long value) {
log.info("---------------------------UPDATE VALUE FOR GLOBAL CONFIG (internal) ---------------------------------------");
ok(fineract().legacy.updateGlobalConfiguration(configName, value));
Calls.ok(FineractClientHelper.getFineractClient().legacy.updateGlobalConfiguration(configName, value));
}
public void manageConfigurations(final String configurationName, final boolean enabled) {
@@ -27,9 +27,9 @@ import org.apache.fineract.client.models.PostCreateRescheduleLoansRequest;
import org.apache.fineract.client.models.PostCreateRescheduleLoansResponse;
import org.apache.fineract.client.models.PostUpdateRescheduleLoansRequest;
import org.apache.fineract.client.models.PostUpdateRescheduleLoansResponse;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.client.util.Calls;
public class LoanRescheduleRequestHelper extends IntegrationTest {
public class LoanRescheduleRequestHelper {
private final RequestSpecification requestSpec;
private final ResponseSpecification responseSpec;
@@ -101,14 +101,16 @@ public class LoanRescheduleRequestHelper extends IntegrationTest {
}
public PostCreateRescheduleLoansResponse createLoanRescheduleRequest(PostCreateRescheduleLoansRequest request) {
return ok(fineract().rescheduleLoans.createLoanRescheduleRequest(request));
return Calls.ok(FineractClientHelper.getFineractClient().rescheduleLoans.createLoanRescheduleRequest(request));
}
public PostUpdateRescheduleLoansResponse approveLoanRescheduleRequest(Long scheduleId, PostUpdateRescheduleLoansRequest request) {
return ok(fineract().rescheduleLoans.updateLoanRescheduleRequest(scheduleId, request, "approve"));
return Calls
.ok(FineractClientHelper.getFineractClient().rescheduleLoans.updateLoanRescheduleRequest(scheduleId, request, "approve"));
}
public PostUpdateRescheduleLoansResponse rejectLoanRescheduleRequest(Long scheduleId, PostUpdateRescheduleLoansRequest request) {
return ok(fineract().rescheduleLoans.updateLoanRescheduleRequest(scheduleId, request, "reject"));
return Calls
.ok(FineractClientHelper.getFineractClient().rescheduleLoans.updateLoanRescheduleRequest(scheduleId, request, "reject"));
}
}
@@ -33,14 +33,13 @@ import org.apache.fineract.client.models.GetOfficesResponse;
import org.apache.fineract.client.models.PutOfficesOfficeIdRequest;
import org.apache.fineract.client.models.PutOfficesOfficeIdResponse;
import org.apache.fineract.client.util.JSON;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import retrofit2.Response;
public class OfficeHelper extends IntegrationTest {
public class OfficeHelper {
public static final long HEAD_OFFICE_ID = 1L; // The ID is hardcoded in the initial Liquibase migration script
@@ -117,12 +116,12 @@ public class OfficeHelper extends IntegrationTest {
}
public Response<GetOfficesResponse> retrieveOfficeByExternalId(String externalId) throws IOException {
return fineract().offices.retrieveOfficeByExternalId(externalId).execute();
return FineractClientHelper.getFineractClient().offices.retrieveOfficeByExternalId(externalId).execute();
}
public Response<PutOfficesOfficeIdResponse> updateOfficeUsingExternalId(String externalId, String name, String openingDate)
throws IOException {
return fineract().offices
return FineractClientHelper.getFineractClient().offices
.updateOfficeWithExternalId(externalId,
new PutOfficesOfficeIdRequest().name(name).openingDate(openingDate).dateFormat("dd MMMM yyyy").locale("en"))
.execute();
@@ -33,11 +33,11 @@ import org.apache.fineract.client.models.PostPaymentTypesRequest;
import org.apache.fineract.client.models.PostPaymentTypesResponse;
import org.apache.fineract.client.models.PutPaymentTypesPaymentTypeIdRequest;
import org.apache.fineract.client.models.PutPaymentTypesPaymentTypeIdResponse;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.client.util.Calls;
@SuppressWarnings({ "rawtypes", "unchecked" })
@Slf4j
public final class PaymentTypeHelper extends IntegrationTest {
public final class PaymentTypeHelper {
public PaymentTypeHelper() {
@@ -48,24 +48,25 @@ public final class PaymentTypeHelper extends IntegrationTest {
public List<GetPaymentTypesResponse> getAllPaymentTypes(final Boolean onlyWithCode) {
log.info("-------------------------------GETTING ALL PAYMENT TYPES-------------------------------------------");
return ok(fineract().paymentTypes.getAllPaymentTypes(onlyWithCode));
return Calls.ok(FineractClientHelper.getFineractClient().paymentTypes.getAllPaymentTypes(onlyWithCode));
}
public PostPaymentTypesResponse createPaymentType(final PostPaymentTypesRequest postPaymentTypesRequest) {
log.info("---------------------------------CREATING A PAYMENT TYPE---------------------------------------------");
return ok(fineract().paymentTypes.createPaymentType(postPaymentTypesRequest));
return Calls.ok(FineractClientHelper.getFineractClient().paymentTypes.createPaymentType(postPaymentTypesRequest));
}
public void verifyPaymentTypeCreatedOnServer(final Long generatedPaymentTypeID) {
log.info("-------------------------------CHECK PAYMENT DETAILS-------------------------------------------");
GetPaymentTypesPaymentTypeIdResponse response = ok(fineract().paymentTypes.retrieveOnePaymentType(generatedPaymentTypeID));
GetPaymentTypesPaymentTypeIdResponse response = Calls
.ok(FineractClientHelper.getFineractClient().paymentTypes.retrieveOnePaymentType(generatedPaymentTypeID));
Long responsePaymentTypeID = response.getId();
assertEquals(generatedPaymentTypeID, responsePaymentTypeID, "ERROR IN CREATING THE PAYMENT TYPE");
}
public GetPaymentTypesPaymentTypeIdResponse retrieveById(final Long paymentTypeId) {
log.info("-------------------------------GETTING PAYMENT TYPE-------------------------------------------");
return ok(fineract().paymentTypes.retrieveOnePaymentType(paymentTypeId));
return Calls.ok(FineractClientHelper.getFineractClient().paymentTypes.retrieveOnePaymentType(paymentTypeId));
}
// TODO: Rewrite to use fineract-client instead!
@@ -83,12 +84,13 @@ public final class PaymentTypeHelper extends IntegrationTest {
public PutPaymentTypesPaymentTypeIdResponse updatePaymentType(final Long paymentTypeId,
PutPaymentTypesPaymentTypeIdRequest putPaymentTypesPaymentTypeIdRequest) {
log.info("-------------------------------UPDATING PAYMENT TYPE-------------------------------------------");
return ok(fineract().paymentTypes.updatePaymentType(paymentTypeId, putPaymentTypesPaymentTypeIdRequest));
return Calls.ok(FineractClientHelper.getFineractClient().paymentTypes.updatePaymentType(paymentTypeId,
putPaymentTypesPaymentTypeIdRequest));
}
public DeletePaymentTypesPaymentTypeIdResponse deletePaymentType(final Long paymentTypeId) {
log.info("-------------------------------DELETING PAYMENT TYPE-------------------------------------------");
return ok(fineract().paymentTypes.deleteCode1(paymentTypeId));
return Calls.ok(FineractClientHelper.getFineractClient().paymentTypes.deleteCode1(paymentTypeId));
}
public static String randomNameGenerator(final String prefix, final int lenOfRandomSuffix) {
@@ -44,14 +44,14 @@ import java.util.function.Function;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import org.apache.fineract.client.models.PutJobsJobIDRequest;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.infrastructure.businessdate.domain.BusinessDateType;
import org.apache.fineract.infrastructure.core.service.DateUtils;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.hamcrest.MatcherAssert;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class SchedulerJobHelper extends IntegrationTest {
public class SchedulerJobHelper {
private static final Logger LOG = LoggerFactory.getLogger(SchedulerJobHelper.class);
private final RequestSpecification requestSpec;
@@ -131,7 +131,7 @@ public class SchedulerJobHelper extends IntegrationTest {
public void updateSchedulerStatus(final boolean on) {
String command = on ? "start" : "stop";
ok(fineract().jobsScheduler.changeSchedulerStatus(command));
Calls.ok(FineractClientHelper.getFineractClient().jobsScheduler.changeSchedulerStatus(command));
}
// TODO: Rewrite to use fineract-client instead!
@@ -147,7 +147,7 @@ public class SchedulerJobHelper extends IntegrationTest {
}
public void updateSchedulerJob(long jobId, PutJobsJobIDRequest request) {
ok(fineract().jobs.updateJobDetail(jobId, request));
Calls.ok(FineractClientHelper.getFineractClient().jobs.updateJobDetail(jobId, request));
}
// TODO: Rewrite to use fineract-client instead!
@@ -24,11 +24,12 @@ import java.util.ArrayList;
import java.util.HashMap;
import org.apache.fineract.client.models.PostGLAccountsRequest;
import org.apache.fineract.client.models.PostGLAccountsResponse;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.integrationtests.common.FineractClientHelper;
import org.apache.fineract.integrationtests.common.Utils;
@SuppressWarnings("rawtypes")
public class AccountHelper extends IntegrationTest {
public class AccountHelper {
private static final String CREATE_GL_ACCOUNT_URL = "/fineract-provider/api/v1/glaccounts?" + Utils.TENANT_IDENTIFIER;
private static final String GL_ACCOUNT_ID_RESPONSE = "resourceId";
@@ -142,7 +143,7 @@ public class AccountHelper extends IntegrationTest {
}
public PostGLAccountsResponse createGLAccount(final PostGLAccountsRequest request) {
return ok(fineract().glAccounts.createGLAccount1(request));
return Calls.ok(FineractClientHelper.getFineractClient().glAccounts.createGLAccount1(request));
}
}
@@ -26,11 +26,12 @@ import org.apache.fineract.client.models.DeleteFinancialActivityAccountsResponse
import org.apache.fineract.client.models.GetFinancialActivityAccountsResponse;
import org.apache.fineract.client.models.PostFinancialActivityAccountsRequest;
import org.apache.fineract.client.models.PostFinancialActivityAccountsResponse;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.integrationtests.common.FineractClientHelper;
import org.apache.fineract.integrationtests.common.Utils;
@SuppressWarnings("rawtypes")
public class FinancialActivityAccountHelper extends IntegrationTest {
public class FinancialActivityAccountHelper {
private static final String FINANCIAL_ACTIVITY_ACCOUNT_MAPPING_URL = "/fineract-provider/api/v1/financialactivityaccounts";
private final RequestSpecification requestSpec;
@@ -91,14 +92,14 @@ public class FinancialActivityAccountHelper extends IntegrationTest {
}
public PostFinancialActivityAccountsResponse createFinancialActivityAccount(PostFinancialActivityAccountsRequest request) {
return ok(fineract().financialActivyAccountMappings.createGLAccount(request));
return Calls.ok(FineractClientHelper.getFineractClient().financialActivyAccountMappings.createGLAccount(request));
}
public List<GetFinancialActivityAccountsResponse> getAllFinancialActivityAccounts() {
return ok(fineract().financialActivyAccountMappings.retrieveAll());
return Calls.ok(FineractClientHelper.getFineractClient().financialActivyAccountMappings.retrieveAll());
}
public DeleteFinancialActivityAccountsResponse deleteFinancialActivityAccount(Long financialMappingId) {
return ok(fineract().financialActivyAccountMappings.deleteGLAccount(financialMappingId));
return Calls.ok(FineractClientHelper.getFineractClient().financialActivyAccountMappings.deleteGLAccount(financialMappingId));
}
}
@@ -25,16 +25,17 @@ import java.util.ArrayList;
import java.util.HashMap;
import org.apache.fineract.client.models.PostChargesRequest;
import org.apache.fineract.client.models.PostChargesResponse;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.client.util.JSON;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.integrationtests.common.CommonConstants;
import org.apache.fineract.integrationtests.common.FineractClientHelper;
import org.apache.fineract.integrationtests.common.Utils;
import org.apache.fineract.portfolio.charge.domain.ChargeTimeType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({ "rawtypes", "unchecked" })
public final class ChargesHelper extends IntegrationTest {
public final class ChargesHelper {
public ChargesHelper() {
@@ -788,6 +789,6 @@ public final class ChargesHelper extends IntegrationTest {
}
public PostChargesResponse createCharges(PostChargesRequest request) {
return ok(fineract().charges.createCharge(request));
return Calls.ok(FineractClientHelper.getFineractClient().charges.createCharge(request));
}
}
@@ -28,15 +28,16 @@ import lombok.Builder;
import lombok.extern.slf4j.Slf4j;
import org.apache.fineract.client.models.CommandProcessingResult;
import org.apache.fineract.client.models.PutExternalEventConfigurationsRequest;
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.integrationtests.client.IntegrationTest;
import org.apache.fineract.integrationtests.common.ExternalEventConfigurationHelper;
import org.apache.fineract.integrationtests.common.FineractClientHelper;
import org.apache.fineract.integrationtests.common.Utils;
import org.junit.jupiter.api.Assertions;
@Slf4j
public final class ExternalEventHelper extends IntegrationTest {
public final class ExternalEventHelper {
private static final Gson GSON = new JSON().getGson();
@@ -121,8 +122,9 @@ public final class ExternalEventHelper extends IntegrationTest {
}
public void configureBusinessEvent(String eventName, boolean enabled) {
CommandProcessingResult result = ok(fineract().externalEventConfigurationApi.updateExternalEventConfigurationsDetails(
new PutExternalEventConfigurationsRequest().putExternalEventConfigurationsItem(eventName, enabled)));
CommandProcessingResult result = Calls
.ok(FineractClientHelper.getFineractClient().externalEventConfigurationApi.updateExternalEventConfigurationsDetails(
new PutExternalEventConfigurationsRequest().putExternalEventConfigurationsItem(eventName, enabled)));
Map<String, Object> changes = result.getChanges();
Assertions.assertNotNull(changes);
Assertions.assertInstanceOf(Map.class, changes);
@@ -22,10 +22,9 @@ import com.google.gson.Gson;
import io.restassured.specification.RequestSpecification;
import io.restassured.specification.ResponseSpecification;
import org.apache.fineract.client.util.JSON;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.integrationtests.common.Utils;
public class LoanAccountLockHelper extends IntegrationTest {
public class LoanAccountLockHelper {
private static final String INTERNAL_PLACE_LOCK_ON_LOAN_ACCOUNT_URL = "/fineract-provider/api/v1/internal/loans/";
private static final Gson GSON = new JSON().getGson();
@@ -23,12 +23,13 @@ import java.util.Objects;
import lombok.extern.slf4j.Slf4j;
import org.apache.fineract.client.models.GetOldestCOBProcessedLoanResponse;
import org.apache.fineract.client.models.IsCatchUpRunningResponse;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.integrationtests.common.FineractClientHelper;
import org.jetbrains.annotations.NotNull;
import retrofit2.Response;
@Slf4j
public class LoanCOBCatchUpHelper extends IntegrationTest {
public class LoanCOBCatchUpHelper {
public LoanCOBCatchUpHelper() {}
@@ -47,15 +48,15 @@ public class LoanCOBCatchUpHelper extends IntegrationTest {
}
public Response<Void> executeLoanCOBCatchUp() {
return okR(fineract().loanCobCatchUpApi.executeLoanCOBCatchUp());
return Calls.okR(FineractClientHelper.getFineractClient().loanCobCatchUpApi.executeLoanCOBCatchUp());
}
public GetOldestCOBProcessedLoanResponse executeRetrieveOldestCOBProcessedLoan() {
return ok(fineract().loanCobCatchUpApi.getOldestCOBProcessedLoan());
return Calls.ok(FineractClientHelper.getFineractClient().loanCobCatchUpApi.getOldestCOBProcessedLoan());
}
public Response<IsCatchUpRunningResponse> executeGetLoanCatchUpStatus() {
return okR(fineract().loanCobCatchUpApi.isCatchUpRunning());
return Calls.okR(FineractClientHelper.getFineractClient().loanCobCatchUpApi.isCatchUpRunning());
}
}
@@ -24,33 +24,34 @@ import org.apache.fineract.client.models.PostLoanProductsRequest;
import org.apache.fineract.client.models.PostLoanProductsResponse;
import org.apache.fineract.client.models.PutLoanProductsProductIdRequest;
import org.apache.fineract.client.models.PutLoanProductsProductIdResponse;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.integrationtests.common.FineractClientHelper;
public class LoanProductHelper extends IntegrationTest {
public class LoanProductHelper {
public LoanProductHelper() {}
public PostLoanProductsResponse createLoanProduct(PostLoanProductsRequest request) {
return ok(fineract().loanProducts.createLoanProduct(request));
return Calls.ok(FineractClientHelper.getFineractClient().loanProducts.createLoanProduct(request));
}
public GetLoanProductsProductIdResponse retrieveLoanProductByExternalId(String externalId) {
return ok(fineract().loanProducts.retrieveLoanProductDetails1(externalId));
return Calls.ok(FineractClientHelper.getFineractClient().loanProducts.retrieveLoanProductDetails1(externalId));
}
public GetLoanProductsProductIdResponse retrieveLoanProductById(Long loanProductId) {
return ok(fineract().loanProducts.retrieveLoanProductDetails(loanProductId));
return Calls.ok(FineractClientHelper.getFineractClient().loanProducts.retrieveLoanProductDetails(loanProductId));
}
public PutLoanProductsProductIdResponse updateLoanProductByExternalId(String externalId, PutLoanProductsProductIdRequest request) {
return ok(fineract().loanProducts.updateLoanProduct1(externalId, request));
return Calls.ok(FineractClientHelper.getFineractClient().loanProducts.updateLoanProduct1(externalId, request));
}
public PutLoanProductsProductIdResponse updateLoanProductById(Long loanProductId, PutLoanProductsProductIdRequest request) {
return ok(fineract().loanProducts.updateLoanProduct(loanProductId, request));
return Calls.ok(FineractClientHelper.getFineractClient().loanProducts.updateLoanProduct(loanProductId, request));
}
public GetLoanProductsTemplateResponse getLoanProductTemplate(boolean isProductMixTemplate) {
return ok(fineract().loanProducts.retrieveTemplate11(isProductMixTemplate));
return Calls.ok(FineractClientHelper.getFineractClient().loanProducts.retrieveTemplate11(isProductMixTemplate));
}
}
@@ -21,6 +21,7 @@ package org.apache.fineract.integrationtests.common.loans;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
import com.google.common.reflect.TypeToken;
@@ -85,10 +86,12 @@ import org.apache.fineract.client.models.PutLoansLoanIdChargesChargeIdRequest;
import org.apache.fineract.client.models.PutLoansLoanIdChargesChargeIdResponse;
import org.apache.fineract.client.models.PutLoansLoanIdRequest;
import org.apache.fineract.client.models.PutLoansLoanIdResponse;
import org.apache.fineract.client.util.CallFailedRuntimeException;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.client.util.JSON;
import org.apache.fineract.infrastructure.core.service.DateUtils;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.integrationtests.common.CommonConstants;
import org.apache.fineract.integrationtests.common.FineractClientHelper;
import org.apache.fineract.integrationtests.common.PaymentTypeHelper;
import org.apache.fineract.integrationtests.common.Utils;
import org.apache.fineract.integrationtests.common.accounting.Account;
@@ -98,7 +101,7 @@ import org.apache.poi.ss.usermodel.Workbook;
@Slf4j
@SuppressWarnings({ "rawtypes", "unchecked" })
public class LoanTransactionHelper extends IntegrationTest {
public class LoanTransactionHelper {
public static final String DATE_FORMAT = "d MMMM yyyy";
public static final String DATE_TIME_FORMAT = "dd MMMM yyyy HH:mm";
@@ -285,7 +288,7 @@ public class LoanTransactionHelper extends IntegrationTest {
public PutLoansLoanIdResponse modifyLoanApplication(final String loanExternalId, final String command,
final PutLoansLoanIdRequest request) {
return ok(fineract().loans.modifyLoanApplication1(loanExternalId, request, command));
return Calls.ok(FineractClientHelper.getFineractClient().loans.modifyLoanApplication1(loanExternalId, request, command));
}
// TODO: Rewrite to use fineract-client instead!
@@ -397,25 +400,26 @@ public class LoanTransactionHelper extends IntegrationTest {
}
public List<GetDelinquencyActionsResponse> getLoanDelinquencyActions(final Long loanID) {
return ok(fineract().loans.getLoanDelinquencyActions(loanID));
return Calls.ok(FineractClientHelper.getFineractClient().loans.getLoanDelinquencyActions(loanID));
}
public List<GetDelinquencyActionsResponse> getLoanDelinquencyActions(String externalId) {
return ok(fineract().loans.getLoanDelinquencyActions1(externalId));
return Calls.ok(FineractClientHelper.getFineractClient().loans.getLoanDelinquencyActions1(externalId));
}
public PostLoansDelinquencyActionResponse createLoanDelinquencyAction(final Long loanid, DelinquencyAction action, String startDate,
String endDate) {
PostLoansDelinquencyActionRequest postLoansDelinquencyAction = new PostLoansDelinquencyActionRequest().action(action.name())
.startDate(startDate).endDate(endDate).locale("en").dateFormat("dd MMMM yyyy");
return ok(fineract().loans.createLoanDelinquencyAction(loanid, postLoansDelinquencyAction));
return Calls.ok(FineractClientHelper.getFineractClient().loans.createLoanDelinquencyAction(loanid, postLoansDelinquencyAction));
}
public PostLoansDelinquencyActionResponse createLoanDelinquencyAction(String externalId, DelinquencyAction action, String startDate,
String endDate) {
PostLoansDelinquencyActionRequest postLoansDelinquencyAction = new PostLoansDelinquencyActionRequest().action(action.name())
.startDate(startDate).endDate(endDate).locale("en").dateFormat("dd MMMM yyyy");
return ok(fineract().loans.createLoanDelinquencyAction1(externalId, postLoansDelinquencyAction));
return Calls
.ok(FineractClientHelper.getFineractClient().loans.createLoanDelinquencyAction1(externalId, postLoansDelinquencyAction));
}
public PostLoansDelinquencyActionResponse createLoanDelinquencyAction(final Long loanid, DelinquencyAction action, String startDate) {
@@ -452,19 +456,19 @@ public class LoanTransactionHelper extends IntegrationTest {
}
public List<GetLoansLoanIdChargesChargeIdResponse> getLoanCharges(final Long loanId) {
return ok(fineract().loanCharges.retrieveAllLoanCharges(loanId));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.retrieveAllLoanCharges(loanId));
}
public List<GetLoansLoanIdChargesChargeIdResponse> getLoanCharges(final String loanExternalId) {
return ok(fineract().loanCharges.retrieveAllLoanCharges1(loanExternalId));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.retrieveAllLoanCharges1(loanExternalId));
}
public GetLoansLoanIdChargesTemplateResponse getLoanChargeTemplate(final Long loanId) {
return ok(fineract().loanCharges.retrieveTemplate8(loanId));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.retrieveTemplate8(loanId));
}
public GetLoansLoanIdChargesTemplateResponse getLoanChargeTemplate(final String loanExternalId) {
return ok(fineract().loanCharges.retrieveTemplate9(loanExternalId));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.retrieveTemplate9(loanExternalId));
}
// TODO: Rewrite to use fineract-client instead!
@@ -872,10 +876,11 @@ public class LoanTransactionHelper extends IntegrationTest {
}
public PostLoansLoanIdTransactionsResponse makeLoanRepayment(final Long loanId, final String command, final String date,
final Double amount) {
log.info("Make {} with amount {} in {} for Loan {}", command, amount, date, loanId);
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, new PostLoansLoanIdTransactionsRequest()
.transactionAmount(amount).transactionDate(date).dateFormat("dd MMMM yyyy").locale("en"), command));
final Double amountToBePaid) {
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId,
new PostLoansLoanIdTransactionsRequest().transactionAmount(amountToBePaid).transactionDate(date).dateFormat("dd MMMM yyyy")
.locale("en"),
command));
}
// TODO: Rewrite to use fineract-client instead!
@@ -888,12 +893,13 @@ public class LoanTransactionHelper extends IntegrationTest {
}
public PostLoansLoanIdTransactionsResponse makeLoanRepayment(final Long loanId, final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "repayment"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "repayment"));
}
public PostLoansLoanIdTransactionsResponse makeLoanRepayment(final Long loanId, final PostLoansLoanIdTransactionsRequest request,
final String user, final String pass) {
return ok(newFineract(user, pass).loanTransactions.executeLoanTransaction(loanId, request, "repayment"));
return Calls.ok(FineractClientHelper.createNewFineractClient(user, pass).loanTransactions.executeLoanTransaction(loanId, request,
"repayment"));
}
// TODO: Rewrite to use fineract-client instead!
@@ -968,223 +974,256 @@ public class LoanTransactionHelper extends IntegrationTest {
public PostLoansLoanIdTransactionsResponse makeInterestPaymentWaiver(final Long loanId,
final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "interestPaymentWaiver"));
return Calls.ok(
FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "interestPaymentWaiver"));
}
public PostLoansLoanIdTransactionsResponse makeInterestPaymentWaiver(final String loanExternalId,
final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "interestPaymentWaiver"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request,
"interestPaymentWaiver"));
}
public PostLoansLoanIdTransactionsResponse reAge(final Long loanId, final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "reAge"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "reAge"));
}
public PostLoansLoanIdTransactionsResponse reAmortize(final Long loanId, final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "reAmortize"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "reAmortize"));
}
public PostLoansLoanIdTransactionsResponse undoReAge(final Long loanId, final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "undoReAge"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "undoReAge"));
}
public PostLoansLoanIdTransactionsResponse undoReAmortize(final Long loanId, final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "undoReAmortize"));
return Calls
.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "undoReAmortize"));
}
public PutChargeTransactionChangesResponse undoWaiveLoanCharge(final Long loanId, final Long transactionId,
final PutChargeTransactionChangesRequest request) {
log.info("--------------------------------- UNDO WAIVE CHARGES FOR LOAN --------------------------------");
return ok(fineract().loanTransactions.undoWaiveCharge(loanId, transactionId, request));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.undoWaiveCharge(loanId, transactionId, request));
}
public PutChargeTransactionChangesResponse undoWaiveLoanCharge(final Long loanId, final String transactionExternalId,
final PutChargeTransactionChangesRequest request) {
log.info("--------------------------------- UNDO WAIVE CHARGES FOR LOAN --------------------------------");
return ok(fineract().loanTransactions.undoWaiveCharge1(loanId, transactionExternalId, request));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.undoWaiveCharge1(loanId, transactionExternalId, request));
}
public PutChargeTransactionChangesResponse undoWaiveLoanCharge(final String loanExternalId, final Long transactionId,
final PutChargeTransactionChangesRequest request) {
log.info("--------------------------------- UNDO WAIVE CHARGES FOR LOAN --------------------------------");
return ok(fineract().loanTransactions.undoWaiveCharge2(loanExternalId, transactionId, request));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.undoWaiveCharge2(loanExternalId, transactionId, request));
}
public PutChargeTransactionChangesResponse undoWaiveLoanCharge(final String loanExternalId, final String transactionExternalId,
final PutChargeTransactionChangesRequest request) {
log.info("--------------------------------- UNDO WAIVE CHARGES FOR LOAN --------------------------------");
return ok(fineract().loanTransactions.undoWaiveCharge3(loanExternalId, transactionExternalId, request));
return Calls.ok(
FineractClientHelper.getFineractClient().loanTransactions.undoWaiveCharge3(loanExternalId, transactionExternalId, request));
}
public PostLoansLoanIdChargesChargeIdResponse waiveLoanCharge(final Long loanId, final Long loanChargeId,
final PostLoansLoanIdChargesChargeIdRequest request) {
return ok(fineract().loanCharges.executeLoanCharge2(loanId, loanChargeId, request, "waive"));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.executeLoanCharge2(loanId, loanChargeId, request, "waive"));
}
public PostLoansLoanIdChargesChargeIdResponse waiveLoanCharge(final String loanExternalId, final Long loanChargeId,
final PostLoansLoanIdChargesChargeIdRequest request) {
return ok(fineract().loanCharges.executeLoanCharge4(loanExternalId, loanChargeId, request, "waive"));
return Calls.ok(
FineractClientHelper.getFineractClient().loanCharges.executeLoanCharge4(loanExternalId, loanChargeId, request, "waive"));
}
public PostLoansLoanIdChargesChargeIdResponse waiveLoanCharge(final Long loanId, final String loanChargeExternalId,
final PostLoansLoanIdChargesChargeIdRequest request) {
return ok(fineract().loanCharges.executeLoanCharge3(loanId, loanChargeExternalId, request, "waive"));
return Calls.ok(
FineractClientHelper.getFineractClient().loanCharges.executeLoanCharge3(loanId, loanChargeExternalId, request, "waive"));
}
public PostLoansLoanIdChargesChargeIdResponse waiveLoanCharge(final String loanExternalId, final String loanChargeExternalId,
final PostLoansLoanIdChargesChargeIdRequest request) {
return ok(fineract().loanCharges.executeLoanCharge5(loanExternalId, loanChargeExternalId, request, "waive"));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.executeLoanCharge5(loanExternalId, loanChargeExternalId,
request, "waive"));
}
public PostLoansLoanIdTransactionsResponse makeLoanRepayment(final String loanExternalId,
final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "repayment"));
return Calls.ok(
FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request, "repayment"));
}
public PostLoansLoanIdTransactionsResponse makeMerchantIssuedRefund(final Long loanId,
final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "merchantIssuedRefund"));
return Calls.ok(
FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "merchantIssuedRefund"));
}
public PostLoansLoanIdTransactionsResponse makeMerchantIssuedRefund(final String loanExternalId,
final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "merchantIssuedRefund"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request,
"merchantIssuedRefund"));
}
public PostLoansLoanIdTransactionsResponse makePayoutRefund(final Long loanId, final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "payoutRefund"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "payoutRefund"));
}
public PostLoansLoanIdTransactionsResponse makePayoutRefund(final String loanExternalId,
final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "payoutRefund"));
return Calls.ok(
FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request, "payoutRefund"));
}
public PostLoansLoanIdTransactionsResponse makeChargeRefund(final Long loanId, final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "chargeRefund"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "chargeRefund"));
}
public PostLoansLoanIdTransactionsResponse makeChargeRefund(final String loanExternalId,
final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "chargeRefund"));
return Calls.ok(
FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request, "chargeRefund"));
}
public PostLoansLoanIdTransactionsResponse makeGoodwillCredit(final Long loanId, final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "goodwillCredit"));
return Calls
.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "goodwillCredit"));
}
public PostLoansLoanIdTransactionsResponse makeGoodwillCredit(final String loanExternalId,
final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "goodwillCredit"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request,
"goodwillCredit"));
}
public PostLoansLoanIdTransactionsResponse makeWaiveInterest(final Long loanId, final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "waiveinterest"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "waiveinterest"));
}
public PostLoansLoanIdTransactionsResponse makeWaiveInterest(final String loanExternalId,
final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "waiveinterest"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request,
"waiveinterest"));
}
public PostLoansLoanIdTransactionsResponse makeWriteoff(final Long loanId, final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "writeoff"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "writeoff"));
}
public PostLoansLoanIdTransactionsResponse makeWriteoff(final String loanExternalId, final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "writeoff"));
return Calls
.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request, "writeoff"));
}
public PostLoansLoanIdTransactionsResponse makeUndoWriteoff(final Long loanId, final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "undowriteoff"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "undowriteoff"));
}
public PostLoansLoanIdTransactionsResponse makeUndoWriteoff(final String loanExternalId,
final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "undowriteoff"));
return Calls.ok(
FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request, "undowriteoff"));
}
public PostLoansLoanIdTransactionsResponse makeRecoveryPayment(final Long loanId, final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "recoverypayment"));
return Calls
.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "recoverypayment"));
}
public PostLoansLoanIdTransactionsResponse makeRecoveryPayment(final String loanExternalId,
final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "recoverypayment"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request,
"recoverypayment"));
}
public PostLoansLoanIdTransactionsResponse makeRefundByCash(final Long loanId, final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "refundByCash"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "refundByCash"));
}
public PostLoansLoanIdTransactionsResponse makeRefundByCash(final String loanExternalId,
final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "refundByCash"));
return Calls.ok(
FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request, "refundByCash"));
}
public PostLoansLoanIdTransactionsResponse makeCreditBalanceRefund(final Long loanId,
final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "creditBalanceRefund"));
return Calls.ok(
FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "creditBalanceRefund"));
}
public PostLoansLoanIdTransactionsResponse makeCreditBalanceRefund(final String loanExternalId,
final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "creditBalanceRefund"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request,
"creditBalanceRefund"));
}
public PostLoansLoanIdTransactionsResponse reverseLoanTransaction(final String loanExternalId, final Long transactionId,
final PostLoansLoanIdTransactionsTransactionIdRequest request) {
return ok(fineract().loanTransactions.adjustLoanTransaction2(loanExternalId, transactionId, request, "undo"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.adjustLoanTransaction2(loanExternalId, transactionId,
request, "undo"));
}
public PostLoansLoanIdTransactionsResponse reverseLoanTransaction(final String loanExternalId, final String transactionExternalId,
final PostLoansLoanIdTransactionsTransactionIdRequest request) {
return ok(fineract().loanTransactions.adjustLoanTransaction3(loanExternalId, transactionExternalId, request, "undo"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.adjustLoanTransaction3(loanExternalId,
transactionExternalId, request, "undo"));
}
public PostLoansLoanIdTransactionsResponse reverseLoanTransaction(final Long loanId, final String transactionExternalId,
final PostLoansLoanIdTransactionsTransactionIdRequest request) {
return ok(fineract().loanTransactions.adjustLoanTransaction1(loanId, transactionExternalId, request, "undo"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.adjustLoanTransaction1(loanId, transactionExternalId,
request, "undo"));
}
public PostLoansLoanIdTransactionsResponse chargebackLoanTransaction(final Long loanId, final Long transactionId,
final PostLoansLoanIdTransactionsTransactionIdRequest request) {
return ok(fineract().loanTransactions.adjustLoanTransaction(loanId, transactionId, request, "chargeback"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.adjustLoanTransaction(loanId, transactionId, request,
"chargeback"));
}
public PostLoansLoanIdTransactionsResponse chargebackLoanTransaction(final String loanExternalId, final Long transactionId,
final PostLoansLoanIdTransactionsTransactionIdRequest request) {
return ok(fineract().loanTransactions.adjustLoanTransaction2(loanExternalId, transactionId, request, "chargeback"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.adjustLoanTransaction2(loanExternalId, transactionId,
request, "chargeback"));
}
public PostLoansLoanIdTransactionsResponse chargebackLoanTransaction(final String loanExternalId, final String transactionExternalId,
final PostLoansLoanIdTransactionsTransactionIdRequest request) {
return ok(fineract().loanTransactions.adjustLoanTransaction3(loanExternalId, transactionExternalId, request, "chargeback"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.adjustLoanTransaction3(loanExternalId,
transactionExternalId, request, "chargeback"));
}
public PostLoansLoanIdTransactionsResponse chargebackLoanTransaction(final Long loanId, final String transactionExternalId,
final PostLoansLoanIdTransactionsTransactionIdRequest request) {
return ok(fineract().loanTransactions.adjustLoanTransaction1(loanId, transactionExternalId, request, "chargeback"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.adjustLoanTransaction1(loanId, transactionExternalId,
request, "chargeback"));
}
public PostLoansLoanIdTransactionsResponse adjustLoanTransaction(final String loanExternalId, final Long transactionId,
final PostLoansLoanIdTransactionsTransactionIdRequest request) {
return ok(fineract().loanTransactions.adjustLoanTransaction2(loanExternalId, transactionId, request, "adjust"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.adjustLoanTransaction2(loanExternalId, transactionId,
request, "adjust"));
}
public PostLoansLoanIdTransactionsResponse adjustLoanTransaction(final String loanExternalId, final String transactionExternalId,
final PostLoansLoanIdTransactionsTransactionIdRequest request) {
return ok(fineract().loanTransactions.adjustLoanTransaction3(loanExternalId, transactionExternalId, request, "adjust"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.adjustLoanTransaction3(loanExternalId,
transactionExternalId, request, "adjust"));
}
public PostLoansLoanIdTransactionsResponse adjustLoanTransaction(final Long loanId, final String transactionExternalId,
final PostLoansLoanIdTransactionsTransactionIdRequest request) {
return ok(fineract().loanTransactions.adjustLoanTransaction1(loanId, transactionExternalId, request, "adjust"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.adjustLoanTransaction1(loanId, transactionExternalId,
request, "adjust"));
}
public PostLoansLoanIdTransactionsResponse adjustLoanTransaction(final Long loanId, final Long transactionId,
final PostLoansLoanIdTransactionsTransactionIdRequest request) {
return ok(fineract().loanTransactions.adjustLoanTransaction(loanId, transactionId, request, "adjust"));
return Calls.ok(
FineractClientHelper.getFineractClient().loanTransactions.adjustLoanTransaction(loanId, transactionId, request, "adjust"));
}
// TODO: Rewrite to use fineract-client instead!
@@ -1209,11 +1248,12 @@ public class LoanTransactionHelper extends IntegrationTest {
public PostLoansLoanIdTransactionsResponse reverseLoanTransaction(final Long loanId, final Long transactionId,
final PostLoansLoanIdTransactionsTransactionIdRequest request) {
return ok(fineract().loanTransactions.adjustLoanTransaction(loanId, transactionId, request, "undo"));
return Calls.ok(
FineractClientHelper.getFineractClient().loanTransactions.adjustLoanTransaction(loanId, transactionId, request, "undo"));
}
public PostLoansLoanIdTransactionsResponse reverseLoanTransaction(final Long loanId, final Long transactionId, String date) {
return ok(fineract().loanTransactions.adjustLoanTransaction(loanId, transactionId,
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.adjustLoanTransaction(loanId, transactionId,
new PostLoansLoanIdTransactionsTransactionIdRequest().dateFormat(DATE_FORMAT).transactionDate(date).transactionAmount(0.0)
.locale("en"),
"undo"));
@@ -1243,11 +1283,11 @@ public class LoanTransactionHelper extends IntegrationTest {
}
public PostLoansLoanIdChargesResponse addLoanCharge(final Long loanId, final PostLoansLoanIdChargesRequest request) {
return ok(fineract().loanCharges.executeLoanCharge(loanId, request, ""));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.executeLoanCharge(loanId, request, ""));
}
public PostLoansLoanIdChargesResponse addLoanCharge(final String loanExternalId, final PostLoansLoanIdChargesRequest request) {
return ok(fineract().loanCharges.executeLoanCharge1(loanExternalId, request, ""));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.executeLoanCharge1(loanExternalId, request, ""));
}
// TODO: Rewrite to use fineract-client instead!
@@ -1283,7 +1323,7 @@ public class LoanTransactionHelper extends IntegrationTest {
}
public PostLoansLoanIdChargesResponse addChargesForLoan(final Long loanId, PostLoansLoanIdChargesRequest request) {
return ok(fineract().loanCharges.executeLoanCharge(loanId, request, null));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.executeLoanCharge(loanId, request, null));
}
// TODO: Rewrite to use fineract-client instead!
@@ -1322,38 +1362,39 @@ public class LoanTransactionHelper extends IntegrationTest {
public PutLoansLoanIdChargesChargeIdResponse updateLoanCharge(final Long loanId, final Long loanChargeId,
final PutLoansLoanIdChargesChargeIdRequest request) {
return ok(fineract().loanCharges.updateLoanCharge(loanId, loanChargeId, request));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.updateLoanCharge(loanId, loanChargeId, request));
}
public PutLoansLoanIdChargesChargeIdResponse updateLoanCharge(final Long loanId, final String loanChargeExternalId,
final PutLoansLoanIdChargesChargeIdRequest request) {
return ok(fineract().loanCharges.updateLoanCharge1(loanId, loanChargeExternalId, request));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.updateLoanCharge1(loanId, loanChargeExternalId, request));
}
public PutLoansLoanIdChargesChargeIdResponse updateLoanCharge(final String loanExternalId, final Long loanChargeId,
final PutLoansLoanIdChargesChargeIdRequest request) {
return ok(fineract().loanCharges.updateLoanCharge2(loanExternalId, loanChargeId, request));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.updateLoanCharge2(loanExternalId, loanChargeId, request));
}
public PutLoansLoanIdChargesChargeIdResponse updateLoanCharge(final String loanExternalId, final String loanChargeExternalId,
final PutLoansLoanIdChargesChargeIdRequest request) {
return ok(fineract().loanCharges.updateLoanCharge3(loanExternalId, loanChargeExternalId, request));
return Calls
.ok(FineractClientHelper.getFineractClient().loanCharges.updateLoanCharge3(loanExternalId, loanChargeExternalId, request));
}
public DeleteLoansLoanIdChargesChargeIdResponse deleteLoanCharge(final Long loanId, final Long loanChargeId) {
return ok(fineract().loanCharges.deleteLoanCharge(loanId, loanChargeId));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.deleteLoanCharge(loanId, loanChargeId));
}
public DeleteLoansLoanIdChargesChargeIdResponse deleteLoanCharge(final Long loanId, final String loanChargeExternalId) {
return ok(fineract().loanCharges.deleteLoanCharge1(loanId, loanChargeExternalId));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.deleteLoanCharge1(loanId, loanChargeExternalId));
}
public DeleteLoansLoanIdChargesChargeIdResponse deleteLoanCharge(final String loanExternalId, final Long loanChargeId) {
return ok(fineract().loanCharges.deleteLoanCharge2(loanExternalId, loanChargeId));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.deleteLoanCharge2(loanExternalId, loanChargeId));
}
public DeleteLoansLoanIdChargesChargeIdResponse deleteLoanCharge(final String loanExternalId, final String loanChargeExternalId) {
return ok(fineract().loanCharges.deleteLoanCharge3(loanExternalId, loanChargeExternalId));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.deleteLoanCharge3(loanExternalId, loanChargeExternalId));
}
// TODO: Rewrite to use fineract-client instead!
@@ -1406,12 +1447,13 @@ public class LoanTransactionHelper extends IntegrationTest {
public PostLoansLoanIdChargesChargeIdResponse chargeAdjustment(final Long loanId, final Long chargeId,
final PostLoansLoanIdChargesChargeIdRequest request) {
return ok(fineract().loanCharges.executeLoanCharge2(loanId, chargeId, request, "adjustment"));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.executeLoanCharge2(loanId, chargeId, request, "adjustment"));
}
public PostLoansLoanIdChargesChargeIdResponse chargeAdjustment(final String loanExternalId, final String loanChargeExternalId,
final PostLoansLoanIdChargesChargeIdRequest request) {
return ok(fineract().loanCharges.executeLoanCharge5(loanExternalId, loanChargeExternalId, request, "adjustment"));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.executeLoanCharge5(loanExternalId, loanChargeExternalId,
request, "adjustment"));
}
// TODO: Rewrite to use fineract-client instead!
@@ -1440,17 +1482,19 @@ public class LoanTransactionHelper extends IntegrationTest {
public PostLoansLoanIdChargesChargeIdResponse payLoanCharge(final Long loanId, final Long loanChargeId,
final PostLoansLoanIdChargesChargeIdRequest request) {
return ok(fineract().loanCharges.executeLoanCharge2(loanId, loanChargeId, request, "pay"));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.executeLoanCharge2(loanId, loanChargeId, request, "pay"));
}
public PostLoansLoanIdChargesChargeIdResponse payLoanCharge(final String loanExternalId, final Long loanChargeId,
final PostLoansLoanIdChargesChargeIdRequest request) {
return ok(fineract().loanCharges.executeLoanCharge4(loanExternalId, loanChargeId, request, "pay"));
return Calls
.ok(FineractClientHelper.getFineractClient().loanCharges.executeLoanCharge4(loanExternalId, loanChargeId, request, "pay"));
}
public PostLoansLoanIdChargesChargeIdResponse payLoanCharge(final String loanExternalId, final String loanChargeExternalId,
final PostLoansLoanIdChargesChargeIdRequest request) {
return ok(fineract().loanCharges.executeLoanCharge5(loanExternalId, loanChargeExternalId, request, "pay"));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.executeLoanCharge5(loanExternalId, loanChargeExternalId,
request, "pay"));
}
// TODO: Rewrite to use fineract-client instead!
@@ -1475,19 +1519,19 @@ public class LoanTransactionHelper extends IntegrationTest {
}
public GetLoansLoanIdChargesChargeIdResponse getLoanCharge(final Long loanId, final Long loanChargeId) {
return ok(fineract().loanCharges.retrieveLoanCharge(loanId, loanChargeId));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.retrieveLoanCharge(loanId, loanChargeId));
}
public GetLoansLoanIdChargesChargeIdResponse getLoanCharge(final String loanExternalId, final Long loanChargeId) {
return ok(fineract().loanCharges.retrieveLoanCharge2(loanExternalId, loanChargeId));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.retrieveLoanCharge2(loanExternalId, loanChargeId));
}
public GetLoansLoanIdChargesChargeIdResponse getLoanCharge(final Long loanId, final String loanChargeExternalId) {
return ok(fineract().loanCharges.retrieveLoanCharge1(loanId, loanChargeExternalId));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.retrieveLoanCharge1(loanId, loanChargeExternalId));
}
public GetLoansLoanIdChargesChargeIdResponse getLoanCharge(final String loanExternalId, final String loanChargeExternalId) {
return ok(fineract().loanCharges.retrieveLoanCharge3(loanExternalId, loanChargeExternalId));
return Calls.ok(FineractClientHelper.getFineractClient().loanCharges.retrieveLoanCharge3(loanExternalId, loanChargeExternalId));
}
// TODO: Rewrite to use fineract-client instead!
@@ -1501,31 +1545,33 @@ public class LoanTransactionHelper extends IntegrationTest {
}
public GetLoansLoanIdTransactionsTransactionIdResponse getLoanTransactionDetails(final Long loanId, final Long transactionId) {
return ok(fineract().loanTransactions.retrieveTransaction(loanId, transactionId, null));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.retrieveTransaction(loanId, transactionId, null));
}
public GetLoansLoanIdTransactionsTransactionIdResponse getLoanTransactionDetails(final String loanExternalId,
final Long transactionId) {
return ok(fineract().loanTransactions.retrieveTransactionByLoanExternalIdAndTransactionId(loanExternalId, transactionId, null));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions
.retrieveTransactionByLoanExternalIdAndTransactionId(loanExternalId, transactionId, null));
}
public GetLoansLoanIdTransactionsTransactionIdResponse getLoanTransactionDetails(final Long loanId,
final String transactionExternalId) {
return ok(fineract().loanTransactions.retrieveTransactionByTransactionExternalId(loanId, transactionExternalId, null));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.retrieveTransactionByTransactionExternalId(loanId,
transactionExternalId, null));
}
public GetLoansLoanIdTransactionsTransactionIdResponse getLoanTransactionDetails(final String loanExternalId,
final String transactionExternalId) {
return ok(fineract().loanTransactions.retrieveTransactionByLoanExternalIdAndTransactionExternalId(loanExternalId,
transactionExternalId, null));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions
.retrieveTransactionByLoanExternalIdAndTransactionExternalId(loanExternalId, transactionExternalId, null));
}
public GetLoansLoanIdResponse getLoanDetails(final Long loanId) {
return ok(fineract().loans.retrieveLoan(loanId, false, "all", null, null));
return Calls.ok(FineractClientHelper.getFineractClient().loans.retrieveLoan(loanId, false, "all", null, null));
}
public GetLoansLoanIdResponse getLoanDetails(final String loanExternalId) {
return ok(fineract().loans.retrieveLoan1(loanExternalId, false, "all", null, null));
return Calls.ok(FineractClientHelper.getFineractClient().loans.retrieveLoan1(loanExternalId, false, "all", null, null));
}
// TODO: Rewrite to use fineract-client instead!
@@ -2686,141 +2732,151 @@ public class LoanTransactionHelper extends IntegrationTest {
public GetLoansLoanIdTransactionsTemplateResponse retrieveTransactionTemplate(Long loanId, String command, String dateFormat,
String transactionDate, String locale) {
return ok(fineract().loanTransactions.retrieveTransactionTemplate(loanId, command, dateFormat, transactionDate, locale));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.retrieveTransactionTemplate(loanId, command, dateFormat,
transactionDate, locale));
}
public GetLoansLoanIdTransactionsTemplateResponse retrieveTransactionTemplate(String loanExternalIdStr, String command,
String dateFormat, String transactionDate, String locale) {
return ok(
fineract().loanTransactions.retrieveTransactionTemplate1(loanExternalIdStr, command, dateFormat, transactionDate, locale));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.retrieveTransactionTemplate1(loanExternalIdStr, command,
dateFormat, transactionDate, locale));
}
public GetLoansApprovalTemplateResponse getLoanApprovalTemplate(String loanExternalIdStr) {
return ok(fineract().loans.retrieveApprovalTemplate1(loanExternalIdStr, "approval"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.retrieveApprovalTemplate1(loanExternalIdStr, "approval"));
}
public DeleteLoansLoanIdResponse deleteLoanApplication(String loanExternalId) {
return ok(fineract().loans.deleteLoanApplication1(loanExternalId));
return Calls.ok(FineractClientHelper.getFineractClient().loans.deleteLoanApplication1(loanExternalId));
}
public List<GetDelinquencyTagHistoryResponse> getLoanDelinquencyTags(String loanExternalId) {
return ok(fineract().loans.getDelinquencyTagHistory1(loanExternalId));
return Calls.ok(FineractClientHelper.getFineractClient().loans.getDelinquencyTagHistory1(loanExternalId));
}
public PostLoansResponse applyLoan(PostLoansRequest request) {
return ok(fineract().loans.calculateLoanScheduleOrSubmitLoanApplication(request, null));
return Calls.ok(FineractClientHelper.getFineractClient().loans.calculateLoanScheduleOrSubmitLoanApplication(request, null));
}
public void applyLoanWithError(PostLoansRequest request, Integer httpStatus) {
assertThat(fineract().loans.calculateLoanScheduleOrSubmitLoanApplication(request, null)).hasHttpStatus(httpStatus);
CallFailedRuntimeException exception = assertThrows(CallFailedRuntimeException.class,
() -> Calls.ok(FineractClientHelper.getFineractClient().loans.calculateLoanScheduleOrSubmitLoanApplication(request, null)));
assertEquals(exception.getResponse().code(), httpStatus);
}
public PostLoansLoanIdResponse approveLoan(String loanExternalId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions1(loanExternalId, request, "approve"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions1(loanExternalId, request, "approve"));
}
public PostLoansLoanIdResponse approveLoan(Long loanId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions(loanId, request, "approve"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions(loanId, request, "approve"));
}
public PostLoansLoanIdResponse rejectLoan(String loanExternalId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions1(loanExternalId, request, "reject"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions1(loanExternalId, request, "reject"));
}
public PostLoansLoanIdResponse rejectLoan(Long loanId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions(loanId, request, "reject"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions(loanId, request, "reject"));
}
public PostLoansLoanIdResponse withdrawnByApplicantLoan(String loanExternalId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions1(loanExternalId, request, "withdrawnByApplicant"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions1(loanExternalId, request, "withdrawnByApplicant"));
}
public PostLoansLoanIdResponse disburseLoan(String loanExternalId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions1(loanExternalId, request, "disburse"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions1(loanExternalId, request, "disburse"));
}
public PostLoansLoanIdResponse disburseLoan(Long loanId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions(loanId, request, "disburse"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions(loanId, request, "disburse"));
}
public PostLoansLoanIdResponse disburseToSavingsLoan(String loanExternalId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions1(loanExternalId, request, "disburseToSavings"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions1(loanExternalId, request, "disburseToSavings"));
}
public PostLoansLoanIdResponse undoApprovalLoan(String loanExternalId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions1(loanExternalId, request, "undoapproval"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions1(loanExternalId, request, "undoapproval"));
}
public PostLoansLoanIdResponse undoDisbursalLoan(String loanExternalId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions1(loanExternalId, request, "undodisbursal"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions1(loanExternalId, request, "undodisbursal"));
}
public PostLoansLoanIdResponse undoDisbursalLoan(Long loanId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions(loanId, request, "undodisbursal"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions(loanId, request, "undodisbursal"));
}
public PostLoansLoanIdResponse undoLastDisbursalLoan(String loanExternalId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions1(loanExternalId, request, "undolastdisbursal"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions1(loanExternalId, request, "undolastdisbursal"));
}
public PostLoansLoanIdResponse undoLastDisbursalLoan(Long loanId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions(loanId, request, "undolastdisbursal"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions(loanId, request, "undolastdisbursal"));
}
public PostLoansLoanIdResponse assignLoanOfficerLoan(String loanExternalId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions1(loanExternalId, request, "assignloanofficer"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions1(loanExternalId, request, "assignloanofficer"));
}
public PostLoansLoanIdResponse unassignLoanOfficerLoan(String loanExternalId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions1(loanExternalId, request, "unassignloanofficer"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions1(loanExternalId, request, "unassignloanofficer"));
}
public PostLoansLoanIdResponse recoverGuaranteesLoan(String loanExternalId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions1(loanExternalId, request, "recoverGuarantees"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions1(loanExternalId, request, "recoverGuarantees"));
}
public PostLoansLoanIdResponse assignDelinquencyLoan(String loanExternalId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions1(loanExternalId, request, "assigndelinquency"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions1(loanExternalId, request, "assigndelinquency"));
}
public PostLoansLoanIdTransactionsResponse closeRescheduledLoan(String loanExternalId, PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "close-rescheduled"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request,
"close-rescheduled"));
}
public PostLoansLoanIdTransactionsResponse closeRescheduledLoan(Long loanId, PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "close-rescheduled"));
return Calls
.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "close-rescheduled"));
}
public PostLoansLoanIdTransactionsResponse closeLoan(String loanExternalId, PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "close"));
return Calls
.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request, "close"));
}
public PostLoansLoanIdTransactionsResponse closeLoan(Long loanId, PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "close"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "close"));
}
public PostLoansLoanIdTransactionsResponse forecloseLoan(String loanExternalId, PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "foreclosure"));
return Calls.ok(
FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request, "foreclosure"));
}
public PostLoansLoanIdTransactionsResponse forecloseLoan(Long loanId, PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "foreclosure"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "foreclosure"));
}
public PostLoansLoanIdTransactionsResponse chargeOffLoan(String loanExternalId, PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "charge-off"));
return Calls.ok(
FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request, "charge-off"));
}
public PostLoansLoanIdTransactionsResponse chargeOffLoan(Long loanId, PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "charge-off"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "charge-off"));
}
public PostLoansLoanIdTransactionsResponse undoChargeOffLoan(String loanExternalId, PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "undo-charge-off"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request,
"undo-charge-off"));
}
public PostLoansLoanIdTransactionsResponse undoChargeOffLoan(Long loanId, PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "undo-charge-off"));
return Calls
.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "undo-charge-off"));
}
// TODO: Rewrite to use fineract-client instead!
@@ -2836,23 +2892,24 @@ public class LoanTransactionHelper extends IntegrationTest {
}
public PutLoanProductsProductIdResponse updateLoanProduct(Long id, PutLoanProductsProductIdRequest requestModifyLoan) {
return ok(fineract().loanProducts.updateLoanProduct(id, requestModifyLoan));
return Calls.ok(FineractClientHelper.getFineractClient().loanProducts.updateLoanProduct(id, requestModifyLoan));
}
public PostLoanProductsResponse createLoanProduct(PostLoanProductsRequest request) {
return ok(fineract().loanProducts.createLoanProduct(request));
return Calls.ok(FineractClientHelper.getFineractClient().loanProducts.createLoanProduct(request));
}
public PostLoansLoanIdTransactionsResponse makeLoanDownPayment(String loanExternalId, PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "downPayment"));
return Calls.ok(
FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request, "downPayment"));
}
public PostLoansLoanIdTransactionsResponse makeLoanDownPayment(Long loanId, PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction(loanId, request, "downPayment"));
return Calls.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction(loanId, request, "downPayment"));
}
public List<AdvancedPaymentData> getAdvancedPaymentAllocationRules(final Integer loanId) {
return ok(fineract().legacy.getAdvancedPaymentAllocationRulesOfLoan(loanId.longValue()));
return Calls.ok(FineractClientHelper.getFineractClient().legacy.getAdvancedPaymentAllocationRulesOfLoan(loanId.longValue()));
}
// TODO: Rewrite to use fineract-client instead!
@@ -2867,7 +2924,8 @@ public class LoanTransactionHelper extends IntegrationTest {
public PostLoansLoanIdTransactionsResponse writeOffLoanAccount(final String loanExternalId,
final PostLoansLoanIdTransactionsRequest request) {
return ok(fineract().loanTransactions.executeLoanTransaction1(loanExternalId, request, "writeoff"));
return Calls
.ok(FineractClientHelper.getFineractClient().loanTransactions.executeLoanTransaction1(loanExternalId, request, "writeoff"));
}
// TODO: Rewrite to use fineract-client instead!
@@ -2890,15 +2948,15 @@ public class LoanTransactionHelper extends IntegrationTest {
}
public PostLoansLoanIdResponse undoApprovalForLoan(Long loanId, PostLoansLoanIdRequest request) {
return ok(fineract().loans.stateTransitions(loanId, request, "undoapproval"));
return Calls.ok(FineractClientHelper.getFineractClient().loans.stateTransitions(loanId, request, "undoapproval"));
}
public PutLoansLoanIdResponse modifyApplicationForLoan(final Long loanId, final String command, final PutLoansLoanIdRequest request) {
return ok(fineract().loans.modifyLoanApplication(loanId, request, command));
return Calls.ok(FineractClientHelper.getFineractClient().loans.modifyLoanApplication(loanId, request, command));
}
public PostLoansResponse calculateRepaymentScheduleForApplyLoan(PostLoansRequest request, String command) {
return ok(fineract().loans.calculateLoanScheduleOrSubmitLoanApplication(request, command));
return Calls.ok(FineractClientHelper.getFineractClient().loans.calculateLoanScheduleOrSubmitLoanApplication(request, command));
}
// TODO: Rewrite to use fineract-client instead!
@@ -21,12 +21,13 @@ package org.apache.fineract.integrationtests.common.report;
import java.io.IOException;
import java.util.Map;
import okhttp3.ResponseBody;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.integrationtests.common.FineractClientHelper;
import retrofit2.Response;
public class ReportHelper extends IntegrationTest {
public class ReportHelper {
public Response<ResponseBody> runReport(String reportName, Map<String, String> reportParameters) throws IOException {
return fineract().reportsRun.runReportGetFile("Transaction Summary Report with Asset Owner", reportParameters, false).execute();
return FineractClientHelper.getFineractClient().reportsRun
.runReportGetFile("Transaction Summary Report with Asset Owner", reportParameters, false).execute();
}
}
@@ -45,9 +45,10 @@ import java.util.Locale;
import java.util.Map;
import org.apache.fineract.client.models.PagedLocalRequestAdvancedQueryRequest;
import org.apache.fineract.client.models.SavingsAccountTransactionsSearchResponse;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.client.util.JSON;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.integrationtests.common.CommonConstants;
import org.apache.fineract.integrationtests.common.FineractClientHelper;
import org.apache.fineract.integrationtests.common.Utils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
@@ -56,7 +57,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({ "rawtypes" })
public class SavingsAccountHelper extends IntegrationTest {
public class SavingsAccountHelper {
private final RequestSpecification requestSpec;
private final ResponseSpecification responseSpec;
@@ -1043,7 +1044,8 @@ public class SavingsAccountHelper extends IntegrationTest {
}
public Map<String, Object> querySavingsTransactions(Integer savingsId, PagedLocalRequestAdvancedQueryRequest request) {
String response = ok(fineract().savingsTransactions.advancedQuery1(savingsId.longValue(), request));
String response = Calls
.ok(FineractClientHelper.getFineractClient().savingsTransactions.advancedQuery1(savingsId.longValue(), request));
return JsonPath.from(response).get("");
}
@@ -30,10 +30,11 @@ import java.util.List;
import org.apache.fineract.client.models.GetCodesResponse;
import org.apache.fineract.client.models.PostCodeValueDataResponse;
import org.apache.fineract.client.models.PostCodeValuesDataRequest;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.integrationtests.common.FineractClientHelper;
import org.apache.fineract.integrationtests.common.Utils;
public final class CodeHelper extends IntegrationTest {
public final class CodeHelper {
private static final String COUNTRY_CODE_NAME = "COUNTRY";
private static final String STATE_CODE_NAME = "STATE";
@@ -381,10 +382,10 @@ public final class CodeHelper extends IntegrationTest {
}
public PostCodeValueDataResponse createCodeValue(Long codeId, PostCodeValuesDataRequest request) {
return ok(fineract().codeValues.createCodeValue(codeId, request));
return Calls.ok(FineractClientHelper.getFineractClient().codeValues.createCodeValue(codeId, request));
}
public List<GetCodesResponse> retrieveCodes() {
return ok(fineract().codes.retrieveCodes());
return Calls.ok(FineractClientHelper.getFineractClient().codes.retrieveCodes());
}
}
@@ -42,13 +42,14 @@ import org.apache.fineract.client.models.PostDataTablesResponse;
import org.apache.fineract.client.models.PutDataTablesAppTableIdDatatableIdResponse;
import org.apache.fineract.client.models.PutDataTablesRequest;
import org.apache.fineract.client.models.PutDataTablesResponse;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.client.util.JSON;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.integrationtests.common.FineractClientHelper;
import org.apache.fineract.integrationtests.common.Utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class DatatableHelper extends IntegrationTest {
public class DatatableHelper {
private static final Gson GSON = new JSON().getGson();
@@ -100,7 +101,7 @@ public class DatatableHelper extends IntegrationTest {
}
public PostDataTablesResponse createDatatable(PostDataTablesRequest request) {
return ok(fineract().dataTables.createDatatable(request));
return Calls.ok(FineractClientHelper.getFineractClient().dataTables.createDatatable(request));
}
// TODO: Rewrite to use fineract-client instead!
@@ -116,7 +117,7 @@ public class DatatableHelper extends IntegrationTest {
}
public GetDataTablesResponse getDataTableDetails(final String dataTableName) {
return ok(fineract().dataTables.getDatatable(dataTableName));
return Calls.ok(FineractClientHelper.getFineractClient().dataTables.getDatatable(dataTableName));
}
// TODO: Rewrite to use fineract-client instead!
@@ -134,12 +135,12 @@ public class DatatableHelper extends IntegrationTest {
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
@Deprecated(forRemoval = true)
public Map<String, Object> queryDatatable(String dataTableName, PagedLocalRequestAdvancedQueryData request) {
String response = ok(fineract().dataTables.advancedQuery(dataTableName, request));
String response = Calls.ok(FineractClientHelper.getFineractClient().dataTables.advancedQuery(dataTableName, request));
return JsonPath.from(response).get("");
}
public PutDataTablesResponse updateDatatable(String dataTableName, PutDataTablesRequest request) {
return ok(fineract().dataTables.updateDatatable(dataTableName, request));
return Calls.ok(FineractClientHelper.getFineractClient().dataTables.updateDatatable(dataTableName, request));
}
// TODO: Rewrite to use fineract-client instead!
@@ -332,7 +332,7 @@ public class DatatableIntegrationTest extends IntegrationTest {
for (String column : columnsToValidate) {
String valueFilter = column.equals(tst_tst_tst_cd_itsADropdown) ? createdCodeValueId.toString()
: datatableEntryMap.get(column).toString();
String rows = Calls.ok(fineract().dataTables.queryValues(datatableName, column, valueFilter, column));
String rows = Calls.ok(fineractClient().dataTables.queryValues(datatableName, column, valueFilter, column));
JsonArray jsonArray = JsonParser.parseString(rows).getAsJsonArray();
if (itsADatetime.equals(column)) {
DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -24,11 +24,10 @@ import io.restassured.specification.ResponseSpecification;
import java.util.HashMap;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.integrationtests.common.Utils;
@Slf4j
public class InlineLoanCOBHelper extends IntegrationTest {
public class InlineLoanCOBHelper {
private final RequestSpecification requestSpec;
private final ResponseSpecification responseSpec;
@@ -25,12 +25,13 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.fineract.client.models.GetTellersTellerIdCashiersCashiersIdSummaryAndTransactionsResponse;
import org.apache.fineract.client.models.GetTellersTellerIdCashiersCashiersIdTransactionsResponse;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.integrationtests.common.FineractClientHelper;
import org.apache.fineract.integrationtests.common.Utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class CashierTransactionsHelper extends IntegrationTest {
public class CashierTransactionsHelper {
private final ResponseSpecification responseSpecification;
private final RequestSpecification requestSpecification;
@@ -50,13 +51,14 @@ public class CashierTransactionsHelper extends IntegrationTest {
public GetTellersTellerIdCashiersCashiersIdTransactionsResponse getTellersTellerIdCashiersCashiersIdTransactionsResponse(Long tellerId,
Long cashierId, String currencyCode, int offset, int limit, String orderBy, String sortOrder) {
return ok(fineract().tellers.getTransactionsForCashier(tellerId, cashierId, currencyCode, offset, limit, orderBy, sortOrder));
return Calls.ok(FineractClientHelper.getFineractClient().tellers.getTransactionsForCashier(tellerId, cashierId, currencyCode,
offset, limit, orderBy, sortOrder));
}
public GetTellersTellerIdCashiersCashiersIdSummaryAndTransactionsResponse getTellersTellerIdCashiersCashiersIdSummaryAndTransactionsResponse(
Long tellerId, Long cashierId, String currencyCode, int offset, int limit, String orderBy, String sortOrder) {
return ok(fineract().tellers.getTransactionsWithSummaryForCashier(tellerId, cashierId, currencyCode, offset, limit, orderBy,
sortOrder));
return Calls.ok(FineractClientHelper.getFineractClient().tellers.getTransactionsWithSummaryForCashier(tellerId, cashierId,
currencyCode, offset, limit, orderBy, sortOrder));
}
// TODO: Rewrite to use fineract-client instead!
@@ -28,12 +28,13 @@ import java.util.List;
import java.util.Map;
import org.apache.fineract.client.models.CommandProcessingResult;
import org.apache.fineract.client.models.PutPermissionsRequest;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.client.util.JSON;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.integrationtests.common.FineractClientHelper;
import org.apache.fineract.integrationtests.common.Utils;
import org.apache.fineract.useradministration.data.PermissionData;
public final class RolesHelper extends IntegrationTest {
public final class RolesHelper {
public static final long SUPER_USER_ROLE_ID = 1L; // This is hardcoded into the initial Liquibase migration
@@ -128,7 +129,7 @@ public final class RolesHelper extends IntegrationTest {
}
public CommandProcessingResult updatePermissions(PutPermissionsRequest request) {
return ok(fineract().permissions.updatePermissionsDetails(request));
return Calls.ok(FineractClientHelper.getFineractClient().permissions.updatePermissionsDetails(request));
}
// TODO: Rewrite to use fineract-client instead!