From 73c2775c1eaf1a5becb4bb6f11a7a55246a1234f Mon Sep 17 00:00:00 2001 From: labkey-jeckels Date: Fri, 22 Aug 2025 17:21:53 -0700 Subject: [PATCH 1/2] Issue 53562: Cap max blob size in database configuration option --- src/org/labkey/test/tests/AdminConsoleTest.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/org/labkey/test/tests/AdminConsoleTest.java b/src/org/labkey/test/tests/AdminConsoleTest.java index d692fce1bb..91668ffa6f 100644 --- a/src/org/labkey/test/tests/AdminConsoleTest.java +++ b/src/org/labkey/test/tests/AdminConsoleTest.java @@ -113,6 +113,19 @@ private String getServerHeader() throw new RuntimeException("Failed to get Server HTTP response header", e); } } + + @Test + public void testBogusSiteSettings() + { + // Issue 53562: Cap max BLOB size + CustomizeSitePage customizeSitePage = goToAdminConsole().clickSiteSettings(); + customizeSitePage.setMaxBLOBSize(Integer.toString(200 * 1024 * 1024 + 1)); + customizeSitePage.setSslPort("-4"); + customizeSitePage.save(); + assertTextPresent("Maximum BLOB size cannot be set higher than 209715200 bytes"); + assertTextPresent("HTTPS port must be between 1 and 65,535"); + + } @Test public void testRibbonBar() From 2dba92e91ca9097f180ee525dc1c5b91e9951e8b Mon Sep 17 00:00:00 2001 From: labkey-nicka Date: Sun, 24 Aug 2025 15:34:21 -0700 Subject: [PATCH 2/2] Update test --- .../pages/core/admin/CustomizeSitePage.java | 7 +++++++ .../labkey/test/tests/AdminConsoleTest.java | 18 ++++++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/org/labkey/test/pages/core/admin/CustomizeSitePage.java b/src/org/labkey/test/pages/core/admin/CustomizeSitePage.java index fa03ecc82f..2660ee999c 100644 --- a/src/org/labkey/test/pages/core/admin/CustomizeSitePage.java +++ b/src/org/labkey/test/pages/core/admin/CustomizeSitePage.java @@ -111,6 +111,12 @@ public CustomizeSitePage setMaxBLOBSize(String value) return this; } + public CustomizeSitePage setReadOnlyHttpRequestTimeout(String value) + { + elementCache().readOnlyHttpRequestTimeout.set(value); + return this; + } + public CustomizeSitePage setExt3Required(boolean enable) { elementCache().ext3Required.set(enable); @@ -247,6 +253,7 @@ protected RadioButton exceptionReportingLevel(ReportingLevel level) // System Properties protected final Input memoryUsageDumpInterval = Input(Locator.id("memoryUsageDumpInterval"), getDriver()).findWhenNeeded(this); protected final Input maxBLOBSize = Input(Locator.id("maxBLOBSize"), getDriver()).findWhenNeeded(this); + protected final Input readOnlyHttpRequestTimeout = Input(Locator.id("readOnlyHttpRequestTimeout"), getDriver()).findWhenNeeded(this); protected final Checkbox ext3Required = Checkbox(Locator.id("ext3Required")).findWhenNeeded(this); protected final Checkbox ext3APIRequired = Checkbox(Locator.id("ext3APIRequired")).findWhenNeeded(this); diff --git a/src/org/labkey/test/tests/AdminConsoleTest.java b/src/org/labkey/test/tests/AdminConsoleTest.java index 91668ffa6f..04429468af 100644 --- a/src/org/labkey/test/tests/AdminConsoleTest.java +++ b/src/org/labkey/test/tests/AdminConsoleTest.java @@ -121,10 +121,24 @@ public void testBogusSiteSettings() CustomizeSitePage customizeSitePage = goToAdminConsole().clickSiteSettings(); customizeSitePage.setMaxBLOBSize(Integer.toString(200 * 1024 * 1024 + 1)); customizeSitePage.setSslPort("-4"); + customizeSitePage.setMemoryUsageDumpInterval("-3"); + customizeSitePage.setReadOnlyHttpRequestTimeout("-1"); customizeSitePage.save(); - assertTextPresent("Maximum BLOB size cannot be set higher than 209715200 bytes"); - assertTextPresent("HTTPS port must be between 1 and 65,535"); + assertTextPresent( + "Maximum BLOB size cannot be set higher than 209715200 bytes", + "HTTPS port must be between 1 and 65,535", + "Memory logging frequency must be non-negative", + "HTTP timeout must be non-negative" + ); + customizeSitePage = new CustomizeSitePage(getDriver()); + customizeSitePage.setMaxBLOBSize("-10"); + customizeSitePage.setSslPort(Integer.toString(256 * 256)); // 2^16 + customizeSitePage.save(); + assertTextPresent( + "Maximum BLOB size cannot be negative", + "HTTPS port must be between 1 and 65,535" + ); } @Test