Skip to content

Commit 5348a60

Browse files
Merge 26.2 to develop
2 parents d1a75f2 + 7ab0320 commit 5348a60

3 files changed

Lines changed: 40 additions & 7 deletions

File tree

src/org/labkey/test/tests/wiki/WikiCspTest.java

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.labkey.test.util.CspLogUtil;
1414
import org.labkey.test.util.TextSearcher;
1515
import org.labkey.test.util.WikiHelper;
16+
import org.labkey.test.util.core.admin.CspConfigHelper;
1617

1718
import java.util.Arrays;
1819
import java.util.List;
@@ -21,7 +22,7 @@
2122
@BaseWebDriverTest.ClassTimeout(minutes = 2)
2223
public class WikiCspTest extends BaseWebDriverTest
2324
{
24-
private static final String PROJECT_NAME = TRICKY_CHARACTERS_FOR_PROJECT_NAMES + "WikiCspTest";
25+
private static final String PROJECT_NAME = TRICKY_CHARACTERS_FOR_PROJECT_NAMES;
2526
private static final String WIKI_PAGE_TITLE = "TOC_with_inline";
2627
private static final String WIKI_PAGE_BODY =
2728
// Issue 52483: HTML substitution patterns can throw errors during wiki validation
@@ -53,6 +54,17 @@ private void doSetup()
5354
_containerHelper.createProject(PROJECT_NAME, null);
5455
_containerHelper.enableModules(Arrays.asList("Wiki"));
5556
goToProjectHome();
57+
CspConfigHelper.debugCspWarnings(); // Ensure that CSP violation logs aren't suppressed by de-duping efforts
58+
}
59+
60+
@Override
61+
protected void doCleanup(boolean afterTest)
62+
{
63+
super.doCleanup(afterTest);
64+
if (afterTest)
65+
{
66+
CspConfigHelper.infoCspWarnings();
67+
}
5668
}
5769

5870
@Override
@@ -76,13 +88,18 @@ public void testCspChecks()
7688

7789
waitForText("Click me");
7890

79-
try
91+
waitFor(() ->
8092
{
81-
CspLogUtil.checkNewCspWarnings(getArtifactCollector());
82-
}
83-
catch (CspLogUtil.CspWarningDetectedException ignore) {}
84-
85-
goToAdminConsole().goToSettingsSection();
93+
try
94+
{
95+
CspLogUtil.checkNewCspWarnings(getArtifactCollector());
96+
return false;
97+
}
98+
catch (CspLogUtil.CspWarningDetectedException ignore)
99+
{
100+
return true;
101+
}
102+
}, "Should have triggered a CSP error", WAIT_FOR_PAGE);
86103

87104
SiteValidationPage validationPage = goToAdminConsole().clickSiteValidation();
88105
validationPage.setAllValidators(false);

src/org/labkey/test/util/AuditLogHelper.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,17 @@ public Map<String, Object> getTransactionAuditLogDetails(Integer transactionAudi
293293
return new JSONObject(detailJSON).toMap();
294294
}
295295

296+
public static String getExpectedAuditDataChange(String field, Object oldValue, Object newValue)
297+
{
298+
String dataChangeString = field + ": ";
299+
if (oldValue != null)
300+
dataChangeString += oldValue;
301+
if (newValue != null)
302+
dataChangeString += " > " + newValue;
303+
return dataChangeString;
304+
}
305+
306+
296307
public void checkLastTransactionAuditLogDetails(String containerPath, Map<TransactionDetail, Object> expectedDetails)
297308
{
298309
Integer transactionAuditId = getLastTransactionId(containerPath);

src/org/labkey/test/util/core/admin/CspConfigHelper.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,11 @@ public static void debugCspWarnings()
7575
Log4jUtils.setLogLevel("org.labkey.core.admin.AdminController.ContentSecurityPolicyReportAction", ManagerPage.LoggingLevel.DEBUG);
7676
}
7777

78+
public static void infoCspWarnings()
79+
{
80+
Log4jUtils.setLogLevel("org.labkey.core.admin.AdminController.ContentSecurityPolicyReportAction", ManagerPage.LoggingLevel.INFO);
81+
}
82+
7883
public static class AllowedHost
7984
{
8085
private final Directive _directive;

0 commit comments

Comments
 (0)