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..cd90eb7a67 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,27 @@ private void verifyOptionalFeatures(String linkText, List featureIds, Op @Test public void testEmailTimeoutSettings() { - log("Verifying that default email timeout properties are set"); - goToAdminConsole().clickTestEmailConfiguration(); - assertTextPresent("mail.smtp.writetimeout", "mail.smtp.timeout", "mail.smtp.connectiontimeout"); + // 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(); + } + + 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(); + } } }