From 1b92d4af6c85e6c74652958049eb15c735791511 Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Fri, 21 Aug 2026 13:24:50 -0700 Subject: [PATCH 1/2] Disable email recording when verifying timeouts --- src/org/labkey/test/LabKeySiteWrapper.java | 15 +++++++++++++-- src/org/labkey/test/WebTest.java | 4 +++- .../test/tests/AbstractAdminConsoleTest.java | 3 +-- src/org/labkey/test/tests/AdminConsoleTest.java | 16 ++++++++++++++++ 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/src/org/labkey/test/LabKeySiteWrapper.java b/src/org/labkey/test/LabKeySiteWrapper.java index 26d3eb52f3..12deb158fa 100644 --- a/src/org/labkey/test/LabKeySiteWrapper.java +++ b/src/org/labkey/test/LabKeySiteWrapper.java @@ -1300,10 +1300,21 @@ public void setMiniProfilerEnabled(boolean enabled) @LogMethod(quiet = true) public void enableEmailRecorder() + { + setEmailRecord(true); + } + + @LogMethod(quiet = true) + public void disableEmailRecorder() + { + setEmailRecord(false); + } + + private void setEmailRecord(boolean record) { assumeTestModules(); - int responseCode = getHttpResponse(buildURL("dumbster", "setRecordEmail", Maps.of("record", "true")), "POST").getResponseCode(); - assertEquals("Failed to enable email recording", HttpStatus.SC_OK, responseCode); + int responseCode = getHttpResponse(buildURL("dumbster", "setRecordEmail", Maps.of("record", String.valueOf(record))), "POST").getResponseCode(); + assertEquals("Failed to " + (record ? "enable" : "disable") + " email recording", HttpStatus.SC_OK, responseCode); } public EmailRecordTable goToEmailRecord() diff --git a/src/org/labkey/test/WebTest.java b/src/org/labkey/test/WebTest.java index e2e13e8c9e..68e3298ab2 100644 --- a/src/org/labkey/test/WebTest.java +++ b/src/org/labkey/test/WebTest.java @@ -16,6 +16,8 @@ package org.labkey.test; +import org.jetbrains.annotations.Nullable; + import java.net.MalformedURLException; import java.net.URL; import java.util.List; @@ -32,5 +34,5 @@ public interface WebTest */ long beginAt(String url); URL getURL() throws MalformedURLException; - List getAssociatedModules(); + @Nullable List getAssociatedModules(); } diff --git a/src/org/labkey/test/tests/AbstractAdminConsoleTest.java b/src/org/labkey/test/tests/AbstractAdminConsoleTest.java index 8d894d5c46..2f7d79978d 100644 --- a/src/org/labkey/test/tests/AbstractAdminConsoleTest.java +++ b/src/org/labkey/test/tests/AbstractAdminConsoleTest.java @@ -21,7 +21,6 @@ import org.labkey.test.util.ApiPermissionsHelper; import org.labkey.test.util.PermissionsHelper; -import java.util.Arrays; import java.util.List; import static org.labkey.test.util.PermissionsHelper.APP_ADMIN_ROLE; @@ -41,7 +40,7 @@ public String getProjectName() @Override public List getAssociatedModules() { - return Arrays.asList("admin"); + return null; } @Override diff --git a/src/org/labkey/test/tests/AdminConsoleTest.java b/src/org/labkey/test/tests/AdminConsoleTest.java index 399d458b40..0070eb6cb7 100644 --- a/src/org/labkey/test/tests/AdminConsoleTest.java +++ b/src/org/labkey/test/tests/AdminConsoleTest.java @@ -24,6 +24,7 @@ import org.labkey.remoteapi.SimplePostCommand; import org.labkey.test.BaseWebDriverTest; import org.labkey.test.Locator; +import org.labkey.test.TestProperties; import org.labkey.test.WebDriverWrapper; import org.labkey.test.WebTestHelper; import org.labkey.test.util.OptionalFeatureHelper; @@ -46,6 +47,7 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import static org.labkey.test.WebTestHelper.buildURL; import static org.labkey.test.util.PermissionsHelper.APP_ADMIN_ROLE; import static org.labkey.test.util.PermissionsHelper.READER_ROLE; @@ -451,8 +453,22 @@ private void verifyOptionalFeatures(String linkText, List featureIds, Op @Test public void testEmailTimeoutSettings() { + // Disable email recording if it's on, otherwise we won't see timeouts + boolean emailRecordEnabled = false; + if (!TestProperties.isWithoutTestModules()) + { + beginAt(buildURL("dumbster", "begin")); + emailRecordEnabled = isChecked(Locator.checkboxById("emailRecordOn")); + if (emailRecordEnabled) + disableEmailRecorder(); + } + log("Verifying that default email timeout properties are set"); goToAdminConsole().clickTestEmailConfiguration(); assertTextPresent("mail.smtp.writetimeout", "mail.smtp.timeout", "mail.smtp.connectiontimeout"); + + // Restore email recorder if it was on + if (emailRecordEnabled) + enableEmailRecorder(); } } From a1b3576c9de4a930d849b29873c0ed802ebe79fb Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Fri, 21 Aug 2026 13:47:45 -0700 Subject: [PATCH 2/2] Restore setting in finally block --- .../labkey/test/tests/AdminConsoleTest.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/org/labkey/test/tests/AdminConsoleTest.java b/src/org/labkey/test/tests/AdminConsoleTest.java index 0070eb6cb7..cd90eb7a67 100644 --- a/src/org/labkey/test/tests/AdminConsoleTest.java +++ b/src/org/labkey/test/tests/AdminConsoleTest.java @@ -463,12 +463,17 @@ public void testEmailTimeoutSettings() disableEmailRecorder(); } - log("Verifying that default email timeout properties are set"); - goToAdminConsole().clickTestEmailConfiguration(); - assertTextPresent("mail.smtp.writetimeout", "mail.smtp.timeout", "mail.smtp.connectiontimeout"); - - // Restore email recorder if it was on - if (emailRecordEnabled) - enableEmailRecorder(); + try + { + log("Verifying that default email timeout properties are set"); + goToAdminConsole().clickTestEmailConfiguration(); + assertTextPresent("mail.smtp.writetimeout", "mail.smtp.timeout", "mail.smtp.connectiontimeout"); + } + finally + { + // Restore email recorder if it was on + if (emailRecordEnabled) + enableEmailRecorder(); + } } }