FINERACT-2421: Fix flaky guarantor test
This commit is contained in:
-22
@@ -84,7 +84,6 @@ import org.apache.fineract.client.models.PostLoansRequest;
|
||||
import org.apache.fineract.client.models.PostLoansResponse;
|
||||
import org.apache.fineract.client.models.PostRolesRequest;
|
||||
import org.apache.fineract.client.models.PostUsersRequest;
|
||||
import org.apache.fineract.client.models.PutGlobalConfigurationsRequest;
|
||||
import org.apache.fineract.client.models.PutLoanProductsProductIdRequest;
|
||||
import org.apache.fineract.client.models.PutLoansApprovedAmountRequest;
|
||||
import org.apache.fineract.client.models.PutLoansApprovedAmountResponse;
|
||||
@@ -96,13 +95,10 @@ import org.apache.fineract.client.models.RetrieveLoansPointInTimeRequest;
|
||||
import org.apache.fineract.client.util.CallFailedRuntimeException;
|
||||
import org.apache.fineract.client.util.Calls;
|
||||
import org.apache.fineract.client.util.FineractClient;
|
||||
import org.apache.fineract.infrastructure.configuration.api.GlobalConfigurationConstants;
|
||||
import org.apache.fineract.infrastructure.event.external.data.ExternalEventResponse;
|
||||
import org.apache.fineract.integrationtests.client.IntegrationTest;
|
||||
import org.apache.fineract.integrationtests.common.BatchHelper;
|
||||
import org.apache.fineract.integrationtests.common.BusinessDateHelper;
|
||||
import org.apache.fineract.integrationtests.common.ClientHelper;
|
||||
import org.apache.fineract.integrationtests.common.GlobalConfigurationHelper;
|
||||
import org.apache.fineract.integrationtests.common.SchedulerJobHelper;
|
||||
import org.apache.fineract.integrationtests.common.Utils;
|
||||
import org.apache.fineract.integrationtests.common.accounting.Account;
|
||||
@@ -138,9 +134,6 @@ import retrofit2.Response;
|
||||
@ExtendWith({ LoanTestLifecycleExtension.class, ExternalEventsExtension.class })
|
||||
public abstract class BaseLoanIntegrationTest extends IntegrationTest {
|
||||
|
||||
protected static final String DATETIME_PATTERN = "dd MMMM yyyy";
|
||||
protected static final String LOCALE = "en";
|
||||
|
||||
static {
|
||||
Utils.initializeRESTAssured();
|
||||
}
|
||||
@@ -184,9 +177,7 @@ public abstract class BaseLoanIntegrationTest extends IntegrationTest {
|
||||
protected final InlineLoanCOBHelper inlineLoanCOBHelper = new InlineLoanCOBHelper(requestSpec, responseSpec);
|
||||
protected final LoanAccountLockHelper loanAccountLockHelper = new LoanAccountLockHelper(requestSpec,
|
||||
createResponseSpecification(Matchers.is(202)));
|
||||
protected BusinessDateHelper businessDateHelper = new BusinessDateHelper();
|
||||
protected DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(DATETIME_PATTERN);
|
||||
protected GlobalConfigurationHelper globalConfigurationHelper = new GlobalConfigurationHelper();
|
||||
protected final CodeHelper codeHelper = new CodeHelper();
|
||||
protected final ChargesHelper chargesHelper = new ChargesHelper();
|
||||
protected final ExternalEventHelper externalEventHelper = new ExternalEventHelper();
|
||||
@@ -1331,19 +1322,6 @@ public abstract class BaseLoanIntegrationTest extends IntegrationTest {
|
||||
}
|
||||
}
|
||||
|
||||
protected void runAt(String date, Runnable runnable) {
|
||||
try {
|
||||
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_BUSINESS_DATE,
|
||||
new PutGlobalConfigurationsRequest().enabled(true));
|
||||
businessDateHelper.updateBusinessDate(new BusinessDateUpdateRequest().type(BusinessDateUpdateRequest.TypeEnum.BUSINESS_DATE)
|
||||
.date(date).dateFormat(DATETIME_PATTERN).locale("en"));
|
||||
runnable.run();
|
||||
} finally {
|
||||
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_BUSINESS_DATE,
|
||||
new PutGlobalConfigurationsRequest().enabled(false));
|
||||
}
|
||||
}
|
||||
|
||||
protected void runAsNonByPass(Runnable runnable) {
|
||||
RequestSpecificationImpl requestSpecImpl = (RequestSpecificationImpl) requestSpec;
|
||||
try {
|
||||
|
||||
+15
-11
@@ -18,6 +18,7 @@
|
||||
*/
|
||||
package org.apache.fineract.integrationtests;
|
||||
|
||||
import static org.apache.fineract.integrationtests.common.BusinessDateHelper.runAt;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import io.restassured.builder.RequestSpecBuilder;
|
||||
@@ -55,7 +56,6 @@ import org.apache.fineract.integrationtests.guarantor.GuarantorHelper;
|
||||
import org.apache.fineract.integrationtests.guarantor.GuarantorTestBuilder;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.slf4j.Logger;
|
||||
@@ -903,7 +903,6 @@ public class GroupSavingsIntegrationTest {
|
||||
* </ul>
|
||||
*/
|
||||
@Test
|
||||
@Disabled("Using GROUP as Client guarantor causes issues... need to be fixed to support GROUP as guarantor")
|
||||
public void testOnHoldTransactionsApiForGroupSavingsAccount() {
|
||||
this.savingsAccountHelper = new SavingsAccountHelper(this.requestSpec, this.responseSpec);
|
||||
|
||||
@@ -1076,6 +1075,7 @@ public class GroupSavingsIntegrationTest {
|
||||
*/
|
||||
@Test
|
||||
public void testGroupGuarantorWithClientIdButGroupType() {
|
||||
runAt("01 January 2023", () -> {
|
||||
this.savingsAccountHelper = new SavingsAccountHelper(this.requestSpec, this.responseSpec);
|
||||
|
||||
// Create TWO clients - one for loan, one to misuse as "group"
|
||||
@@ -1088,40 +1088,44 @@ public class GroupSavingsIntegrationTest {
|
||||
// Create savings account for the other client
|
||||
final Integer savingsProductID = createSavingsProduct(this.requestSpec, this.responseSpec, MINIMUM_OPENING_BALANCE, null, null,
|
||||
"false");
|
||||
final Integer clientSavingsId = this.savingsAccountHelper.applyForSavingsApplication(otherClientID, savingsProductID, "INDIVIDUAL");
|
||||
final Integer clientSavingsId = this.savingsAccountHelper.applyForSavingsApplication(otherClientID, savingsProductID,
|
||||
"INDIVIDUAL");
|
||||
this.savingsAccountHelper.approveSavings(clientSavingsId);
|
||||
this.savingsAccountHelper.activateSavings(clientSavingsId);
|
||||
|
||||
// Create loan product
|
||||
LoanProductTestBuilder loanProductBuilder = new LoanProductTestBuilder().withPrincipal(PRINCIPAL).withNumberOfRepayments("4")
|
||||
.withRepaymentAfterEvery("1").withRepaymentTypeAsWeek().withinterestRatePerPeriod("2")
|
||||
.withInterestRateFrequencyTypeAsMonths().withAmortizationTypeAsEqualPrincipalPayment().withInterestTypeAsDecliningBalance()
|
||||
.withOnHoldFundDetails("0", "0", "0");
|
||||
.withInterestRateFrequencyTypeAsMonths().withAmortizationTypeAsEqualPrincipalPayment()
|
||||
.withInterestTypeAsDecliningBalance().withOnHoldFundDetails("0", "0", "0");
|
||||
final Integer loanProductID = this.loanTransactionHelper.getLoanProductId(loanProductBuilder.build(null));
|
||||
|
||||
// Create loan
|
||||
final String loanApplicationJSON = new LoanApplicationTestBuilder().withPrincipal(PRINCIPAL).withLoanTermFrequency("4")
|
||||
.withLoanTermFrequencyAsWeeks().withNumberOfRepayments("4").withRepaymentEveryAfter("1").withRepaymentFrequencyTypeAsWeeks()
|
||||
.withInterestRatePerPeriod("2").withAmortizationTypeAsEqualInstallments().withInterestTypeAsDecliningBalance()
|
||||
.withInterestCalculationPeriodTypeSameAsRepaymentPeriod().withSubmittedOnDate(SavingsAccountHelper.TRANSACTION_DATE)
|
||||
.withLoanTermFrequencyAsWeeks().withNumberOfRepayments("4").withRepaymentEveryAfter("1")
|
||||
.withRepaymentFrequencyTypeAsWeeks().withInterestRatePerPeriod("2").withAmortizationTypeAsEqualInstallments()
|
||||
.withInterestTypeAsDecliningBalance().withInterestCalculationPeriodTypeSameAsRepaymentPeriod()
|
||||
.withSubmittedOnDate(SavingsAccountHelper.TRANSACTION_DATE)
|
||||
.withExpectedDisbursementDate(SavingsAccountHelper.TRANSACTION_DATE)
|
||||
.build(loanClientID.toString(), loanProductID.toString(), null);
|
||||
final Integer loanID = this.loanTransactionHelper.getLoanId(loanApplicationJSON);
|
||||
|
||||
// Try to create guarantor with CLIENT ID but GROUP type (type mismatch)
|
||||
String guarantorJSON = new GuarantorTestBuilder()
|
||||
.existingGroupWithGuaranteeAmount(String.valueOf(otherClientID), String.valueOf(clientSavingsId), GUARANTEE_AMOUNT).build();
|
||||
.existingGroupWithGuaranteeAmount(String.valueOf(otherClientID), String.valueOf(clientSavingsId), GUARANTEE_AMOUNT)
|
||||
.build();
|
||||
|
||||
final ResponseSpecification errorResponse = new ResponseSpecBuilder().build();
|
||||
final RequestSpecification errorRequest = new RequestSpecBuilder().setContentType(ContentType.JSON).build();
|
||||
errorRequest.header("Authorization", "Basic " + Utils.loginIntoServerAndGetBase64EncodedAuthenticationKey());
|
||||
|
||||
ArrayList<HashMap> error = (ArrayList<HashMap>) this.guarantorHelper.createGuarantorWithError(loanID, guarantorJSON, errorRequest,
|
||||
errorResponse);
|
||||
ArrayList<HashMap> error = (ArrayList<HashMap>) this.guarantorHelper.createGuarantorWithError(loanID, guarantorJSON,
|
||||
errorRequest, errorResponse);
|
||||
// Verify we got an error response (status code may be 403 or 404 depending on environment)
|
||||
Assertions.assertNotNull(error, "Should return error for client ID used with GROUP type");
|
||||
|
||||
LOG.info("SUCCESS: Client ID with GROUP type correctly rejected");
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+23
@@ -20,9 +20,14 @@ package org.apache.fineract.integrationtests.client;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Optional;
|
||||
import org.apache.fineract.client.models.BusinessDateUpdateRequest;
|
||||
import org.apache.fineract.client.models.PutGlobalConfigurationsRequest;
|
||||
import org.apache.fineract.client.util.Calls;
|
||||
import org.apache.fineract.client.util.FineractClient;
|
||||
import org.apache.fineract.infrastructure.configuration.api.GlobalConfigurationConstants;
|
||||
import org.apache.fineract.integrationtests.common.BusinessDateHelper;
|
||||
import org.apache.fineract.integrationtests.common.FineractClientHelper;
|
||||
import org.apache.fineract.integrationtests.common.GlobalConfigurationHelper;
|
||||
import org.assertj.core.api.AbstractBigDecimalAssert;
|
||||
import org.assertj.core.api.AbstractBooleanAssert;
|
||||
import org.assertj.core.api.AbstractDoubleAssert;
|
||||
@@ -52,6 +57,11 @@ import retrofit2.Response;
|
||||
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
|
||||
public abstract class IntegrationTest {
|
||||
|
||||
protected static final String DATETIME_PATTERN = "dd MMMM yyyy";
|
||||
protected static final String LOCALE = "en";
|
||||
protected GlobalConfigurationHelper globalConfigurationHelper = new GlobalConfigurationHelper();
|
||||
protected BusinessDateHelper businessDateHelper = new BusinessDateHelper();
|
||||
|
||||
protected FineractClient fineractClient() {
|
||||
return FineractClientHelper.getFineractClient();
|
||||
}
|
||||
@@ -118,4 +128,17 @@ public abstract class IntegrationTest {
|
||||
public static <T> OptionalAssert<T> assertThat(Optional<T> actual) {
|
||||
return Assertions.assertThat(actual);
|
||||
}
|
||||
|
||||
protected void runAt(String date, Runnable runnable) {
|
||||
try {
|
||||
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_BUSINESS_DATE,
|
||||
new PutGlobalConfigurationsRequest().enabled(true));
|
||||
businessDateHelper.updateBusinessDate(new BusinessDateUpdateRequest().type(BusinessDateUpdateRequest.TypeEnum.BUSINESS_DATE)
|
||||
.date(date).dateFormat(DATETIME_PATTERN).locale("en"));
|
||||
runnable.run();
|
||||
} finally {
|
||||
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_BUSINESS_DATE,
|
||||
new PutGlobalConfigurationsRequest().enabled(false));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+96
-27
@@ -60,7 +60,6 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Random;
|
||||
import java.util.Set;
|
||||
import java.util.TimeZone;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
@@ -96,29 +95,99 @@ public final class Utils {
|
||||
private static final Gson gson = new Gson();
|
||||
private static final String HEALTH_URL = "/fineract-provider/actuator/health";
|
||||
|
||||
private static final Random r = new Random();
|
||||
|
||||
private static final ConcurrentHashMap<String, Set<String>> uniqueRandomStringContainer = new ConcurrentHashMap<>();
|
||||
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> firstNames = List.of("Aarav", "Abel", "Abner", "Abram", "Ace", "Aden", "Adler", "Adonis", "Ainsley",
|
||||
"Alaric", "Alastair", "Alberto", "Alden", "Alecander", "Alessandro", "Alfonso", "Alfredo", "Alistair", "Alonzo", "Amari",
|
||||
"Ambrose", "Amir", "Ansel", "Archer", "Archie", "Arjun", "Arlo", "Armando", "Arnav", "Aron", "Arturo", "Aryan", "Asa",
|
||||
"Atticus", "Aubrey", "August", "Augustus", "Aurelio", "Avi", "Axel", "Bailey", "Basil", "Beau", "Beckett", "Benicio", "Benson",
|
||||
"Blaine", "Bo", "Bode", "Boris", "Bowen", "Brady", "Branson", "Brayan", "Briggs", "Brock", "Brody", "Bronson", "Bryce", "Byron",
|
||||
"Cade", "Caiden", "Cairo", "Callan", "Callum", "Cannon", "Carlton", "Carmelo", "Casey", "Cassius", "Cedrick", "Chance",
|
||||
"Channing", "Chase", "Cillian", "Cohen", "Conrad", "Corbin", "Cory", "Cruz", "Dakota", "Dalton", "Dane", "Dario", "Darrell",
|
||||
"Darwin", "Dash", "Davis", "Deacon", "Deandre", "Declan", "Demetrius", "Denver", "Devin", "Dexter", "Dominik", "Dorian",
|
||||
"Drake", "Duncan", "Edison", "Elian", "Elias", "Eliezer", "Elisha", "Elmer", "Elon", "Elvis", "Emilio", "Emory", "Ephraim",
|
||||
"Erik", "Ernest", "Esteban", "Eugene", "Ewan", "Ezra", "Fabian", "Faisal", "Finn", "Fletcher", "Ford", "Franco", "Gael", "Gage",
|
||||
"Gannon", "Gary", "Gideon", "Gianni", "Giovanni", "Glen", "Grady", "Grayson", "Guillermo", "Gunnar", "Gustav", "Hank", "Harlan",
|
||||
"Hendrix", "Hugo", "Hunter", "Ibrahim", "Idris", "Ignacio", "Imran", "Indiana", "Ismael", "Israel", "Jace", "Jaime", "Jalen",
|
||||
"Jamal", "Jax", "Jaxon", "Jay", "Jayce", "Jayden", "Jensen", "Jermaine", "Jett", "Jimmy", "Joaquin", "Johan", "Johnny", "Jonas",
|
||||
"Jorge", "Josiah", "Juan", "Justice", "Kade", "Kai", "Kaiser", "Kareem", "Karter", "Kash", "Kason", "Keegan", "Keon", "Khalil",
|
||||
"Kieran", "Knox", "Kobe", "Kody", "Kole", "Korbin", "Kristian", "Kurt", "Kyler", "Lachlan", "Lamar", "Landon", "Langston",
|
||||
"Lars", "Lawrence", "Layton", "Leandro", "Lee", "Lennon", "Leroy", "Liaman", "Lorenzo", "Luciano", "Luis", "Maddox", "Malachi",
|
||||
"Marek", "Marioh", "Matias", "Matteo", "Mauricio", "Maverick", "Memphis", "Milan", "Miller", "Mohamed", "Montgomery", "Moses",
|
||||
"Murphy", "Mustafa", "Nadir", "Nathanael", "Nehemiah", "Nico", "Nikolai", "Noel", "Nova", "Octavio", "Odell", "Odin", "Onyx",
|
||||
"Orion", "Otis", "Paolo", "Percy", "Phoenix", "Pierce", "Porter", "Prince", "Quincy", "Raiden", "Ramon", "Raphael", "Reid",
|
||||
"Remington", "Rhett", "Rocco", "Rodrigo", "Royce", "Ruben", "Rudy", "Ryker", "Salvatore", "Santino", "Saul", "Sebastian",
|
||||
"Sergio", "Shane", "Shiloh", "Silas", "Sincere", "Skyler", "Soren", "Sterling", "Stone", "Sullivan", "Sutton", "Talon", "Tate",
|
||||
"Tatum", "Thiago", "Tobias", "Tomas", "Trace", "Tucker", "Turner", "Ulises", "Uriah", "Valentin", "Van", "Vance", "Vicente",
|
||||
"Viktor", "Warren", "Watson", "Weston", "Willis", "Wilson", "Winston", "Wyatt", "Xander", "Yael", "Yahir", "Yusuf", "Zaire",
|
||||
"Zander", "Zion", "Zayn", "Abdiel", "Aditya", "Akeem", "Alvaro", "Amadeo", "Anders", "Anwar", "Armani", "Ayaan", "Aziel",
|
||||
"Azriel", "Baker", "Benedict", "Bishop", "Blaise", "Bridger", "Cadeo", "Camilo", "Casen", "Caspian", "Cayson", "Cesar",
|
||||
"Chandler", "Cortez", "Damari", "Dangelo", "Darioh", "Davion", "Dilan", "Dion", "Eliam", "Elio", "Emiliano", "Enrique",
|
||||
"Ezekiel", "Farhan", "Fisher", "Gino", "Griffin", "Hamza", "Harley", "Henrik", "Iker", "Ira", "Jabari", "Jair", "Javon",
|
||||
"Jiraiya", "Kaison", "Kamdyn", "Kasen", "Kendrick", "Kian", "Kye", "Lennox", "Leonidas", "Lucian", "Makai", "Marcelo",
|
||||
"Marcellus", "Marvin", "Massimo", "Misael", "Moises", "Nasir", "Naveen", "Niklaus", "Nixon", "Omari", "Osiris", "Ozzy",
|
||||
"Palmer", "Paxton", "Quade", "Rayan", "Reuben", "Ronan", "Roscoe", "Samir", "Santana", "Seven", "Shepherd", "Simeon", "Solomon",
|
||||
"Thaddeus", "Titan", "Trey", "Tripp", "Ty", "Ulysses", "Valor", "Vihaan", "Wilder", "Zev", "Aarush", "Abhiram", "Adem",
|
||||
"Adriel", "Aeson", "Ahmad", "Aldo", "Alvaro", "Anakin", "Aramis", "Ares", "Axton", "Baylor", "Benton", "Brax", "Briar", "Bruno",
|
||||
"Calloway", "Cassian", "Cayson", "Crosby", "Cullen", "Dariel", "Davian", "Dax", "Daxter", "Dior", "Eithan", "Eren", "Eros",
|
||||
"Evander", "Faris", "Finley", "Gatlin", "Grey", "Hollis", "Izan", "Jovanni", "Kael", "Kairo", "Kellan", "Khaled", "Koa", "Krew",
|
||||
"Kyrie", "Leif", "Lochlan", "Lucius", "Mael", "Malakai", "Marquez", "Matheo", "Neo", "Nikolas", "Ocean", "Osman", "Raul",
|
||||
"Reign", "Riven", "Rory", "Rowen", "Sage", "Salem", "Shawnte", "Stellan", "Tadeo", "Teo", "Thierry", "Torin", "Zaid");
|
||||
|
||||
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 static final List<String> lastNames = List.of("Abbott", "Acevedo", "Acosta", "Adams", "Adkins", "Aguilar", "Aguirre", "Albert",
|
||||
"Alexander", "Alford", "Allen", "Allison", "Alston", "Alvarado", "Alvarez", "Ambrose", "Ames", "Anthony", "Archer", "Arias",
|
||||
"Arnold", "Ashley", "Atkins", "Atkinson", "Austin", "Avery", "Avila", "Ayala", "Baird", "Baldwin", "Ball", "Ballard", "Banks",
|
||||
"Barber", "Barker", "Barlow", "Barrett", "Barron", "Barry", "Bartlett", "Barton", "Bass", "Bates", "Battle", "Bauer", "Baxter",
|
||||
"Beach", "Beard", "Beasley", "Beck", "Becker", "Bellamy", "Bender", "Benjamin", "Benson", "Bentley", "Berg", "Berger",
|
||||
"Bernard", "Berry", "Best", "Bird", "Bishop", "Black", "Blackburn", "Blackwell", "Blair", "Blake", "Blanchard", "Blankenship",
|
||||
"Blevins", "Bolton", "Bond", "Bonner", "Booker", "Boone", "Bowen", "Bowers", "Bowman", "Boyd", "Boyle", "Bradford", "Bradley",
|
||||
"Branch", "Bray", "Brennan", "Brewer", "Bridges", "Briggs", "Bright", "Britt", "Brock", "Brockman", "Brooksbank", "Browning",
|
||||
"Bruce", "Bryan", "Buck", "Buckley", "Bullock", "Burch", "Burgess", "Burke", "Burnett", "Burns", "Burris", "Bush", "Byers",
|
||||
"Byrd", "Cabrera", "Cain", "Calderon", "Callahan", "Calhoun", "Camacho", "Cameron", "Campos", "Cannon", "Cantrell", "Cardenas",
|
||||
"Carey", "Carlson", "Carney", "Carpenter", "Carr", "Carrillo", "Carroll", "Carson", "Carteret", "Case", "Casey", "Castaneda",
|
||||
"Castillo", "Castro", "Cervantes", "Chambers", "Chan", "Chandler", "Chang", "Chapman", "Charles", "Chase", "Chavez", "Chen",
|
||||
"Cherry", "Christian", "Church", "Cisneros", "Clarke", "Clay", "Clayton", "Clements", "Clemons", "Cleveland", "Cline", "Cobb",
|
||||
"Cochran", "Coffey", "Cohen", "Cole", "Combs", "Compton", "Conley", "Conner", "Conrad", "Contreras", "Conway", "Cooke",
|
||||
"Copeland", "Cortez", "Cotton", "Cowan", "Craig", "Crane", "Crawford", "Crosby", "Cross", "Cruz", "Cummings", "Cunningham",
|
||||
"Curry", "Curtis", "Dalton", "Daniel", "Daniels", "Daugherty", "Davenport", "David", "Davidson", "Day", "Dean", "Decker",
|
||||
"Delacruz", "Dennis", "Deleon", "Delgado", "Dempsey", "Depp", "Devin", "Dickerson", "Dillard", "Dillon", "Dixon", "Dodson",
|
||||
"Dominguez", "Donaldson", "Donovan", "Dorsey", "Dotson", "Douglas", "Downs", "Doyle", "Drake", "Dudley", "Duffy", "Duke",
|
||||
"Dunlap", "Dunn", "Durham", "Dyer", "Eaton", "Elliott", "Ellis", "Ellison", "Emerson", "England", "English", "Erickson",
|
||||
"Espinoza", "Estes", "Estrada", "Ewing", "Farley", "Farmer", "Farrell", "Faulkner", "Ferguson", "Fernandez", "Ferrell",
|
||||
"Fields", "Finch", "Finley", "Fitzgerald", "Fleming", "Flores", "Flynn", "Foley", "Forbes", "Ford", "Foreman", "Fowler", "Fox",
|
||||
"Francis", "Franco", "Frank", "Franklin", "Franks", "Frazier", "Frederick", "French", "Frost", "Fry", "Fuentes", "Fuller",
|
||||
"Gaines", "Gallagher", "Galloway", "Gamble", "Garner", "Garrett", "Garrison", "Garza", "Gates", "Gay", "George", "Gibbs",
|
||||
"Gibson", "Gilbert", "Giles", "Gill", "Gillespie", "Gilliam", "Glass", "Glenn", "Glover", "Golden", "Good", "Goodman",
|
||||
"Goodwin", "Gordon", "Gould", "Grady", "Graham", "Grant", "Graves", "Greene", "Griffin", "Griffith", "Gross", "Guerra",
|
||||
"Guerrero", "Guthrie", "Gutierrez", "Hahn", "Haley", "Hampton", "Hancock", "Haney", "Hansen", "Hardin", "Harding", "Hardy",
|
||||
"Harmon", "Harper", "Harrington", "Hart", "Hartman", "Harvey", "Hatfield", "Hawkins", "Hayden", "Hayes", "Haynes", "Heath",
|
||||
"Henderson", "Hendricks", "Henry", "Henson", "Herman", "Herrera", "Hess", "Hickman", "Hicks", "Higgins", "Hines", "Hinton",
|
||||
"Hobbs", "Hodge", "Hodges", "Hoffman", "Holder", "Holland", "Holman", "Holmes", "Holt", "Hood", "Hooper", "Hoover", "Hopkins",
|
||||
"Horne", "Horton", "House", "Houston", "Howell", "Hubbard", "Hudson", "Huff", "Huffman", "Hunt", "Hunter", "Hurley", "Hurst",
|
||||
"Ingram", "Irwin", "Jacobs", "Jacoby", "Jarvis", "Jefferson", "Jennings", "Jimenez", "Johns", "Johnston", "Joyce", "Juarez",
|
||||
"Justice", "Kane", "Kaufman", "Keith", "Keller", "Kelley", "Kemp", "Kennedy", "Kent", "Kerr", "Key", "Kidd", "Kinney", "Kirby",
|
||||
"Kirk", "Klein", "Knapp", "Knight", "Knowles", "Lamb", "Lambert", "Lancaster", "Landry", "Lane", "Lang", "Langley", "Larsen",
|
||||
"Lawrence", "Lawson", "Leach", "Leblanc", "Levine", "Levy", "Lindsey", "Little", "Livingston", "Lloyd", "Logan", "Long", "Love",
|
||||
"Lowe", "Lucas", "Luna", "Lynch", "Macias", "Mack", "Maddox", "Maldonado", "Malone", "Mann", "Manning", "Marks", "Marquez",
|
||||
"Marshall", "Mason", "Massey", "Mathews", "Mathis", "Mccall", "Mccarthy", "Mccormick", "Mcdaniel", "Mcdonald", "Meyer", "Miles",
|
||||
"Montoya", "Montgomery", "Montes", "Moon", "Morales", "Moreno", "Moss", "Mueller", "Mullen", "Mullins", "Munoz", "Myers",
|
||||
"Nash", "Navarro", "Neal", "Newton", "Nichols", "Noble", "Nolan", "Norris", "Norton", "Novak", "Ochoa", "Oconnor", "Odom",
|
||||
"Oliver", "Olson", "Oneal", "Ortega", "Ortiz", "Osborne", "Owen", "Owens", "Pace", "Pacheco", "Padilla", "Page", "Palmer",
|
||||
"Park", "Parsons", "Patel", "Patrick", "Paul", "Payne", "Pearson", "Peck", "Pena", "Pennington", "Perkins", "Phelps", "Pittman",
|
||||
"Poole", "Pope", "Porter", "Potter", "Pratt", "Preston", "Pruitt", "Quinn", "Ramos", "Randall", "Rasmussen", "Ray", "Raymond",
|
||||
"Reeves", "Reid", "Reyes", "Reynolds", "Rios", "Roach", "Robbins", "Rocha", "Roman", "Romero", "Rosa", "Rowe", "Roy", "Ruiz",
|
||||
"Rush", "Rutledge", "Salazar", "Salinas", "Sanders", "Santana", "Santiago", "Santos", "Savage", "Schmidt", "Schneider",
|
||||
"Schroeder", "Sharp", "Shaw", "Shelton", "Shepard", "Shepherd", "Sheppard", "Sherman", "Shields", "Short", "Silva", "Simmons",
|
||||
"Simon", "Simpson", "Sims", "Skinner", "Slater", "Sloan", "Small", "Snow", "Snyder", "Solomon", "Sosa", "Sparks", "Spears",
|
||||
"Spence", "Stafford", "Stanley", "Stark", "Steele", "Stephens", "Stephenson", "Stone", "Strickland", "Strong", "Suarez",
|
||||
"Sullivan", "Summers", "Sutton", "Swanson", "Sweeney", "Sweet", "Tanner", "Tate", "Terrell", "Terry", "Todd", "Townsend",
|
||||
"Travis", "Trujillo", "Underwood", "Valdez", "Valencia", "Vargas", "Vasquez", "Vaughn", "Vega", "Velasquez", "Villarreal",
|
||||
"Vincent", "Vinson", "Wade", "Wagner", "Wall", "Walsh", "Walter", "Walters", "Walton", "Warner", "Warren", "Waters", "Weaver",
|
||||
"Webb", "Weber", "Weeks", "Weiss", "Wells", "Wheeler", "Whitaker", "Whitfield", "Wilcox", "Wilkerson", "Wilkins", "Wilkinson",
|
||||
"Willis", "Winters", "Wise", "Wolfe", "Wong", "Woodard", "Woods", "Wooten", "Workman", "Wyatt", "Yates", "York", "Zamora",
|
||||
"Zimmerman");
|
||||
|
||||
private Utils() {}
|
||||
|
||||
@@ -522,27 +591,27 @@ public final class Utils {
|
||||
}
|
||||
|
||||
private static int getYear() {
|
||||
return 1000 + r.nextInt(1001);
|
||||
return 1000 + random.nextInt(1001);
|
||||
}
|
||||
|
||||
private static int getMonth() {
|
||||
return 10 + r.nextInt(3);
|
||||
return 10 + random.nextInt(3);
|
||||
}
|
||||
|
||||
private static int getDay() {
|
||||
return 10 + r.nextInt(16);
|
||||
return 10 + random.nextInt(16);
|
||||
}
|
||||
|
||||
private static int getHour() {
|
||||
return 10 + r.nextInt(14);
|
||||
return 10 + random.nextInt(14);
|
||||
}
|
||||
|
||||
private static int getMinute() {
|
||||
return 10 + r.nextInt(50);
|
||||
return 10 + random.nextInt(50);
|
||||
}
|
||||
|
||||
private static int getSecond() {
|
||||
return 10 + r.nextInt(50);
|
||||
return 10 + random.nextInt(50);
|
||||
}
|
||||
|
||||
public static String arrayDateToString(List intArray) {
|
||||
@@ -595,10 +664,10 @@ public final class Utils {
|
||||
}
|
||||
|
||||
public static String randomFirstNameGenerator() {
|
||||
return firstNames.get(r.nextInt(firstNames.size()));
|
||||
return firstNames.get(random.nextInt(firstNames.size()));
|
||||
}
|
||||
|
||||
public static String randomLastNameGenerator() {
|
||||
return lastNames.get(r.nextInt(lastNames.size()));
|
||||
return lastNames.get(random.nextInt(lastNames.size()));
|
||||
}
|
||||
}
|
||||
|
||||
+1
@@ -92,6 +92,7 @@ public class BaseSavingsIntegrationTest extends IntegrationTest {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void runAt(String date, Runnable runnable) {
|
||||
runAt(date, (d) -> runnable.run());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user