@@ -83,6 +83,7 @@ public class TestDataGenerator
8383 public static final String ALPHANUMERIC_STRING = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvxyz" ;
8484 public static final String DOMAIN_SPECIAL_STRING = "+- _.:&()/" ;
8585 public static final String ILLEGAL_DOMAIN_NAME_CHARSET = "<>[]{};,`\" ~!@#$%^*=|?\\ " ;
86+ private static final int MAX_RANDOM_TRIES = 100 ;
8687 // Used to set value of date pickers
8788 public static final Supplier <SimpleDateFormat > INPUT_DATE_FORMAT = () -> new SimpleDateFormat ("MM/dd/yyyy" );
8889 public static final Supplier <SimpleDateFormat > INPUT_DATETIME_FORMAT = () -> new SimpleDateFormat ("MM/dd/yyyy HH:mm:ss" );
@@ -559,10 +560,14 @@ public static String randomDomainName(@Nullable String namePart, @Nullable Integ
559560 String _namePart = namePart == null ? "" : namePart ;
560561 DomainUtils .DomainKind _domainKind = domainKind == null ? DomainUtils .DomainKind .SampleSet : domainKind ;
561562 String charSet = ALPHANUMERIC_STRING + DOMAIN_SPECIAL_STRING ;
562- // TODO increase min to 5 and max to 50
563- String domainName = randomName (_namePart , getNumChars (numStartChars , 0 ), getNumChars (numEndChars , 10 ), charSet , null );
563+ int currentTries = 0 ;
564+ String domainName = randomName (_namePart , getNumChars (numStartChars , 5 ), getNumChars (numEndChars , 50 ), charSet , null );
564565 while (isDomainAndFieldNameInvalid (_domainKind , domainName , null ))
565- domainName = randomName (_namePart , getNumChars (numStartChars , 0 ), getNumChars (numEndChars , 10 ), charSet , null );
566+ {
567+ domainName = randomName (_namePart , getNumChars (numStartChars , 5 ), getNumChars (numEndChars , 50 ), charSet , null );
568+ if (++currentTries >= MAX_RANDOM_TRIES )
569+ throw new IllegalStateException ("Failed to generate a valid domain name after " + MAX_RANDOM_TRIES + " tries. Last generated name: " + domainName );
570+ }
566571
567572 // Multiple spaces in the UI are collapsed into a single space. If we need to test for handling of multiple spaces, we'll not use this generator
568573 domainName = domainName .replaceAll ("\\ s+" , " " );
@@ -600,10 +605,14 @@ public static String randomFieldName(@NotNull String part, @Nullable Integer num
600605 String chars = ALL_ILLEGAL_QUERY_KEY_CHARACTERS + " %()=+-[]_|*`'\" :;<>?!@#^" + NON_LATIN_STRING
601606 + WIDE_PLACEHOLDER + REPEAT_PLACEHOLDER + ALL_CHARS_PLACEHOLDER ;
602607
603- // TODO increase max to 50
604- String randomFieldName = randomName (part , getNumChars (numStartChars , 5 ), getNumChars (numEndChars , 5 ), chars , exclusion );
608+ int currentTries = 0 ;
609+ String randomFieldName = randomName (part , getNumChars (numStartChars , 5 ), getNumChars (numEndChars , 50 ), chars , exclusion );
605610 while (isDomainAndFieldNameInvalid (_domainKind , null , randomFieldName ))
606- randomFieldName = randomName (part , getNumChars (numStartChars , 5 ), getNumChars (numEndChars , 5 ), chars , exclusion );
611+ {
612+ randomFieldName = randomName (part , getNumChars (numStartChars , 5 ), getNumChars (numEndChars , 50 ), chars , exclusion );
613+ if (++currentTries >= MAX_RANDOM_TRIES )
614+ throw new IllegalStateException ("Failed to generate a valid field name after " + MAX_RANDOM_TRIES + " tries. Last generated name: " + randomFieldName );
615+ }
607616
608617 TestLogger .log ("Generated random field name for domainKind " + _domainKind + ": " + randomFieldName );
609618 return randomFieldName ;
0 commit comments