From 02c368d9fe4097caa6fdd3eb9fc2434f62a65b84 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Thu, 10 Jul 2025 08:53:55 -0700 Subject: [PATCH 1/2] Prevent `StringIndexOutOfBoundsException` when generating random field names --- src/org/labkey/test/util/TestDataGenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/labkey/test/util/TestDataGenerator.java b/src/org/labkey/test/util/TestDataGenerator.java index 9ef0d9a483..c4a031c157 100644 --- a/src/org/labkey/test/util/TestDataGenerator.java +++ b/src/org/labkey/test/util/TestDataGenerator.java @@ -582,7 +582,7 @@ public static String randomFieldName(@NotNull String part, int numStartChars, in String randomFieldName = randomName(part, numStartChars, numEndChars, chars, exclusion); // Avoid generating fields names with reserved substitution format patterns. e.g. ":Date" or ":First" - if (numStartChars > 0 && randomFieldName.charAt(numStartChars - 1) == ':' && + if (numStartChars > 0 && part.length() >= 4 && randomFieldName.charAt(numStartChars - 1) == ':' && StringUtils.isAlpha(part.substring(0, 4))) // The shortest pattern is four characters (see org.labkey.api.util.SubstitutionFormat.getFormatNames) { String regenExclusion = Objects.requireNonNullElse(exclusion, "") + ":"; From b8d58c1278fd5db3df8e1cf68d79d26da83848c8 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Thu, 10 Jul 2025 11:19:26 -0700 Subject: [PATCH 2/2] Don't need to configure CSP enforcement --- src/org/labkey/test/tests/AbstractKnitrReportTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/org/labkey/test/tests/AbstractKnitrReportTest.java b/src/org/labkey/test/tests/AbstractKnitrReportTest.java index 562b775d94..5236ed6dce 100644 --- a/src/org/labkey/test/tests/AbstractKnitrReportTest.java +++ b/src/org/labkey/test/tests/AbstractKnitrReportTest.java @@ -245,7 +245,6 @@ protected void moduleReportDependencies() public void testEmbeddedReportNonce() { CspConfigHelper.debugCspWarnings(); - new CspConfigHelper(this).setEnforceCsp(false); String name = "rhtml nonce check"; Locator[] reportContains = {nonceCheckSuccessLoc};