diff --git a/src/org/labkey/test/util/TestDataGenerator.java b/src/org/labkey/test/util/TestDataGenerator.java index f5c22f11d9..970a77f0ff 100644 --- a/src/org/labkey/test/util/TestDataGenerator.java +++ b/src/org/labkey/test/util/TestDataGenerator.java @@ -59,6 +59,8 @@ import java.util.function.Supplier; import java.util.regex.Pattern; +import static org.labkey.test.BaseWebDriverTest.ALL_ILLEGAL_QUERY_KEY_CHARACTERS; + /** * Use this class to generate random test data for a given column schema @@ -355,6 +357,19 @@ public static String randomDomainName(int size) return domainName; } + public static String randomFieldName(String part) + { + return randomFieldName(part, randomInt(0, 5), randomInt(0, 5)); + } + public static String randomFieldName(String part, int numStartChars, int numEndChars) + { + // use the characters that we know are encoded in fieldKeys plus characters that we know clients are using + String chars = ALL_ILLEGAL_QUERY_KEY_CHARACTERS + " %()=+-[]_|*`'\":;<>?!@#^"; + String randomFieldName = (randomString(numStartChars, null, chars) + part + randomString(numEndChars, null, chars)).trim(); + TestLogger.log("Generated random field name: " + randomFieldName); + return randomFieldName; + } + public static int randomInt(int min, int max) { if (min >= max)