From 47babaee9a200b43552e4268f483f00b4146db05 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Mon, 11 Aug 2025 12:38:56 -0700 Subject: [PATCH] Fix problems caused by random project name generation --- src/org/labkey/test/params/ContainerInfo.java | 15 ++++++++++++--- src/org/labkey/test/util/TestDataGenerator.java | 7 ++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/org/labkey/test/params/ContainerInfo.java b/src/org/labkey/test/params/ContainerInfo.java index dce74f16f4..56def804c6 100644 --- a/src/org/labkey/test/params/ContainerInfo.java +++ b/src/org/labkey/test/params/ContainerInfo.java @@ -15,7 +15,8 @@ public class ContainerInfo { - public static final String TRICKY_CHARACTERS = "\u2603~!@$&()_+{}-=[],.#\u00E4\u00F6\u00FC\u00C5" + WIDE_PLACEHOLDER + ALL_CHARS_PLACEHOLDER; // No slash or space + public static final String TRICKY_CHARACTERS = "\u2603~!@$&()_+{}-=[],.#\u00E4\u00F6\u00FC\u00C5"; // No slash or space. Don't change; hard-coded in some test data + public static final String RANDOM_CHARSET = TRICKY_CHARACTERS + WIDE_PLACEHOLDER + ALL_CHARS_PLACEHOLDER; private final @NotNull String _name; private final String _parentContainerPath; @@ -35,8 +36,16 @@ protected ContainerInfo(String name, ContainerInfo parentContainer, String folde private static @NotNull String getRandomName(String folderName) { if (TestProperties.isTestRunningOnTeamCity()) - return TestDataGenerator.randomName(folderName, TestDataGenerator.randomInt(0, 5), 5, TRICKY_CHARACTERS, null); - else + { + String name = TestDataGenerator.randomName(folderName, TestDataGenerator.randomInt(0, 5), 5, RANDOM_CHARSET, null); + if (name.startsWith("@")) + { + // Folder name may not begin with '@' + name = name.replaceFirst("@", TestDataGenerator.randomString(1, "@", RANDOM_CHARSET)); + } + return name; + } + else // Don't clutter dev machines with random project names return folderName + TRICKY_CHARACTERS; } diff --git a/src/org/labkey/test/util/TestDataGenerator.java b/src/org/labkey/test/util/TestDataGenerator.java index 0738021726..e2042e4234 100644 --- a/src/org/labkey/test/util/TestDataGenerator.java +++ b/src/org/labkey/test/util/TestDataGenerator.java @@ -641,7 +641,12 @@ private static boolean isDomainAndFieldNameInvalid(DomainUtils.DomainKind domain { CommandResponse response = command.execute(WebTestHelper.getRemoteApiConnection(), "/home"); if (response.getParsedData() == null) - throw new RuntimeException("Failed to parse response for command: " + response.getText()); + { + if (response.getText().contains("Register First User")) + throw new RuntimeException("Unable to validate domain/field name. Server not initialized."); + else + throw new RuntimeException("Failed to parse response for command: " + response.getText()); + } return response.getParsedData().containsKey("errors"); } catch (CommandException | IOException e)