From 967e0ea306260a200a4b65e202587a060ff03ebe Mon Sep 17 00:00:00 2001 From: Adam Saghy Date: Thu, 5 Feb 2026 18:56:35 +0100 Subject: [PATCH] FINERACT-2421: Generate better client names during testing --- .../test/factory/ClientRequestFactory.java | 4 +-- .../factory/LoanProductsRequestFactory.java | 32 ++++++++--------- .../apache/fineract/test/helper/Utils.java | 26 ++++++++++++-- .../AssetExternalizationStepDef.java | 14 ++++---- .../test/stepdef/common/UserStepDef.java | 8 ++--- .../test/stepdef/loan/LoanStepDef.java | 2 +- .../BaseLoanIntegrationTest.java | 4 +-- .../ClientLoanIntegrationTest.java | 4 +-- .../fineract/integrationtests/ClientTest.java | 6 ++-- .../integrationtests/NotificationApiTest.java | 7 ++-- .../UserAdministrationTest.java | 23 ++++++------ .../client/FeignDocumentTest.java | 2 +- .../integrationtests/client/StaffTest.java | 4 +-- .../client/feign/FeignLoanTestBase.java | 4 +-- .../feign/helpers/FeignClientHelper.java | 6 ++-- .../feign/tests/FeignLoanCreationTest.java | 35 ++++++++++--------- .../tests/FeignLoanOriginatorApiTest.java | 20 +++++------ .../tests/FeignLoanTestBaseSmokeTest.java | 2 +- .../integrationtests/common/ClientHelper.java | 11 +++--- .../integrationtests/common/Utils.java | 26 ++++++++++++++ .../useradministration/users/UserHelper.java | 12 +++---- 21 files changed, 149 insertions(+), 103 deletions(-) diff --git a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/factory/ClientRequestFactory.java b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/factory/ClientRequestFactory.java index b58660c40..d6d85cbfe 100644 --- a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/factory/ClientRequestFactory.java +++ b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/factory/ClientRequestFactory.java @@ -34,8 +34,8 @@ public class ClientRequestFactory { return new PostClientsRequest()// .officeId(HEAD_OFFICE_ID)// .legalFormId(LEGAL_FORM_ID_PERSON)// - .firstname(Utils.randomNameGenerator("Client_FirstName_", 5))// - .lastname(Utils.randomNameGenerator("Client_LastName_", 5))// + .firstname(Utils.randomFirstNameGenerator())// + .lastname(Utils.randomLastNameGenerator())// .externalId(randomClientId("ID_", 7))// .dateFormat(DATE_FORMAT)// .locale(DEFAULT_LOCALE)// diff --git a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/factory/LoanProductsRequestFactory.java b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/factory/LoanProductsRequestFactory.java index 5b024bfc4..9759148ad 100644 --- a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/factory/LoanProductsRequestFactory.java +++ b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/factory/LoanProductsRequestFactory.java @@ -129,7 +129,7 @@ public class LoanProductsRequestFactory { public static final String CHARGE_OFF_REASONS = "ChargeOffReasons"; public PostLoanProductsRequest defaultLoanProductsRequestLP1() { - String name = Utils.randomNameGenerator(NAME_PREFIX, 10); + String name = Utils.randomStringGenerator(NAME_PREFIX, 10); String shortName = generateShortNameSafely(); List principalVariationsForBorrowerCycle = new ArrayList<>(); @@ -239,7 +239,7 @@ public class LoanProductsRequestFactory { } public PostLoanProductsRequest defaultLoanProductsRequestLP1InterestFlat() { - String name = Utils.randomNameGenerator(NAME_PREFIX_INTEREST_FLAT, 10); + String name = Utils.randomStringGenerator(NAME_PREFIX_INTEREST_FLAT, 10); String shortName = generateShortNameSafely(); List principalVariationsForBorrowerCycle = new ArrayList<>(); @@ -347,7 +347,7 @@ public class LoanProductsRequestFactory { } public PostLoanProductsRequest defaultLoanProductsRequestLP1InterestDeclining() { - String name = Utils.randomNameGenerator(NAME_PREFIX_INTEREST_DECLINING, 10); + String name = Utils.randomStringGenerator(NAME_PREFIX_INTEREST_DECLINING, 10); String shortName = generateShortNameSafely(); List principalVariationsForBorrowerCycle = new ArrayList<>(); @@ -455,7 +455,7 @@ public class LoanProductsRequestFactory { } public PostLoanProductsRequest defaultLoanProductsRequestLP11MonthInterestDecliningBalanceDailyRecalculationCompoundingMonthly() { - String name = Utils.randomNameGenerator(NAME_PREFIX_INTEREST_DECLINING_RECALCULATION, 10); + String name = Utils.randomStringGenerator(NAME_PREFIX_INTEREST_DECLINING_RECALCULATION, 10); String shortName = generateShortNameSafely(); List principalVariationsForBorrowerCycle = new ArrayList<>(); @@ -568,7 +568,7 @@ public class LoanProductsRequestFactory { } public PostLoanProductsRequest defaultLoanProductsRequestLP1InterestDecliningBalanceDailyRecalculationCompoundingNone() { - String name = Utils.randomNameGenerator(NAME_PREFIX_INTEREST_DECLINING_RECALCULATION, 10); + String name = Utils.randomStringGenerator(NAME_PREFIX_INTEREST_DECLINING_RECALCULATION, 10); String shortName = generateShortNameSafely(); List principalVariationsForBorrowerCycle = new ArrayList<>(); @@ -678,7 +678,7 @@ public class LoanProductsRequestFactory { } public PostLoanProductsRequest defaultLoanProductsRequestLP2InterestDailyRecalculation() { - final String name = Utils.randomNameGenerator(NAME_PREFIX_INTEREST_RECALCULATION, 10); + final String name = Utils.randomStringGenerator(NAME_PREFIX_INTEREST_RECALCULATION, 10); final String shortName = generateShortNameSafely(); List penaltyToIncomeAccountMappings = new ArrayList<>(); @@ -793,7 +793,7 @@ public class LoanProductsRequestFactory { } public PostLoanProductsRequest defaultLoanProductsRequestLP2() { - String name = Utils.randomNameGenerator(NAME_PREFIX_LP2, 10); + String name = Utils.randomStringGenerator(NAME_PREFIX_LP2, 10); String shortName = generateShortNameSafely(); List principalVariationsForBorrowerCycle = new ArrayList<>(); @@ -906,7 +906,7 @@ public class LoanProductsRequestFactory { } public PostLoanProductsRequest defaultLoanProductsRequestLP2InterestFlat() { - String name = Utils.randomNameGenerator(NAME_PREFIX_INTEREST_FLAT_LP2, 10); + String name = Utils.randomStringGenerator(NAME_PREFIX_INTEREST_FLAT_LP2, 10); String shortName = generateShortNameSafely(); List principalVariationsForBorrowerCycle = new ArrayList<>(); @@ -1017,7 +1017,7 @@ public class LoanProductsRequestFactory { } public PostLoanProductsRequest defaultLoanProductsRequestLP2Emi() { - String name = Utils.randomNameGenerator(NAME_PREFIX_LP2_EMI, 10); + String name = Utils.randomStringGenerator(NAME_PREFIX_LP2_EMI, 10); String shortName = generateShortNameSafely(); List principalVariationsForBorrowerCycle = new ArrayList<>(); @@ -1127,7 +1127,7 @@ public class LoanProductsRequestFactory { } public PostLoanProductsRequest defaultLoanProductsRequestLP2EmiWithChargeOff() { - String name = Utils.randomNameGenerator(NAME_PREFIX_LP2_EMI, 10); + String name = Utils.randomStringGenerator(NAME_PREFIX_LP2_EMI, 10); String shortName = generateShortNameSafely(); List principalVariationsForBorrowerCycle = new ArrayList<>(); @@ -1257,7 +1257,7 @@ public class LoanProductsRequestFactory { } public PostLoanProductsRequest defaultLoanProductsRequestLP2ChargeOffReasonToExpenseAccountMappings() { - final String name = Utils.randomNameGenerator(NAME_PREFIX_LP2, 10); + final String name = Utils.randomStringGenerator(NAME_PREFIX_LP2, 10); final String shortName = generateShortNameSafely(); final List principalVariationsForBorrowerCycle = new ArrayList<>(); @@ -1379,7 +1379,7 @@ public class LoanProductsRequestFactory { } public PostLoanProductsRequest defaultLoanProductsRequestLP2EmiCashAccounting() { - String name = Utils.randomNameGenerator(NAME_PREFIX_LP2_EMI, 10); + String name = Utils.randomStringGenerator(NAME_PREFIX_LP2_EMI, 10); String shortName = generateShortNameSafely(); List principalVariationsForBorrowerCycle = new ArrayList<>(); @@ -1506,7 +1506,7 @@ public class LoanProductsRequestFactory { } public PostLoanProductsRequest defaultLoanProductsRequestLP2CapitalizedIncome() { - final String name = Utils.randomNameGenerator(NAME_PREFIX_LP2, 10); + final String name = Utils.randomStringGenerator(NAME_PREFIX_LP2, 10); final String shortName = generateShortNameSafely(); final List principalVariationsForBorrowerCycle = new ArrayList<>(); final List numberOfRepaymentVariationsForBorrowerCycle = new ArrayList<>(); @@ -1655,7 +1655,7 @@ public class LoanProductsRequestFactory { } public PostLoanProductsRequest defaultLoanProductsRequestLP2BuyDownFees() { - final String name = Utils.randomNameGenerator(NAME_PREFIX_LP2, 10); + final String name = Utils.randomStringGenerator(NAME_PREFIX_LP2, 10); final String shortName = generateShortNameSafely(); final List principalVariationsForBorrowerCycle = new ArrayList<>(); final List numberOfRepaymentVariationsForBorrowerCycle = new ArrayList<>(); @@ -1793,7 +1793,7 @@ public class LoanProductsRequestFactory { } public PostLoanProductsRequest defaultLoanProductsRequestLP2EmiUSD() { - String name = Utils.randomNameGenerator(NAME_PREFIX_LP2_EMI, 10); + String name = Utils.randomStringGenerator(NAME_PREFIX_LP2_EMI, 10); String shortName = generateShortNameSafely(); List principalVariationsForBorrowerCycle = new ArrayList<>(); @@ -1901,7 +1901,7 @@ public class LoanProductsRequestFactory { int counter = 0; do { counter++; - generatedShortName = Utils.randomNameGenerator("", 4); + generatedShortName = Utils.randomStringGenerator("", 4); if (counter > 999) { throw new RuntimeException("Unable to generate unique short name"); } diff --git a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/helper/Utils.java b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/helper/Utils.java index 25c2eeac3..8427be5b0 100644 --- a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/helper/Utils.java +++ b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/helper/Utils.java @@ -21,10 +21,28 @@ package org.apache.fineract.test.helper; import java.security.SecureRandom; import java.time.Clock; import java.time.LocalDate; +import java.util.List; public final class Utils { private static final SecureRandom random = new SecureRandom(); + private static final List firstNames = List.of("Adam", "Alex", "Andrew", "Anthony", "Arthur", "Benjamin", "Brian", "Brandon", + "Bruce", "Caleb", "Charles", "Christian", "Christopher", "Daniel", "David", "Dennis", "Dominic", "Edward", "Ethan", "Felix", + "Frank", "Gabriel", "George", "Gregory", "Harry", "Henry", "Isaac", "Jack", "Jacob", "James", "Jason", "John", "Jonathan", + "Joseph", "Joshua", "Julian", "Kevin", "Kyle", "Leo", "Liam", "Logan", "Lucas", "Luke", "Marcus", "Mark", "Martin", "Matthew", + "Michael", "Nathan", "Nicholas", "Noah", "Oliver", "Oscar", "Patrick", "Paul", "Peter", "Philip", "Raymond", "Richard", + "Robert", "Ryan", "Samuel", "Scott", "Sean", "Simon", "Stephen", "Steven", "Thomas", "Timothy", "Victor", "William", "Zachary", + "Aaron", "Adrian", "Alan", "Albert", "Allen", "Antonio", "Austin", "Blake", "Cameron", "Carlos", "Colin", "Dylan", "Eric", + "Harrison", "Ian", "Jeremy", "Jordan", "Kevin", "Louis", "Mitchell", "Neil", "Roger", "Trevor"); + + private static final List lastNames = List.of("Anderson", "Armstrong", "Baker", "Barnes", "Bell", "Bennett", "Brooks", "Brown", + "Bryant", "Butler", "Campbell", "Carter", "Clark", "Collins", "Cook", "Cooper", "Cox", "Davis", "Diaz", "Edwards", "Evans", + "Fisher", "Foster", "Garcia", "Gomez", "Gonzalez", "Gray", "Green", "Hall", "Harris", "Hernandez", "Hill", "Howard", "Hughes", + "Jackson", "James", "Jenkins", "Johnson", "Jones", "Kelly", "Kim", "King", "Lee", "Lewis", "Lopez", "Martin", "Martinez", + "Miller", "Mitchell", "Moore", "Morgan", "Morris", "Murphy", "Nelson", "Nguyen", "Parker", "Perez", "Peterson", "Phillips", + "Powell", "Price", "Ramirez", "Reed", "Richardson", "Rivera", "Roberts", "Robinson", "Rodriguez", "Rogers", "Ross", "Russell", + "Sanchez", "Scott", "Smith", "Stewart", "Taylor", "Thomas", "Thompson", "Torres", "Turner", "Walker", "Ward", "Watson", "White", + "Williams", "Wilson", "Wood", "Wright", "Young", "Zhang"); private Utils() {} @@ -41,8 +59,12 @@ public final class Utils { return randomStringGenerator(prefix, len, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"); } - public static String randomNameGenerator(final String prefix, final int lenOfRandomSuffix) { - return randomStringGenerator(prefix, lenOfRandomSuffix); + public static String randomFirstNameGenerator() { + return firstNames.get(random.nextInt(firstNames.size())); + } + + public static String randomLastNameGenerator() { + return lastNames.get(random.nextInt(lastNames.size())); } public static LocalDate now() { diff --git a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/assetexternalization/AssetExternalizationStepDef.java b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/assetexternalization/AssetExternalizationStepDef.java index f98360a89..4f05df520 100644 --- a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/assetexternalization/AssetExternalizationStepDef.java +++ b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/assetexternalization/AssetExternalizationStepDef.java @@ -115,7 +115,7 @@ public class AssetExternalizationStepDef extends AbstractStepDef { // if user created transferExternalId previously, it will use that, otherwise create a new one String transferExternalId = testContext().get(TestContextKey.ASSET_EXTERNALIZATION_TRANSFER_EXTERNAL_ID_USER_GENERATED); if (transferExternalId == null) { - transferExternalId = Utils.randomNameGenerator("TestTransferExtId_", 3); + transferExternalId = Utils.randomStringGenerator("TestTransferExtId_", 10); testContext().set(TestContextKey.ASSET_EXTERNALIZATION_TRANSFER_EXTERNAL_ID_USER_GENERATED, transferExternalId); } @@ -155,7 +155,7 @@ public class AssetExternalizationStepDef extends AbstractStepDef { } else if ((transferData.get(0).equals(TRANSACTION_TYPE_SALE) || transferData.get(0).equals(TRANSACTION_TYPE_INTERMEDIARY_SALE))) { String ownerExternalId; if (regenerateOwner) { - ownerExternalId = Utils.randomNameGenerator(OWNER_EXTERNAL_ID_PREFIX, 3); + ownerExternalId = Utils.randomStringGenerator(OWNER_EXTERNAL_ID_PREFIX, 10); } else { ownerExternalId = testContext().get(TestContextKey.ASSET_EXTERNALIZATION_OWNER_EXTERNAL_ID); } @@ -208,7 +208,7 @@ public class AssetExternalizationStepDef extends AbstractStepDef { // if user created transferExternalId previously, it will use that, otherwise create a new one String transferExternalId = testContext().get(TestContextKey.ASSET_EXTERNALIZATION_TRANSFER_EXTERNAL_ID_USER_GENERATED); if (transferExternalId == null) { - transferExternalId = Utils.randomNameGenerator("TestTransferExtId_", 3); + transferExternalId = Utils.randomStringGenerator("TestTransferExtId_", 10); testContext().set(TestContextKey.ASSET_EXTERNALIZATION_TRANSFER_EXTERNAL_ID_USER_GENERATED, transferExternalId); } @@ -240,7 +240,7 @@ public class AssetExternalizationStepDef extends AbstractStepDef { testContext().set(TestContextKey.ASSET_EXTERNALIZATION_BUYBACK_TRANSFER_EXTERNAL_ID_FROM_RESPONSE, response.getResourceExternalId()); } else if (transferData.get(0).equals(TRANSACTION_TYPE_SALE)) { - String ownerExternalId = Utils.randomNameGenerator(OWNER_EXTERNAL_ID_PREFIX, 3); + String ownerExternalId = Utils.randomStringGenerator(OWNER_EXTERNAL_ID_PREFIX, 10); request.settlementDate(transferData.get(1))// .ownerExternalId(ownerExternalId)// @@ -494,7 +494,7 @@ public class AssetExternalizationStepDef extends AbstractStepDef { .dateFormat(DATE_FORMAT_ASSET_EXT)// .locale(DEFAULT_LOCALE);// } else if (transferData.get(0).equals(TRANSACTION_TYPE_SALE)) { - String ownerExternalId = Utils.randomNameGenerator(OWNER_EXTERNAL_ID_PREFIX, 3); + String ownerExternalId = Utils.randomStringGenerator(OWNER_EXTERNAL_ID_PREFIX, 10); request.settlementDate(transferData.get(1))// .ownerExternalId(ownerExternalId)// @@ -788,7 +788,7 @@ public class AssetExternalizationStepDef extends AbstractStepDef { String transferExternalId = testContext() .get(TestContextKey.ASSET_EXTERNALIZATION_TRANSFER_EXTERNAL_ID_USER_GENERATED + "_" + type); if (transferExternalId == null) { - transferExternalId = Utils.randomNameGenerator("TestTransferExtId_", 3); + transferExternalId = Utils.randomStringGenerator("TestTransferExtId_", 10); testContext().set(TestContextKey.ASSET_EXTERNALIZATION_TRANSFER_EXTERNAL_ID_USER_GENERATED + "_" + type, transferExternalId); } @@ -923,7 +923,7 @@ public class AssetExternalizationStepDef extends AbstractStepDef { public void createAssetExternalizationRequestByLoanIdUserGeneratedExtIdForceTransferIdNoTestOwner(String type, DataTable table) throws IOException { // if user created transferExternalId previously, it will use that, otherwise create a new one - String transferExternalId = Utils.randomNameGenerator("TestTransferExtId_", 3); + String transferExternalId = Utils.randomStringGenerator("TestTransferExtId_", 10); testContext().set(TestContextKey.ASSET_EXTERNALIZATION_TRANSFER_EXTERNAL_ID_USER_GENERATED + "_" + type, transferExternalId); createAssetExternalizationRequestByLoanId(table, transferExternalId, false); diff --git a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/common/UserStepDef.java b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/common/UserStepDef.java index 261ddf2c0..03da79e25 100644 --- a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/common/UserStepDef.java +++ b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/common/UserStepDef.java @@ -47,7 +47,7 @@ public class UserStepDef extends AbstractStepDef { @When("Admin creates new user with {string} username, {string} role name and given permissions:") public void createUserWithUsernameAndRoles(String username, String roleName, List permissions) { ok(() -> fineractClient.roles().retrieveAllRoles()); - PostRolesRequest newRoleRequest = new PostRolesRequest().name(Utils.randomNameGenerator(roleName, 8)).description(roleName); + PostRolesRequest newRoleRequest = new PostRolesRequest().name(Utils.randomStringGenerator(roleName, 8)).description(roleName); PostRolesResponse createNewRole = ok(() -> fineractClient.roles().createRole(newRoleRequest)); Long roleId = createNewRole.getResourceId(); Map permissionMap = new HashMap<>(); @@ -56,12 +56,12 @@ public class UserStepDef extends AbstractStepDef { .permissions(permissionMap); ok(() -> fineractClient.roles().updateRolePermissions(roleId, putRolesRoleIdPermissionsRequest)); - String generatedUsername = Utils.randomNameGenerator(username, 8); + String generatedUsername = Utils.randomStringGenerator(username, 8); PostUsersRequest postUsersRequest = new PostUsersRequest() // .username(generatedUsername) // .email(EMAIL) // - .firstname(username) // - .lastname(username) // + .firstname(Utils.randomFirstNameGenerator()) // + .lastname(Utils.randomLastNameGenerator()) // .sendPasswordToEmail(Boolean.FALSE) // .officeId(1L) // .password(PWD_USER_WITH_ROLE) // diff --git a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/LoanStepDef.java b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/LoanStepDef.java index c7c1887d7..9d7d26e09 100644 --- a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/LoanStepDef.java +++ b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/LoanStepDef.java @@ -3161,7 +3161,7 @@ public class LoanStepDef extends AbstractStepDef { PostLoansResponse loanResponse = testContext().get(TestContextKey.LOAN_CREATE_RESPONSE); long loanId = loanResponse.getLoanId(); - String reversalExternalId = Utils.randomNameGenerator("reversalExtId_", 3); + String reversalExternalId = Utils.randomStringGenerator("reversalExtId_", 10); PostLoansLoanIdTransactionsRequest chargeOffUndoRequest = LoanRequestFactory.defaultUndoChargeOffRequest() .reversalExternalId(reversalExternalId); diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/BaseLoanIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/BaseLoanIntegrationTest.java index 6d3f5aab9..b5b021735 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/BaseLoanIntegrationTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/BaseLoanIntegrationTest.java @@ -368,8 +368,8 @@ public abstract class BaseLoanIntegrationTest extends IntegrationTest { Calls.ok(fineractClient().roles.updateRolePermissions(roleId, new PutRolesRoleIdPermissionsRequest().putPermissionsItem(permission, false))); // create user with role - String firstname = "Test"; - String lastname = Utils.uniqueRandomStringGenerator("User", 6); + String firstname = Utils.randomFirstNameGenerator(); + String lastname = Utils.randomLastNameGenerator(); String userName = Utils.uniqueRandomStringGenerator("testUserName", 4); String password = "AKleRbDhK421$"; String email = firstname + "." + lastname + "@whatever.mifos.org"; diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java index 71319a974..fa6e57048 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java @@ -7118,8 +7118,8 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest { } private PostClientsRequest createRandomClientWithDate(String date) { - return new PostClientsRequest().officeId(1L).legalFormId(1L).firstname(Utils.randomStringGenerator("", 5)) - .lastname(Utils.randomStringGenerator("", 5)).active(true).locale("en").activationDate(date).dateFormat(DATETIME_PATTERN); + return new PostClientsRequest().officeId(1L).legalFormId(1L).firstname(Utils.randomFirstNameGenerator()) + .lastname(Utils.randomLastNameGenerator()).active(true).locale("en").activationDate(date).dateFormat(DATETIME_PATTERN); } private Integer applyForLoanApplication(final Integer clientID, final Integer loanProductID, final List charges) { diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientTest.java index 7e44cbfc3..4a966d810 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientTest.java @@ -270,9 +270,9 @@ public class ClientTest { @Test public void testClientName() { - String firstName = Utils.randomStringGenerator("FN", 48); - String middleName = Utils.randomStringGenerator("MN", 48); - String lastName = Utils.randomStringGenerator("LN", 48); + String firstName = Utils.randomFirstNameGenerator(); + String middleName = Utils.randomFirstNameGenerator(); + String lastName = Utils.randomLastNameGenerator(); String fullName = firstName + ' ' + middleName + ' ' + lastName; PostClientsRequest request = new PostClientsRequest().officeId(1L).legalFormId(LEGALFORM_ID_PERSON).firstname(firstName) diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/NotificationApiTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/NotificationApiTest.java index c0ae80244..6a8dda7b8 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/NotificationApiTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/NotificationApiTest.java @@ -63,10 +63,9 @@ public class NotificationApiTest { String username = Utils.uniqueRandomStringGenerator("NotificationUser", 4); String password = Utils.randomStringGenerator("A1b2c3d4e5f$", 1); // prefix is to conform with the password // rules - PostUsersRequest createUserRequest = new PostUsersRequest().username(username) - .firstname(Utils.randomStringGenerator("NotificationFN", 4)).lastname(Utils.randomStringGenerator("NotificationLN", 4)) - .email("whatever@mifos.org").password(password).repeatPassword(password).sendPasswordToEmail(false) - .roles(List.of(SUPER_USER_ROLE_ID)).officeId(headOffice.getId()); + PostUsersRequest createUserRequest = new PostUsersRequest().username(username).firstname(Utils.randomFirstNameGenerator()) + .lastname(Utils.randomLastNameGenerator()).email("whatever@mifos.org").password(password).repeatPassword(password) + .sendPasswordToEmail(false).roles(List.of(SUPER_USER_ROLE_ID)).officeId(headOffice.getId()); PostUsersResponse userCreationResponse = UserHelper.createUser(requestSpec, responseSpec, createUserRequest); Assertions.assertNotNull(userCreationResponse.getResourceId()); diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/UserAdministrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/UserAdministrationTest.java index 0c2b61e4a..e2416f7aa 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/UserAdministrationTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/UserAdministrationTest.java @@ -191,10 +191,10 @@ public class UserAdministrationTest extends IntegrationTest { String originalPassword = "QwE!5rTy#9uP0"; String simpleUsername = Utils.uniqueRandomStringGenerator("NotificationUser", 4); GetOfficesResponse headOffice = OfficeHelper.getHeadOffice(requestSpec, responseSpec); - PostUsersRequest createUserRequest = new PostUsersRequest().username(simpleUsername) - .firstname(Utils.randomStringGenerator("NotificationFN", 4)).lastname(Utils.randomStringGenerator("NotificationLN", 4)) - .email("whatever@mifos.org").password(originalPassword).repeatPassword(originalPassword).sendPasswordToEmail(false) - .officeId(headOffice.getId()).roles(List.of(Long.valueOf(roleId))); + PostUsersRequest createUserRequest = new PostUsersRequest().username(simpleUsername).firstname(Utils.randomFirstNameGenerator()) + .lastname(Utils.randomLastNameGenerator()).email("whatever@mifos.org").password(originalPassword) + .repeatPassword(originalPassword).sendPasswordToEmail(false).officeId(headOffice.getId()) + .roles(List.of(Long.valueOf(roleId))); PostUsersResponse userCreationResponse = UserHelper.createUser(requestSpec, responseSpec, createUserRequest); Long userId = userCreationResponse.getResourceId(); @@ -224,10 +224,10 @@ public class UserAdministrationTest extends IntegrationTest { String originalPassword = "QwE!5rTy#9uP0"; String simpleUsername = Utils.uniqueRandomStringGenerator("NotificationUser", 4); GetOfficesResponse headOffice = OfficeHelper.getHeadOffice(requestSpec, responseSpec); - PostUsersRequest createUserRequest = new PostUsersRequest().username(simpleUsername) - .firstname(Utils.randomStringGenerator("NotificationFN", 4)).lastname(Utils.randomStringGenerator("NotificationLN", 4)) - .email("whatever@mifos.org").password(originalPassword).repeatPassword(originalPassword).sendPasswordToEmail(false) - .officeId(headOffice.getId()).roles(List.of(Long.valueOf(roleId))); + PostUsersRequest createUserRequest = new PostUsersRequest().username(simpleUsername).firstname(Utils.randomFirstNameGenerator()) + .lastname(Utils.randomLastNameGenerator()).email("whatever@mifos.org").password(originalPassword) + .repeatPassword(originalPassword).sendPasswordToEmail(false).officeId(headOffice.getId()) + .roles(List.of(Long.valueOf(roleId))); PostUsersResponse userCreationResponse = UserHelper.createUser(requestSpec, responseSpec, createUserRequest); Long userId = userCreationResponse.getResourceId(); @@ -258,10 +258,9 @@ public class UserAdministrationTest extends IntegrationTest { String password = "QwE!5rTy#9uP0"; String simpleUsername = Utils.uniqueRandomStringGenerator("NotificationUser", 4); GetOfficesResponse headOffice = OfficeHelper.getHeadOffice(requestSpec, responseSpec); - PostUsersRequest createUserRequest = new PostUsersRequest().username(simpleUsername) - .firstname(Utils.randomStringGenerator("NotificationFN", 4)).lastname(Utils.randomStringGenerator("NotificationLN", 4)) - .email("whatever@mifos.org").password(password).repeatPassword(password).sendPasswordToEmail(false) - .officeId(headOffice.getId()).roles(List.of(Long.valueOf(roleId))); + PostUsersRequest createUserRequest = new PostUsersRequest().username(simpleUsername).firstname(Utils.randomFirstNameGenerator()) + .lastname(Utils.randomLastNameGenerator()).email("whatever@mifos.org").password(password).repeatPassword(password) + .sendPasswordToEmail(false).officeId(headOffice.getId()).roles(List.of(Long.valueOf(roleId))); PostUsersResponse userCreationResponse = UserHelper.createUser(requestSpec, responseSpec, createUserRequest); Long userId = userCreationResponse.getResourceId(); diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/FeignDocumentTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/FeignDocumentTest.java index 77241fd7a..b5a322d2d 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/FeignDocumentTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/FeignDocumentTest.java @@ -49,7 +49,7 @@ public class FeignDocumentTest extends FeignIntegrationTest { @Order(1) void setupClient() { FeignClientHelper clientHelper = new FeignClientHelper(fineractClient()); - clientId = clientHelper.createClient("Feign", "Test"); + clientId = clientHelper.createClient(); assertThat(clientId).isNotNull(); } diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/StaffTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/StaffTest.java index 6ac4a77bf..94f21a103 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/StaffTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/StaffTest.java @@ -52,8 +52,8 @@ public class StaffTest extends IntegrationTest { } Long create() { - return ok(fineractClient().staff.create3(new StaffRequest().officeId(1L).firstname(Utils.randomStringGenerator("StaffTest", 6)) - .lastname(Utils.randomStringGenerator("Staffer_", 6)).externalId(Utils.randomStringGenerator("", 12)) + return ok(fineractClient().staff.create3(new StaffRequest().officeId(1L).firstname(Utils.randomFirstNameGenerator()) + .lastname(Utils.randomLastNameGenerator()).externalId(Utils.randomStringGenerator("", 12)) .joiningDate(LocalDate.now(ZoneId.of("UTC")).toString()).dateFormat("yyyy-MM-dd").locale("en_US"))).getResourceId(); } diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/FeignLoanTestBase.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/FeignLoanTestBase.java index a0806cae8..57177c9cd 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/FeignLoanTestBase.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/FeignLoanTestBase.java @@ -93,8 +93,8 @@ public abstract class FeignLoanTestBase extends FeignIntegrationTest implements return getAccounts().getExpenseAccountId(accountName); } - protected Long createClient(String firstName, String lastName) { - return clientHelper.createClient(firstName, lastName); + protected Long createClient() { + return clientHelper.createClient(); } protected Long createLoanProduct(PostLoanProductsRequest request) { diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/helpers/FeignClientHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/helpers/FeignClientHelper.java index 3c2f806f4..1bcd4faea 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/helpers/FeignClientHelper.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/helpers/FeignClientHelper.java @@ -36,15 +36,15 @@ public class FeignClientHelper { this.fineractClient = fineractClient; } - public Long createClient(String firstName, String lastName) { + public Long createClient() { String externalId = Utils.randomStringGenerator("EXT_", 7); String activationDate = Utils.dateFormatter.format(Utils.getLocalDateOfTenant()); PostClientsRequest request = new PostClientsRequest()// .officeId(1L)// .legalFormId(1L)// - .firstname(firstName)// - .lastname(lastName)// + .firstname(Utils.randomFirstNameGenerator())// + .lastname(Utils.randomLastNameGenerator())// .externalId(externalId)// .active(true)// .activationDate(activationDate)// diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/tests/FeignLoanCreationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/tests/FeignLoanCreationTest.java index 06ec3d494..3f0496f9a 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/tests/FeignLoanCreationTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/tests/FeignLoanCreationTest.java @@ -23,6 +23,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import java.time.LocalDate; import org.apache.fineract.client.models.GetLoansLoanIdResponse; +import org.apache.fineract.client.models.GetLoansLoanIdStatus; import org.apache.fineract.client.models.PostLoanProductsRequest; import org.apache.fineract.integrationtests.client.feign.FeignLoanTestBase; import org.apache.fineract.integrationtests.common.Utils; @@ -32,7 +33,7 @@ public class FeignLoanCreationTest extends FeignLoanTestBase { @Test void testCreateAndDisburseLoan_OnePeriodNoInterest() { - Long clientId = createClient("John", "Doe"); + Long clientId = createClient(); assertNotNull(clientId); PostLoanProductsRequest productRequest = onePeriod30DaysNoInterest(); @@ -45,7 +46,7 @@ public class FeignLoanCreationTest extends FeignLoanTestBase { GetLoansLoanIdResponse loan = getLoanDetails(loanId); assertNotNull(loan); - verifyLoanStatus(loan, status -> status.getActive()); + verifyLoanStatus(loan, GetLoansLoanIdStatus::getActive); LocalDate expectedRepaymentDate = Utils.getLocalDateOfTenant().plusMonths(1); validateRepaymentPeriod(loan, 1, expectedRepaymentDate, 1000.0, 0.0, 1000.0); @@ -56,7 +57,7 @@ public class FeignLoanCreationTest extends FeignLoanTestBase { @Test void testLoanRepayment_FullRepayment() { - Long clientId = createClient("Jane", "Smith"); + Long clientId = createClient(); Long productId = createLoanProduct(onePeriod30DaysNoInterest()); String todayDate = Utils.dateFormatter.format(Utils.getLocalDateOfTenant()); Long loanId = createApproveAndDisburseLoan(clientId, productId, todayDate, 1000.0, 1); @@ -65,7 +66,7 @@ public class FeignLoanCreationTest extends FeignLoanTestBase { assertNotNull(repaymentId); GetLoansLoanIdResponse loan = getLoanDetails(loanId); - verifyLoanStatus(loan, status -> status.getClosedObligationsMet()); + verifyLoanStatus(loan, GetLoansLoanIdStatus::getClosedObligationsMet); assertEquals(0.0, Utils.getDoubleValue(loan.getSummary().getTotalOutstanding())); assertEquals(1000.0, Utils.getDoubleValue(loan.getSummary().getTotalRepayment())); @@ -73,45 +74,45 @@ public class FeignLoanCreationTest extends FeignLoanTestBase { @Test void testLoanUndoApproval() { - Long clientId = createClient("Bob", "Johnson"); + Long clientId = createClient(); Long productId = createLoanProduct(onePeriod30DaysNoInterest()); String todayDate = Utils.dateFormatter.format(Utils.getLocalDateOfTenant()); Long loanId = createApprovedLoan(clientId, productId, todayDate, 1000.0, 1); GetLoansLoanIdResponse loanBeforeUndo = getLoanDetails(loanId); - verifyLoanStatus(loanBeforeUndo, status -> status.getWaitingForDisbursal()); + verifyLoanStatus(loanBeforeUndo, GetLoansLoanIdStatus::getWaitingForDisbursal); undoApproval(loanId); GetLoansLoanIdResponse loanAfterUndo = getLoanDetails(loanId); - verifyLoanStatus(loanAfterUndo, status -> status.getPendingApproval()); + verifyLoanStatus(loanAfterUndo, GetLoansLoanIdStatus::getPendingApproval); } @Test void testLoanUndoDisbursement() { - Long clientId = createClient("Alice", "Williams"); + Long clientId = createClient(); Long productId = createLoanProduct(onePeriod30DaysNoInterest()); String todayDate = Utils.dateFormatter.format(Utils.getLocalDateOfTenant()); Long loanId = createApproveAndDisburseLoan(clientId, productId, todayDate, 1000.0, 1); GetLoansLoanIdResponse loanBeforeUndo = getLoanDetails(loanId); - verifyLoanStatus(loanBeforeUndo, status -> status.getActive()); + verifyLoanStatus(loanBeforeUndo, GetLoansLoanIdStatus::getActive); undoDisbursement(loanId); GetLoansLoanIdResponse loanAfterUndo = getLoanDetails(loanId); - verifyLoanStatus(loanAfterUndo, status -> status.getWaitingForDisbursal()); + verifyLoanStatus(loanAfterUndo, GetLoansLoanIdStatus::getWaitingForDisbursal); } @Test void testFourInstallmentLoan_CumulativeInterest() { - Long clientId = createClient("Charlie", "Brown"); + Long clientId = createClient(); Long productId = createLoanProduct(fourInstallmentsCumulative()); String todayDate = Utils.dateFormatter.format(Utils.getLocalDateOfTenant()); Long loanId = createApproveAndDisburseLoan(clientId, productId, todayDate, 1000.0, 4); GetLoansLoanIdResponse loan = getLoanDetails(loanId); - verifyLoanStatus(loan, status -> status.getActive()); + verifyLoanStatus(loan, GetLoansLoanIdStatus::getActive); assertNotNull(loan.getRepaymentSchedule()); assertNotNull(loan.getRepaymentSchedule().getPeriods()); @@ -120,7 +121,7 @@ public class FeignLoanCreationTest extends FeignLoanTestBase { @Test void testPartialRepayment() { - Long clientId = createClient("David", "Miller"); + Long clientId = createClient(); Long productId = createLoanProduct(onePeriod30DaysNoInterest()); String todayDate = Utils.dateFormatter.format(Utils.getLocalDateOfTenant()); Long loanId = createApproveAndDisburseLoan(clientId, productId, todayDate, 1000.0, 1); @@ -129,7 +130,7 @@ public class FeignLoanCreationTest extends FeignLoanTestBase { assertNotNull(repaymentId); GetLoansLoanIdResponse loan = getLoanDetails(loanId); - verifyLoanStatus(loan, status -> status.getActive()); + verifyLoanStatus(loan, GetLoansLoanIdStatus::getActive); assertEquals(500.0, Utils.getDoubleValue(loan.getSummary().getTotalOutstanding())); assertEquals(500.0, Utils.getDoubleValue(loan.getSummary().getTotalRepayment())); @@ -137,7 +138,7 @@ public class FeignLoanCreationTest extends FeignLoanTestBase { @Test void testUndoRepayment() { - Long clientId = createClient("Eva", "Davis"); + Long clientId = createClient(); Long productId = createLoanProduct(onePeriod30DaysNoInterest()); String todayDate = Utils.dateFormatter.format(Utils.getLocalDateOfTenant()); Long loanId = createApproveAndDisburseLoan(clientId, productId, todayDate, 1000.0, 1); @@ -146,12 +147,12 @@ public class FeignLoanCreationTest extends FeignLoanTestBase { assertNotNull(repaymentId); GetLoansLoanIdResponse loanAfterRepayment = getLoanDetails(loanId); - verifyLoanStatus(loanAfterRepayment, status -> status.getClosedObligationsMet()); + verifyLoanStatus(loanAfterRepayment, GetLoansLoanIdStatus::getClosedObligationsMet); undoRepayment(loanId, repaymentId, todayDate); GetLoansLoanIdResponse loanAfterUndo = getLoanDetails(loanId); - verifyLoanStatus(loanAfterUndo, status -> status.getActive()); + verifyLoanStatus(loanAfterUndo, GetLoansLoanIdStatus::getActive); LocalDate expectedRepaymentDate = Utils.getLocalDateOfTenant().plusMonths(1); validateRepaymentPeriod(loanAfterUndo, 1, expectedRepaymentDate, 1000.0, 0.0, 1000.0); diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/tests/FeignLoanOriginatorApiTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/tests/FeignLoanOriginatorApiTest.java index cf9138032..cac02101f 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/tests/FeignLoanOriginatorApiTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/tests/FeignLoanOriginatorApiTest.java @@ -259,7 +259,7 @@ public class FeignLoanOriginatorApiTest extends FeignIntegrationTest { final String originatorExternalId = FeignLoanOriginatorHelper.generateUniqueExternalId(); final Long originatorId = originatorHelper.createOriginator(originatorExternalId); - final Long clientId = clientHelper.createClient("Test", "Client"); + final Long clientId = clientHelper.createClient(); final Long loanId = loanHelper.createSubmittedLoan(clientId); originatorHelper.attachOriginatorToLoan(loanId, originatorId); @@ -273,7 +273,7 @@ public class FeignLoanOriginatorApiTest extends FeignIntegrationTest { final String originatorExternalId = FeignLoanOriginatorHelper.generateUniqueExternalId(); final Long originatorId = originatorHelper.createOriginator(originatorExternalId); - final Long clientId = clientHelper.createClient("Test", "Client"); + final Long clientId = clientHelper.createClient(); final Long loanId = loanHelper.createSubmittedLoan(clientId); originatorHelper.attachOriginatorToLoan(loanId, originatorId); @@ -287,7 +287,7 @@ public class FeignLoanOriginatorApiTest extends FeignIntegrationTest { final String originatorExternalId = FeignLoanOriginatorHelper.generateUniqueExternalId(); final Long originatorId = originatorHelper.createOriginator(originatorExternalId, "Inactive Test", "INACTIVE"); - final Long clientId = clientHelper.createClient("Test", "Client"); + final Long clientId = clientHelper.createClient(); final Long loanId = loanHelper.createSubmittedLoan(clientId); final CallFailedRuntimeException exception = originatorHelper.attachOriginatorToLoanExpectingError(loanId, originatorId); @@ -301,7 +301,7 @@ public class FeignLoanOriginatorApiTest extends FeignIntegrationTest { final String originatorExternalId = FeignLoanOriginatorHelper.generateUniqueExternalId(); final Long originatorId = originatorHelper.createOriginator(originatorExternalId); - final Long clientId = clientHelper.createClient("Test", "Client"); + final Long clientId = clientHelper.createClient(); final Long loanId = loanHelper.createSubmittedLoan(clientId); originatorHelper.attachOriginatorToLoan(loanId, originatorId); @@ -318,7 +318,7 @@ public class FeignLoanOriginatorApiTest extends FeignIntegrationTest { final String originatorExternalId = FeignLoanOriginatorHelper.generateUniqueExternalId(); final Long originatorId = originatorHelper.createOriginator(originatorExternalId); - final Long clientId = clientHelper.createClient("Test", "Client"); + final Long clientId = clientHelper.createClient(); final Long loanId = loanHelper.createSubmittedLoan(clientId); final CallFailedRuntimeException exception = originatorHelper.detachOriginatorFromLoanExpectingError(loanId, originatorId); @@ -332,7 +332,7 @@ public class FeignLoanOriginatorApiTest extends FeignIntegrationTest { final String originatorExternalId = FeignLoanOriginatorHelper.generateUniqueExternalId(); final Long originatorId = originatorHelper.createOriginator(originatorExternalId); - final Long clientId = clientHelper.createClient("Test", "Client"); + final Long clientId = clientHelper.createClient(); final Long loanProductId = loanHelper.createSimpleLoanProduct(); final String todayDate = org.apache.fineract.integrationtests.common.Utils.dateFormatter .format(org.apache.fineract.integrationtests.common.Utils.getLocalDateOfTenant()); @@ -349,7 +349,7 @@ public class FeignLoanOriginatorApiTest extends FeignIntegrationTest { final String originatorExternalId = FeignLoanOriginatorHelper.generateUniqueExternalId(); final Long originatorId = originatorHelper.createOriginator(originatorExternalId); - final Long clientId = clientHelper.createClient("Test", "Client"); + final Long clientId = clientHelper.createClient(); final Long loanId = loanHelper.createSubmittedLoan(clientId); originatorHelper.attachOriginatorToLoan(loanId, originatorId); @@ -370,7 +370,7 @@ public class FeignLoanOriginatorApiTest extends FeignIntegrationTest { final String originatorExternalId = FeignLoanOriginatorHelper.generateUniqueExternalId(); final Long originatorId = originatorHelper.createOriginator(originatorExternalId); - final Long clientId = clientHelper.createClient("Test", "Client"); + final Long clientId = clientHelper.createClient(); final Long loanId = loanHelper.createSubmittedLoan(clientId); originatorHelper.attachOriginatorToLoan(loanId, originatorId); @@ -387,7 +387,7 @@ public class FeignLoanOriginatorApiTest extends FeignIntegrationTest { @Test public void testRetrieveLoanWithNoOriginatorsReturnsEmptyList() { - final Long clientId = clientHelper.createClient("Test", "Client"); + final Long clientId = clientHelper.createClient(); final Long loanId = loanHelper.createSubmittedLoan(clientId); final var loanDetails = loanHelper.getLoanDetailsWithAssociations(loanId, "originators"); @@ -401,7 +401,7 @@ public class FeignLoanOriginatorApiTest extends FeignIntegrationTest { final String originatorExternalId = FeignLoanOriginatorHelper.generateUniqueExternalId(); final Long originatorId = originatorHelper.createOriginator(originatorExternalId); - final Long clientId = clientHelper.createClient("Test", "Client"); + final Long clientId = clientHelper.createClient(); final Long loanId = loanHelper.createSubmittedLoan(clientId); originatorHelper.attachOriginatorToLoan(loanId, originatorId); diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/tests/FeignLoanTestBaseSmokeTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/tests/FeignLoanTestBaseSmokeTest.java index 02fd15850..4f7d0bc29 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/tests/FeignLoanTestBaseSmokeTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/feign/tests/FeignLoanTestBaseSmokeTest.java @@ -39,7 +39,7 @@ public class FeignLoanTestBaseSmokeTest extends FeignLoanTestBase { @Test void testCreateClient() { - Long clientId = createClient("Test", "User"); + Long clientId = createClient(); assertNotNull(clientId); } } diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ClientHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ClientHelper.java index e43652b2c..5423b2424 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ClientHelper.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ClientHelper.java @@ -450,8 +450,8 @@ public class ClientHelper { HashMap map = new HashMap<>(); map.put("officeId", officeId); map.put("legalFormId", legalFormId); - map.put("firstname", Utils.randomStringGenerator("Client_FirstName_", 5)); - map.put("lastname", Utils.randomStringGenerator("Client_LastName_", 4)); + map.put("firstname", Utils.randomFirstNameGenerator()); + map.put("lastname", Utils.randomLastNameGenerator()); if (externalId != null) { map.put("externalId", externalId); } @@ -1209,10 +1209,9 @@ public class ClientHelper { } public static PostClientsRequest defaultClientCreationRequest() { - return new PostClientsRequest().officeId(1L).legalFormId(LEGALFORM_ID_PERSON) - .firstname(Utils.randomStringGenerator("Client_FirstName_", 5)).lastname(Utils.randomStringGenerator("Client_LastName_", 5)) - .externalId(UUID.randomUUID().toString()).dateFormat(Utils.DATE_FORMAT).locale("en").active(true) - .activationDate(DEFAULT_DATE); + return new PostClientsRequest().officeId(1L).legalFormId(LEGALFORM_ID_PERSON).firstname(Utils.randomFirstNameGenerator()) + .lastname(Utils.randomLastNameGenerator()).externalId(UUID.randomUUID().toString()).dateFormat(Utils.DATE_FORMAT) + .locale("en").active(true).activationDate(DEFAULT_DATE); } public LoanAccountLockResponseDTO retrieveLockedAccounts(int page, int limit) { diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/Utils.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/Utils.java index be95c3cfd..a0a1e3593 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/Utils.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/Utils.java @@ -102,6 +102,24 @@ public final class Utils { public static final String SOURCE_SET_NUMBERS_AND_LETTERS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; public static final String SOURCE_SET_NUMBERS = "1234567890"; + private static final List firstNames = List.of("Adam", "Alex", "Andrew", "Anthony", "Arthur", "Benjamin", "Brian", "Brandon", + "Bruce", "Caleb", "Charles", "Christian", "Christopher", "Daniel", "David", "Dennis", "Dominic", "Edward", "Ethan", "Felix", + "Frank", "Gabriel", "George", "Gregory", "Harry", "Henry", "Isaac", "Jack", "Jacob", "James", "Jason", "John", "Jonathan", + "Joseph", "Joshua", "Julian", "Kevin", "Kyle", "Leo", "Liam", "Logan", "Lucas", "Luke", "Marcus", "Mark", "Martin", "Matthew", + "Michael", "Nathan", "Nicholas", "Noah", "Oliver", "Oscar", "Patrick", "Paul", "Peter", "Philip", "Raymond", "Richard", + "Robert", "Ryan", "Samuel", "Scott", "Sean", "Simon", "Stephen", "Steven", "Thomas", "Timothy", "Victor", "William", "Zachary", + "Aaron", "Adrian", "Alan", "Albert", "Allen", "Antonio", "Austin", "Blake", "Cameron", "Carlos", "Colin", "Dylan", "Eric", + "Harrison", "Ian", "Jeremy", "Jordan", "Kevin", "Louis", "Mitchell", "Neil", "Roger", "Trevor"); + + private static final List lastNames = List.of("Anderson", "Armstrong", "Baker", "Barnes", "Bell", "Bennett", "Brooks", "Brown", + "Bryant", "Butler", "Campbell", "Carter", "Clark", "Collins", "Cook", "Cooper", "Cox", "Davis", "Diaz", "Edwards", "Evans", + "Fisher", "Foster", "Garcia", "Gomez", "Gonzalez", "Gray", "Green", "Hall", "Harris", "Hernandez", "Hill", "Howard", "Hughes", + "Jackson", "James", "Jenkins", "Johnson", "Jones", "Kelly", "Kim", "King", "Lee", "Lewis", "Lopez", "Martin", "Martinez", + "Miller", "Mitchell", "Moore", "Morgan", "Morris", "Murphy", "Nelson", "Nguyen", "Parker", "Perez", "Peterson", "Phillips", + "Powell", "Price", "Ramirez", "Reed", "Richardson", "Rivera", "Roberts", "Robinson", "Rodriguez", "Rogers", "Ross", "Russell", + "Sanchez", "Scott", "Smith", "Stewart", "Taylor", "Thomas", "Thompson", "Torres", "Turner", "Walker", "Ward", "Watson", "White", + "Williams", "Wilson", "Wood", "Wright", "Young", "Zhang"); + private Utils() {} @Deprecated(forRemoval = true) @@ -576,4 +594,12 @@ public final class Utils { public static Double getDoubleValue(BigDecimal amount) { return amount == null ? null : amount.setScale(2, RoundingMode.HALF_UP).doubleValue(); } + + public static String randomFirstNameGenerator() { + return firstNames.get(r.nextInt(firstNames.size())); + } + + public static String randomLastNameGenerator() { + return lastNames.get(r.nextInt(lastNames.size())); + } } diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/useradministration/users/UserHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/useradministration/users/UserHelper.java index beae37c60..d6b45b600 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/useradministration/users/UserHelper.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/useradministration/users/UserHelper.java @@ -220,9 +220,9 @@ public final class UserHelper { GetOfficesResponse headOffice = OfficeHelper.getHeadOffice(requestSpec, responseSpec); String simpleRoleId = createSimpleRole(requestSpec, responseSpec); PostUsersRequest createUserRequest = new PostUsersRequest().username(SIMPLE_USER_NAME) - .firstname(Utils.randomStringGenerator("NotificationFN", 4)).lastname(Utils.randomStringGenerator("NotificationLN", 4)) - .email("whatever@mifos.org").password(password).repeatPassword(password).sendPasswordToEmail(false) - .roles(List.of(Long.valueOf(simpleRoleId))).officeId(headOffice.getId()); + .firstname(Utils.randomFirstNameGenerator()).lastname(Utils.randomLastNameGenerator()).email("whatever@mifos.org") + .password(password).repeatPassword(password).sendPasswordToEmail(false).roles(List.of(Long.valueOf(simpleRoleId))) + .officeId(headOffice.getId()); PostUsersResponse userCreationResponse = UserHelper.createUser(requestSpec, responseSpec, createUserRequest); Assertions.assertNotNull(userCreationResponse.getResourceId()); @@ -243,9 +243,9 @@ public final class UserHelper { String uniqueUsername = Utils.uniqueRandomStringGenerator("TestUser", 4); GetOfficesResponse headOffice = OfficeHelper.getHeadOffice(requestSpec, responseSpec); - return new PostUsersRequest().username(uniqueUsername).firstname("Test").lastname("User").email("testuser@example.com") - .password(password).repeatPassword(password).sendPasswordToEmail(false).officeId(headOffice.getId()) - .roles(List.of(roleId.longValue())); + return new PostUsersRequest().username(uniqueUsername).firstname(Utils.randomFirstNameGenerator()) + .lastname(Utils.randomLastNameGenerator()).email("testuser@example.com").password(password).repeatPassword(password) + .sendPasswordToEmail(false).officeId(headOffice.getId()).roles(List.of(roleId.longValue())); } // TODO: Rewrite to use fineract-client instead!