This is an automated email from the ASF dual-hosted git repository.

arnold pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git


The following commit(s) were added to refs/heads/develop by this push:
     new 967e0ea306 FINERACT-2421: Generate better client names during testing
967e0ea306 is described below

commit 967e0ea306260a200a4b65e202587a060ff03ebe
Author: Adam Saghy <[email protected]>
AuthorDate: Thu Feb 5 18:56:35 2026 +0100

    FINERACT-2421: Generate better client names during testing
---
 .../test/factory/ClientRequestFactory.java         |  4 +--
 .../test/factory/LoanProductsRequestFactory.java   | 32 ++++++++++----------
 .../org/apache/fineract/test/helper/Utils.java     | 26 ++++++++++++++--
 .../AssetExternalizationStepDef.java               | 14 ++++-----
 .../fineract/test/stepdef/common/UserStepDef.java  |  8 ++---
 .../fineract/test/stepdef/loan/LoanStepDef.java    |  2 +-
 .../integrationtests/BaseLoanIntegrationTest.java  |  4 +--
 .../ClientLoanIntegrationTest.java                 |  4 +--
 .../fineract/integrationtests/ClientTest.java      |  6 ++--
 .../integrationtests/NotificationApiTest.java      |  7 ++---
 .../integrationtests/UserAdministrationTest.java   | 23 +++++++-------
 .../integrationtests/client/FeignDocumentTest.java |  2 +-
 .../integrationtests/client/StaffTest.java         |  4 +--
 .../client/feign/FeignLoanTestBase.java            |  4 +--
 .../client/feign/helpers/FeignClientHelper.java    |  6 ++--
 .../client/feign/tests/FeignLoanCreationTest.java  | 35 +++++++++++-----------
 .../feign/tests/FeignLoanOriginatorApiTest.java    | 20 ++++++-------
 .../feign/tests/FeignLoanTestBaseSmokeTest.java    |  2 +-
 .../integrationtests/common/ClientHelper.java      | 11 ++++---
 .../fineract/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 b58660c407..d6d85cbfe1 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 5b024bfc48..9759148ade 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<Integer> 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<Integer> 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<Integer> 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<Integer> 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<Integer> 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<LoanProductChargeToGLAccountMapper> 
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<Integer> 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<Integer> 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<Integer> 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<Integer> 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<Integer> 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<Integer> 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<Integer> principalVariationsForBorrowerCycle = new 
ArrayList<>();
         final List<Integer> 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<Integer> principalVariationsForBorrowerCycle = new 
ArrayList<>();
         final List<Integer> 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<Integer> 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 25c2eeac37..8427be5b02 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<String> 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<String> 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 f98360a89e..4f05df5207 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 261ddf2c04..03da79e25e 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<String> 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<String, Boolean> 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 c7c1887d7f..9d7d26e098 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 6d3f5aab96..b5b021735b 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 71319a9747..fa6e570489 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<HashMap> 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 7e44cbfc3a..4a966d8102 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 c0ae802442..6a8dda7b80 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("[email protected]").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("[email protected]").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 0c2b61e4ab..e2416f7aa7 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("[email protected]").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("[email protected]").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("[email protected]").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("[email protected]").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("[email protected]").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("[email protected]").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 77241fd7a1..b5a322d2d5 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 6ac4a77bfd..94f21a103b 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 a0806cae80..57177c9cdb 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 3c2f806f4b..1bcd4faeab 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 06ec3d4948..3f0496f9a0 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 cf9138032c..cac02101f0 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 02fd158502..4f7d0bc293 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 e43652b2c5..5423b24240 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<String, Object> 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 be95c3cfd2..a0a1e3593e 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<String> 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<String> 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 beae37c602..d6b45b6009 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("[email protected]").password(password).repeatPassword(password).sendPasswordToEmail(false)
-                    
.roles(List.of(Long.valueOf(simpleRoleId))).officeId(headOffice.getId());
+                    
.firstname(Utils.randomFirstNameGenerator()).lastname(Utils.randomLastNameGenerator()).email("[email protected]")
+                    
.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("[email protected]")
-                
.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("[email protected]").password(password).repeatPassword(password)
+                
.sendPasswordToEmail(false).officeId(headOffice.getId()).roles(List.of(roleId.longValue()));
     }
 
     // TODO: Rewrite to use fineract-client instead!

Reply via email to