From 93d6f35719681b35638a42083d0c4f39f6d7b772 Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Wed, 18 Feb 2026 15:52:16 -0800 Subject: [PATCH] Stop generating controller-first URLs --- src/org/labkey/test/LabKeySiteWrapper.java | 1 - src/org/labkey/test/WebDriverWrapper.java | 27 ++++++++++------------ src/org/labkey/test/WebTestHelper.java | 13 ----------- src/org/labkey/test/util/Crawler.java | 2 +- src/org/labkey/test/util/URLBuilder.java | 13 ++--------- 5 files changed, 15 insertions(+), 41 deletions(-) diff --git a/src/org/labkey/test/LabKeySiteWrapper.java b/src/org/labkey/test/LabKeySiteWrapper.java index d7af9d257f..9404a1f18d 100644 --- a/src/org/labkey/test/LabKeySiteWrapper.java +++ b/src/org/labkey/test/LabKeySiteWrapper.java @@ -646,7 +646,6 @@ private void waitForStartup() throw new RuntimeException("Webapp failed to start up after " + MAX_SERVER_STARTUP_WAIT_SECONDS + " seconds.", lastError); } log("Server is running."); - WebTestHelper.setUseContainerRelativeUrl((Boolean)executeScript("return LABKEY.experimental.containerRelativeURL;")); } @LogMethod diff --git a/src/org/labkey/test/WebDriverWrapper.java b/src/org/labkey/test/WebDriverWrapper.java index d251eb47f0..4065e31c28 100644 --- a/src/org/labkey/test/WebDriverWrapper.java +++ b/src/org/labkey/test/WebDriverWrapper.java @@ -1210,25 +1210,22 @@ public long beginAt(String url, int millis, boolean acceptAlerts) logMessage = "Navigating to " + relativeURL; } - if (WebTestHelper.isUseContainerRelativeUrl()) + try { - try + if (new Crawler.ControllerActionId(relativeURL).isControllerFirstUrl() && !_controllerFirstUrls.contains(url)) { - if (new Crawler.ControllerActionId(relativeURL).isControllerFirstUrl() && !_controllerFirstUrls.contains(url)) - { - _controllerFirstUrls.add(url); - RuntimeException ex = new RuntimeException("Controller-first url used: " + relativeURL); - if (TestProperties.isControllerFirstUrlFatal()) - throw ex; - else - TestLogger.log().warn(ex.getMessage(), ex); - } - } - catch (IllegalArgumentException e) - { - TestLogger.warn("Unable to parse URL: " + relativeURL, e); + _controllerFirstUrls.add(url); + RuntimeException ex = new RuntimeException("Controller-first url used: " + relativeURL); + if (TestProperties.isControllerFirstUrlFatal()) + throw ex; + else + TestLogger.log().warn(ex.getMessage(), ex); } } + catch (IllegalArgumentException e) + { + TestLogger.warn("Unable to parse URL: " + relativeURL, e); + } final String fullURL = WebTestHelper.getBaseURL() + relativeURL; final boolean expectPageLoad = expectPageLoad(fullURL); diff --git a/src/org/labkey/test/WebTestHelper.java b/src/org/labkey/test/WebTestHelper.java index c8c6d9eb78..d397ee3657 100644 --- a/src/org/labkey/test/WebTestHelper.java +++ b/src/org/labkey/test/WebTestHelper.java @@ -26,7 +26,6 @@ import org.apache.hc.client5.http.impl.auth.BasicAuthCache; import org.apache.hc.client5.http.impl.auth.BasicCredentialsProvider; import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; -import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse; import org.apache.hc.client5.http.impl.classic.HttpClientBuilder; import org.apache.hc.client5.http.impl.io.ManagedHttpClientConnectionFactory; import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder; @@ -99,7 +98,6 @@ */ public class WebTestHelper { - private static final Logger LOG = LogManager.getLogger(WebTestHelper.class); public static final Random RANDOM = new Random(); @@ -114,7 +112,6 @@ public class WebTestHelper private static String _contextPath = null; public static final int MAX_LEAK_LIMIT = 0; public static final int GC_ATTEMPT_LIMIT = 6; - private static boolean USE_CONTAINER_RELATIVE_URL = true; private static final Map> savedCookies = new HashMap<>(); private static final Map savedSessionKeys = new HashMap<>(); private static final Map savedApiKeys = new HashMap<>(); @@ -122,11 +119,6 @@ public class WebTestHelper static { TestProperties.load(); } - public static void setUseContainerRelativeUrl(boolean useContainerRelativeUrl) - { - USE_CONTAINER_RELATIVE_URL = useContainerRelativeUrl; - } - /** * Save cookies to be used by HTTP requests */ @@ -229,11 +221,6 @@ public static void deleteApiKey(Connection connection, String apiKey) } } - public static boolean isUseContainerRelativeUrl() - { - return USE_CONTAINER_RELATIVE_URL; - } - private static void acceptLocalhostCert() throws Exception { String keystorePassword = System.getProperty("keystore.password", "changeit"); diff --git a/src/org/labkey/test/util/Crawler.java b/src/org/labkey/test/util/Crawler.java index 292955b775..c040dc5fca 100644 --- a/src/org/labkey/test/util/Crawler.java +++ b/src/org/labkey/test/util/Crawler.java @@ -609,7 +609,7 @@ public boolean underCreatedProject() private void checkControllerRelativeUrl() { - if (_actionId != null && _actionId.isControllerFirstUrl() && WebTestHelper.isUseContainerRelativeUrl() && !_controllerFirstUrls.contains(_actionId)) + if (_actionId != null && _actionId.isControllerFirstUrl() && !_controllerFirstUrls.contains(_actionId)) { _controllerFirstUrls.add(_actionId); RuntimeException ex = new RuntimeException("Found a controller-first URL (%s) on %s".formatted(getUrlText(), getOrigin())); diff --git a/src/org/labkey/test/util/URLBuilder.java b/src/org/labkey/test/util/URLBuilder.java index 8b585fee9c..c60c943ed4 100644 --- a/src/org/labkey/test/util/URLBuilder.java +++ b/src/org/labkey/test/util/URLBuilder.java @@ -151,12 +151,6 @@ public String buildRelativeURL() { StringBuilder url = new StringBuilder(); - if (!WebTestHelper.isUseContainerRelativeUrl()) - { - url.append("/"); - url.append(_controller); - } - if (_containerPath != null) // null is root container; nothing to append. { url.append("/"); @@ -167,11 +161,8 @@ public String buildRelativeURL() } url.append("/"); - if (WebTestHelper.isUseContainerRelativeUrl()) - { - url.append(_controller); - url.append("-"); - } + url.append(_controller); + url.append("-"); url.append(_action); if (!_action.contains(".")) url.append(".view");