diff --git a/pom.xml b/pom.xml
index 745f659f..5cf014cd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
jar
testcontainers-annotations
- 4.1.1
+ 4.1.3
testcontainers-annotations
testcontainers-annotations
diff --git a/src/main/java/dev/vality/testcontainers/annotations/util/RandomBeans.java b/src/main/java/dev/vality/testcontainers/annotations/util/RandomBeans.java
index 925c643f..2111218d 100644
--- a/src/main/java/dev/vality/testcontainers/annotations/util/RandomBeans.java
+++ b/src/main/java/dev/vality/testcontainers/annotations/util/RandomBeans.java
@@ -20,20 +20,34 @@
public class RandomBeans {
+ public static final long DEFAULT_SEED = 123L;
+
public static T random(Class type, String... excludedFields) {
- var parameters = createParametersWithExcludedFields(excludedFields);
+ var parameters = createParametersWithExcludedFields(DEFAULT_SEED, excludedFields);
+ var easyRandom = new EasyRandom(parameters);
+ return easyRandom.nextObject(type);
+ }
+
+ public static T random(Long seed, Class type, String... excludedFields) {
+ var parameters = createParametersWithExcludedFields(seed, excludedFields);
var easyRandom = new EasyRandom(parameters);
return easyRandom.nextObject(type);
}
public static List randomListOf(int amount, Class type, String... excludedFields) {
- var parameters = createParametersWithExcludedFields(excludedFields);
+ var parameters = createParametersWithExcludedFields(DEFAULT_SEED, excludedFields);
+ var easyRandom = new EasyRandom(parameters);
+ return easyRandom.objects(type, amount).collect(Collectors.toList());
+ }
+
+ public static List randomListOf(Long seed, int amount, Class type, String... excludedFields) {
+ var parameters = createParametersWithExcludedFields(seed, excludedFields);
var easyRandom = new EasyRandom(parameters);
return easyRandom.objects(type, amount).collect(Collectors.toList());
}
public static Stream randomStreamOf(int amount, Class type, String... excludedFields) {
- var parameters = createParametersWithExcludedFields(excludedFields);
+ var parameters = createParametersWithExcludedFields(DEFAULT_SEED, excludedFields);
var easyRandom = new EasyRandom(parameters);
return easyRandom.objects(type, amount);
}
@@ -56,7 +70,7 @@ public static Stream randomStreamOf(int amount, Class type, String...
return mockTBaseProcessor.process(type.getConstructor().newInstance(), new TBaseHandler<>(type));
}
- private static EasyRandomParameters createParametersWithExcludedFields(String... excludedFields) {
+ private static EasyRandomParameters createParametersWithExcludedFields(Long seed, String... excludedFields) {
var parameters = new EasyRandomParameters();
parameters.randomize(LocalDateTime.class, () -> {
var dateTime = LocalDateTime.now();
@@ -98,7 +112,8 @@ private static EasyRandomParameters createParametersWithExcludedFields(String...
parameters.excludeField(field -> field.getName().equals(excludedField));
}
}
- parameters.objectPoolSize(100)
+ parameters.seed(seed)
+ .objectPoolSize(100)
.randomizationDepth(3)
.charset(StandardCharsets.UTF_8)
.stringLengthRange(5, 50)