From 5c0567292a8080942aafe847726fc2647c0702db Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Fri, 2 Oct 2020 07:54:17 -0700 Subject: [PATCH 01/13] error page changes to hidden pages for impersonated users --- src/org/labkey/test/components/html/SiteNavBar.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/org/labkey/test/components/html/SiteNavBar.java b/src/org/labkey/test/components/html/SiteNavBar.java index 1f575af1f4..b7a2ae4ffa 100644 --- a/src/org/labkey/test/components/html/SiteNavBar.java +++ b/src/org/labkey/test/components/html/SiteNavBar.java @@ -285,9 +285,11 @@ public void impersonate(String fakeUser) AbstractUserHelper.saveCurrentDisplayName(getWrapper()); - if (getWrapper().isElementPresent(Locator.lkButton("Home"))) + // since the new error page does not have home button, + // the previous page may also be hidden to the impersonated user + while (getWrapper().isElementPresent(Locator.buttonContainingText("Back"))) { - getWrapper().clickAndWait(Locator.lkButton("Home")); + getWrapper().clickAndWait(Locator.buttonContainingText("Back")); } } From 694b6e030111e5041d948db723429fd3586425a5 Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Fri, 2 Oct 2020 12:45:57 -0700 Subject: [PATCH 02/13] fix SecurityTest --- src/org/labkey/test/BaseWebDriverTest.java | 1 + src/org/labkey/test/LabKeySiteWrapper.java | 6 ------ src/org/labkey/test/Locators.java | 1 + src/org/labkey/test/WebDriverWrapper.java | 6 ++++++ .../labkey/test/components/html/SiteNavBar.java | 8 ++++---- src/org/labkey/test/tests/SecurityTest.java | 15 +++++++++------ 6 files changed, 21 insertions(+), 16 deletions(-) diff --git a/src/org/labkey/test/BaseWebDriverTest.java b/src/org/labkey/test/BaseWebDriverTest.java index c55d11ca20..6bd6d43a4a 100644 --- a/src/org/labkey/test/BaseWebDriverTest.java +++ b/src/org/labkey/test/BaseWebDriverTest.java @@ -188,6 +188,7 @@ public abstract class BaseWebDriverTest extends LabKeySiteWrapper implements Cle private static final String ACTION_SUMMARY_TABLE_NAME = "actions"; protected static final String PERMISSION_ERROR = "User does not have permission to perform this operation."; + protected static final String NOT_FOUND_ERROR = "notFound"; static final Set urlsSeen = new HashSet<>(); diff --git a/src/org/labkey/test/LabKeySiteWrapper.java b/src/org/labkey/test/LabKeySiteWrapper.java index c3f21f8cb4..91ddce5879 100644 --- a/src/org/labkey/test/LabKeySiteWrapper.java +++ b/src/org/labkey/test/LabKeySiteWrapper.java @@ -1350,12 +1350,6 @@ public void stopImpersonating(boolean goHome) goToHome(); } - public void goToHome() - { - beginAt(WebTestHelper.buildURL("project", "home", "begin")); - waitFor(this::onLabKeyPage, "Home project didn't seem to load. JavaScript 'LABKEY' namespace not found.", 10000); - } - public void clickPortalTab(String tabText) { new PortalHelper(this).activateTab(tabText); diff --git a/src/org/labkey/test/Locators.java b/src/org/labkey/test/Locators.java index b1b93cf331..2e131c3de4 100644 --- a/src/org/labkey/test/Locators.java +++ b/src/org/labkey/test/Locators.java @@ -20,6 +20,7 @@ public abstract class Locators public static final Locator documentRoot = Locator.css(":root"); public static final Locator.IdLocator folderMenu = Locator.id("folderBar"); public static final Locator.XPathLocator labkeyError = Locator.byClass("labkey-error"); + public static final Locator.XPathLocator labkeyErrorSubHeading = Locator.byClass("labkey-error-subheading"); public static final Locator.XPathLocator labkeyMessage = Locator.byClass("labkey-message"); public static final Locator signInLink = Locator.tagWithAttributeContaining("a", "href", "login.view"); public static final Locator.XPathLocator folderTab = Locator.tagWithClass("div", "lk-nav-tabs-ct").append(Locator.tagWithClass("ul", "lk-nav-tabs")).childTag("li"); diff --git a/src/org/labkey/test/WebDriverWrapper.java b/src/org/labkey/test/WebDriverWrapper.java index 6a02d76c41..bc6c7aa3d8 100644 --- a/src/org/labkey/test/WebDriverWrapper.java +++ b/src/org/labkey/test/WebDriverWrapper.java @@ -778,6 +778,12 @@ public WebElement clickMenuButton(boolean wait, WebElement menu, boolean onlyOpe return null; } + public void goToHome() + { + beginAt(WebTestHelper.buildURL("project", "home", "begin")); + waitFor(this::onLabKeyPage, "Home project didn't seem to load. JavaScript 'LABKEY' namespace not found.", 10000); + } + // Click on a module listed on the admin menu; public void goToModule(String moduleName) { diff --git a/src/org/labkey/test/components/html/SiteNavBar.java b/src/org/labkey/test/components/html/SiteNavBar.java index b7a2ae4ffa..a33cbc9ed6 100644 --- a/src/org/labkey/test/components/html/SiteNavBar.java +++ b/src/org/labkey/test/components/html/SiteNavBar.java @@ -15,6 +15,7 @@ */ package org.labkey.test.components.html; +import org.labkey.test.LabKeySiteWrapper; import org.labkey.test.Locator; import org.labkey.test.WebDriverWrapper; import org.labkey.test.components.Component; @@ -285,11 +286,10 @@ public void impersonate(String fakeUser) AbstractUserHelper.saveCurrentDisplayName(getWrapper()); - // since the new error page does not have home button, - // the previous page may also be hidden to the impersonated user - while (getWrapper().isElementPresent(Locator.buttonContainingText("Back"))) + // since the error page does not have home button + if (getWrapper().isElementPresent(Locator.buttonContainingText("Back"))) { - getWrapper().clickAndWait(Locator.buttonContainingText("Back")); + getWrapper().goToHome(); } } diff --git a/src/org/labkey/test/tests/SecurityTest.java b/src/org/labkey/test/tests/SecurityTest.java index 7a7970964f..959fd84ee7 100644 --- a/src/org/labkey/test/tests/SecurityTest.java +++ b/src/org/labkey/test/tests/SecurityTest.java @@ -199,9 +199,9 @@ protected void cantReachAdminToolFromUserAccount() //admin site link not available assertElementNotPresent(Locator.id("adminMenuPopupText")); - //can't reach admin urls directly either + //can't reach admin urls and invalid urls directly either for (String url : unreachableUrls) - assertUrlForbidden(url); + assertNonReachableUrl(url); //shouldn't be able to view own history either goToMyAccount(); @@ -211,12 +211,15 @@ protected void cantReachAdminToolFromUserAccount() } @LogMethod - public void assertUrlForbidden(String url) + public void assertNonReachableUrl(String url) { log("Attempting to reach URL user does not have permission for: " + url); SimpleHttpResponse httpResponse = WebTestHelper.getHttpResponse(url); - if (HttpStatus.SC_FORBIDDEN != httpResponse.getResponseCode() || - !httpResponse.getResponseBody().contains(PERMISSION_ERROR)) + + if ((HttpStatus.SC_FORBIDDEN != httpResponse.getResponseCode() || + !httpResponse.getResponseBody().contains(PERMISSION_ERROR)) && + (HttpStatus.SC_NOT_FOUND != httpResponse.getResponseCode() || + !httpResponse.getResponseBody().contains(NOT_FOUND_ERROR))) { // Go to page for better failure screenshot beginAt(url); @@ -858,7 +861,7 @@ public void loginSelfRegistrationDisabledTest() assertFalse("Self-registration button is visible", link != null && link.isDisplayed()); beginAt(buildURL("login", "register")); - assertElementPresent(Locators.labkeyError.withText("Registration is not enabled.")); + assertElementPresent(Locators.labkeyErrorSubHeading.withText("The requested page cannot be found. Registration is not enabled.")); // cleanup: sign admin back in signIn(); From 5fec08ee9845f0abffa540d11ac239b5143f1ff3 Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Fri, 2 Oct 2020 14:33:46 -0700 Subject: [PATCH 03/13] add wait to load for error page when impersonating --- src/org/labkey/test/components/html/SiteNavBar.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/org/labkey/test/components/html/SiteNavBar.java b/src/org/labkey/test/components/html/SiteNavBar.java index a33cbc9ed6..7d70fc0261 100644 --- a/src/org/labkey/test/components/html/SiteNavBar.java +++ b/src/org/labkey/test/components/html/SiteNavBar.java @@ -267,7 +267,7 @@ protected UserMenu(WebElement componentElement, WebDriver driver) super(driver, componentElement); } - public void impersonate(String fakeUser) + public void impersonate(String fakeUser) throws InterruptedException { ImpersonateUserWindow window; try @@ -287,7 +287,7 @@ public void impersonate(String fakeUser) AbstractUserHelper.saveCurrentDisplayName(getWrapper()); // since the error page does not have home button - if (getWrapper().isElementPresent(Locator.buttonContainingText("Back"))) + if (getWrapper().waitForElement(Locator.buttonContainingText("Back"), 6000, false)) { getWrapper().goToHome(); } From a8d33e2300e212aa8c7abfc48f22f10226679911 Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Fri, 2 Oct 2020 14:59:31 -0700 Subject: [PATCH 04/13] remove exception from method signature --- src/org/labkey/test/components/html/SiteNavBar.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/labkey/test/components/html/SiteNavBar.java b/src/org/labkey/test/components/html/SiteNavBar.java index 7d70fc0261..823b2fe5b1 100644 --- a/src/org/labkey/test/components/html/SiteNavBar.java +++ b/src/org/labkey/test/components/html/SiteNavBar.java @@ -267,7 +267,7 @@ protected UserMenu(WebElement componentElement, WebDriver driver) super(driver, componentElement); } - public void impersonate(String fakeUser) throws InterruptedException + public void impersonate(String fakeUser) { ImpersonateUserWindow window; try From 0d05a883ff9a7eb8a8fcf2f3c271346ee2a931b5 Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Mon, 5 Oct 2020 09:59:36 -0700 Subject: [PATCH 05/13] revised wordings --- src/org/labkey/test/components/html/SiteNavBar.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/org/labkey/test/components/html/SiteNavBar.java b/src/org/labkey/test/components/html/SiteNavBar.java index 823b2fe5b1..add7d25fd5 100644 --- a/src/org/labkey/test/components/html/SiteNavBar.java +++ b/src/org/labkey/test/components/html/SiteNavBar.java @@ -286,11 +286,8 @@ public void impersonate(String fakeUser) AbstractUserHelper.saveCurrentDisplayName(getWrapper()); - // since the error page does not have home button - if (getWrapper().waitForElement(Locator.buttonContainingText("Back"), 6000, false)) - { - getWrapper().goToHome(); - } + getWrapper().goToHome(); + } public void impersonateRoles(String oneRole, String... roles) From 876b4ba6240cb430c295671d41c7e50e45bc7f2b Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Mon, 5 Oct 2020 11:28:19 -0700 Subject: [PATCH 06/13] revised wordings update --- src/org/labkey/test/tests/SecurityTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/org/labkey/test/tests/SecurityTest.java b/src/org/labkey/test/tests/SecurityTest.java index 959fd84ee7..ad339c106d 100644 --- a/src/org/labkey/test/tests/SecurityTest.java +++ b/src/org/labkey/test/tests/SecurityTest.java @@ -861,7 +861,8 @@ public void loginSelfRegistrationDisabledTest() assertFalse("Self-registration button is visible", link != null && link.isDisplayed()); beginAt(buildURL("login", "register")); - assertElementPresent(Locators.labkeyErrorSubHeading.withText("The requested page cannot be found. Registration is not enabled.")); + waitForAnyElement(Locators.labkeyError, Locators.labkeyErrorSubHeading); + assertElementPresent(Locators.labkeyErrorSubHeading.withText("Registration is not enabled.")); // cleanup: sign admin back in signIn(); From fd601e74f80aec9aa99191713ae1e7e5c5d190b7 Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Tue, 6 Oct 2020 14:26:41 -0700 Subject: [PATCH 07/13] cr feedback changes --- src/org/labkey/test/BaseWebDriverTest.java | 9 --------- src/org/labkey/test/LabKeySiteWrapper.java | 6 ++++++ src/org/labkey/test/WebDriverWrapper.java | 6 ------ src/org/labkey/test/components/html/SiteNavBar.java | 7 +++++-- src/org/labkey/test/tests/SecurityTest.java | 5 +++-- 5 files changed, 14 insertions(+), 19 deletions(-) diff --git a/src/org/labkey/test/BaseWebDriverTest.java b/src/org/labkey/test/BaseWebDriverTest.java index 6bd6d43a4a..dc1cde5951 100644 --- a/src/org/labkey/test/BaseWebDriverTest.java +++ b/src/org/labkey/test/BaseWebDriverTest.java @@ -187,9 +187,6 @@ public abstract class BaseWebDriverTest extends LabKeySiteWrapper implements Cle protected static boolean _checkedLeaksAndErrors = false; private static final String ACTION_SUMMARY_TABLE_NAME = "actions"; - protected static final String PERMISSION_ERROR = "User does not have permission to perform this operation."; - protected static final String NOT_FOUND_ERROR = "notFound"; - static final Set urlsSeen = new HashSet<>(); static @@ -1543,12 +1540,6 @@ public void setModuleProperties(List values) } } - public void assertAtUserUserLacksPermissionPage() - { - assertTextPresent(PERMISSION_ERROR); - assertTitleEquals("403: Error Page -- User does not have permission to perform this operation."); - } - public void assertNavTrail(String... links) { String expectedNavTrail = String.join("", links); diff --git a/src/org/labkey/test/LabKeySiteWrapper.java b/src/org/labkey/test/LabKeySiteWrapper.java index 91ddce5879..c3f21f8cb4 100644 --- a/src/org/labkey/test/LabKeySiteWrapper.java +++ b/src/org/labkey/test/LabKeySiteWrapper.java @@ -1350,6 +1350,12 @@ public void stopImpersonating(boolean goHome) goToHome(); } + public void goToHome() + { + beginAt(WebTestHelper.buildURL("project", "home", "begin")); + waitFor(this::onLabKeyPage, "Home project didn't seem to load. JavaScript 'LABKEY' namespace not found.", 10000); + } + public void clickPortalTab(String tabText) { new PortalHelper(this).activateTab(tabText); diff --git a/src/org/labkey/test/WebDriverWrapper.java b/src/org/labkey/test/WebDriverWrapper.java index bc6c7aa3d8..6a02d76c41 100644 --- a/src/org/labkey/test/WebDriverWrapper.java +++ b/src/org/labkey/test/WebDriverWrapper.java @@ -778,12 +778,6 @@ public WebElement clickMenuButton(boolean wait, WebElement menu, boolean onlyOpe return null; } - public void goToHome() - { - beginAt(WebTestHelper.buildURL("project", "home", "begin")); - waitFor(this::onLabKeyPage, "Home project didn't seem to load. JavaScript 'LABKEY' namespace not found.", 10000); - } - // Click on a module listed on the admin menu; public void goToModule(String moduleName) { diff --git a/src/org/labkey/test/components/html/SiteNavBar.java b/src/org/labkey/test/components/html/SiteNavBar.java index add7d25fd5..26cee1d254 100644 --- a/src/org/labkey/test/components/html/SiteNavBar.java +++ b/src/org/labkey/test/components/html/SiteNavBar.java @@ -15,7 +15,6 @@ */ package org.labkey.test.components.html; -import org.labkey.test.LabKeySiteWrapper; import org.labkey.test.Locator; import org.labkey.test.WebDriverWrapper; import org.labkey.test.components.Component; @@ -286,7 +285,11 @@ public void impersonate(String fakeUser) AbstractUserHelper.saveCurrentDisplayName(getWrapper()); - getWrapper().goToHome(); + if (getDriver().getTitle().contains("403")) + { + // go to home + getWrapper().clickAndWait(Locator.tagWithClass("a", "brand-logo")); + } } diff --git a/src/org/labkey/test/tests/SecurityTest.java b/src/org/labkey/test/tests/SecurityTest.java index ad339c106d..f0439082a9 100644 --- a/src/org/labkey/test/tests/SecurityTest.java +++ b/src/org/labkey/test/tests/SecurityTest.java @@ -81,6 +81,8 @@ public class SecurityTest extends BaseWebDriverTest protected static final String NORMAL_USER_PASSWORD = PASSWORDS[0]; protected static final String TO_BE_DELETED_USER = "delete_me@security.test"; protected static final String SITE_ADMIN_USER = "siteadmin_securitytest@security.test"; + protected static final String PERMISSION_ERROR = "User does not have permission to perform this operation."; + protected static final String NOT_FOUND_ERROR = "notFound"; @Override public List getAssociatedModules() @@ -861,8 +863,7 @@ public void loginSelfRegistrationDisabledTest() assertFalse("Self-registration button is visible", link != null && link.isDisplayed()); beginAt(buildURL("login", "register")); - waitForAnyElement(Locators.labkeyError, Locators.labkeyErrorSubHeading); - assertElementPresent(Locators.labkeyErrorSubHeading.withText("Registration is not enabled.")); + waitForElement(Locators.labkeyErrorSubHeading.withText("Registration is not enabled.")); // cleanup: sign admin back in signIn(); From 6d6c6c40f0048963574ec02f892bff5dee2d8faa Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Tue, 6 Oct 2020 22:15:37 -0700 Subject: [PATCH 08/13] fix multiple Daily failures --- src/org/labkey/test/Locators.java | 1 + src/org/labkey/test/tests/UserTest.java | 2 +- src/org/labkey/test/tests/list/ListTest.java | 2 +- src/org/labkey/test/tests/nab/NabAssayTest.java | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/org/labkey/test/Locators.java b/src/org/labkey/test/Locators.java index 2e131c3de4..c6cc67510a 100644 --- a/src/org/labkey/test/Locators.java +++ b/src/org/labkey/test/Locators.java @@ -21,6 +21,7 @@ public abstract class Locators public static final Locator.IdLocator folderMenu = Locator.id("folderBar"); public static final Locator.XPathLocator labkeyError = Locator.byClass("labkey-error"); public static final Locator.XPathLocator labkeyErrorSubHeading = Locator.byClass("labkey-error-subheading"); + public static final Locator.XPathLocator labkeyErrorInstruction = Locator.byClass("labkey-error-instruction"); public static final Locator.XPathLocator labkeyMessage = Locator.byClass("labkey-message"); public static final Locator signInLink = Locator.tagWithAttributeContaining("a", "href", "login.view"); public static final Locator.XPathLocator folderTab = Locator.tagWithClass("div", "lk-nav-tabs-ct").append(Locator.tagWithClass("ul", "lk-nav-tabs")).childTag("li"); diff --git a/src/org/labkey/test/tests/UserTest.java b/src/org/labkey/test/tests/UserTest.java index 377be8ca98..7aed4686b9 100644 --- a/src/org/labkey/test/tests/UserTest.java +++ b/src/org/labkey/test/tests/UserTest.java @@ -561,7 +561,7 @@ public void testAddUserCSRF() setFormElementJS(Locator.name(Connection.X_LABKEY_CSRF), ""); clickButton("Add Users"); - assertElementPresent(Locators.labkeyError.containing("This request has an invalid security context.")); + assertElementPresent(Locators.labkeyErrorSubHeading.containing("You do not have the permissions required to access this page.")); } @Override diff --git a/src/org/labkey/test/tests/list/ListTest.java b/src/org/labkey/test/tests/list/ListTest.java index 1254519453..426e1c72fe 100644 --- a/src/org/labkey/test/tests/list/ListTest.java +++ b/src/org/labkey/test/tests/list/ListTest.java @@ -658,7 +658,7 @@ public void testCustomViews() assertEquals("Incorrect response code", 404, getResponseCode()); assertTextPresent("Query '" + LIST_NAME_COLORS + "' in schema 'lists' doesn't exist."); - clickButton("Folder"); + clickButton("Back"); // after the 13.2 audit log migration, we are no longer going to co-mingle domain and list events in the same table AuditLogTest.verifyAuditEvent(this, DOMAIN_AUDIT_EVENT, AuditLogTest.COMMENT_COLUMN, "The domain " + LIST_NAME_COLORS + " was deleted", 5); AuditLogTest.verifyAuditEvent(this, LIST_AUDIT_EVENT, AuditLogTest.COMMENT_COLUMN, "An existing list record was deleted", 5); diff --git a/src/org/labkey/test/tests/nab/NabAssayTest.java b/src/org/labkey/test/tests/nab/NabAssayTest.java index 68064671f2..9b2357efb7 100644 --- a/src/org/labkey/test/tests/nab/NabAssayTest.java +++ b/src/org/labkey/test/tests/nab/NabAssayTest.java @@ -463,7 +463,7 @@ public void runUITests() beginAt(ptid1c_detailsURL); assertEquals(403, getResponseCode()); - clickAndWait(Locator.lkButton("Home")); + clickButton("Back"); stopImpersonating(); doNabApiTest(); // Use NAb study APIs From 16588ef2cfd2c882aeabc768ee99ae71c21730f7 Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Wed, 7 Oct 2020 07:52:29 -0700 Subject: [PATCH 09/13] fix more dailies --- src/org/labkey/test/util/Crawler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/labkey/test/util/Crawler.java b/src/org/labkey/test/util/Crawler.java index 594f98b9b1..56e94ab15a 100644 --- a/src/org/labkey/test/util/Crawler.java +++ b/src/org/labkey/test/util/Crawler.java @@ -1031,7 +1031,7 @@ private List crawlLink(final UrlToCheck urlToCheck) if (code >= 400) { String message = relativeURL + "\nproduced response code " + code + originMessage; - if (code == 403 && TestProperties.isPrimaryUserAppAdmin()) + if ((code == 403 && TestProperties.isPrimaryUserAppAdmin()) || code == 404) { // Crawling as app admin is likely to hit numerous 403s. Don't fail immediately. _test.checker().wrapAssertion(() -> fail(message)); From 6adbdbde6f22be04cfde5ecafe5b08bdec9360d3 Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Wed, 7 Oct 2020 13:56:57 -0700 Subject: [PATCH 10/13] fix NabAssayTest --- src/org/labkey/test/tests/nab/NabAssayTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/org/labkey/test/tests/nab/NabAssayTest.java b/src/org/labkey/test/tests/nab/NabAssayTest.java index 9b2357efb7..bf9729b787 100644 --- a/src/org/labkey/test/tests/nab/NabAssayTest.java +++ b/src/org/labkey/test/tests/nab/NabAssayTest.java @@ -463,7 +463,6 @@ public void runUITests() beginAt(ptid1c_detailsURL); assertEquals(403, getResponseCode()); - clickButton("Back"); stopImpersonating(); doNabApiTest(); // Use NAb study APIs @@ -849,7 +848,7 @@ protected void testWellAndDilutionData() clickAndWait(Locator.linkWithText("Download Datafile")); assertTextPresent("Data file for run ptid + date was not found."); - clickButton("Folder"); + clickButton("Back"); } protected void runNabQCTest() From 79b3cc65e877245dd9bacf18652cf07656d710c8 Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Thu, 8 Oct 2020 08:14:37 -0700 Subject: [PATCH 11/13] check module not enabled message in subheading --- src/org/labkey/test/util/Crawler.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/org/labkey/test/util/Crawler.java b/src/org/labkey/test/util/Crawler.java index 56e94ab15a..30cea59d0a 100644 --- a/src/org/labkey/test/util/Crawler.java +++ b/src/org/labkey/test/util/Crawler.java @@ -1031,7 +1031,7 @@ private List crawlLink(final UrlToCheck urlToCheck) if (code >= 400) { String message = relativeURL + "\nproduced response code " + code + originMessage; - if ((code == 403 && TestProperties.isPrimaryUserAppAdmin()) || code == 404) + if (code == 403 && TestProperties.isPrimaryUserAppAdmin()) { // Crawling as app admin is likely to hit numerous 403s. Don't fail immediately. _test.checker().wrapAssertion(() -> fail(message)); @@ -1146,7 +1146,7 @@ private boolean isIgnoredError(int code, UrlToCheck urlToCheck, URL origin) { if (origin == null || _actionsMayLinkTo404.contains(new ControllerActionId(origin.toString()))) return true; // Ignore 404s from the initial set of links - if (_test.isElementPresent(Locators.labkeyError.containing("module is not enabled"))) + if (_test.isElementPresent(Locators.labkeyErrorSubHeading.containing("module is not enabled"))) return true; // Some modules return 404 when not enabled } From ced9c838a7fad28435f3b69d1ef73a77ae5e786d Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Thu, 8 Oct 2020 16:43:50 -0700 Subject: [PATCH 12/13] add action to excluded action list --- src/org/labkey/test/util/Crawler.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/org/labkey/test/util/Crawler.java b/src/org/labkey/test/util/Crawler.java index 30cea59d0a..b0d472d8c4 100644 --- a/src/org/labkey/test/util/Crawler.java +++ b/src/org/labkey/test/util/Crawler.java @@ -203,6 +203,7 @@ protected List getDefaultExcludedActions() new ControllerActionId("microarray", "designer"), // assay designer prompts to save design when navigating away new ControllerActionId("ms2", "pepSearch"), // TODO: 36995: Check for SQL injection in StatementWrapper is not precise enough new ControllerActionId("ms2", "showParamsFile"), + new ControllerActionId("ms2", "showList"), // Tested directly in XTandemTest new ControllerActionId("ms2", "showPeptide"), new ControllerActionId("nabassay", "downloadDatafile"), @@ -1146,8 +1147,6 @@ private boolean isIgnoredError(int code, UrlToCheck urlToCheck, URL origin) { if (origin == null || _actionsMayLinkTo404.contains(new ControllerActionId(origin.toString()))) return true; // Ignore 404s from the initial set of links - if (_test.isElementPresent(Locators.labkeyErrorSubHeading.containing("module is not enabled"))) - return true; // Some modules return 404 when not enabled } if (code == HttpStatus.SC_METHOD_NOT_ALLOWED) // 405 From b3c2f0380a5f89e9ebb9fc9df2a1347d43e5dade Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Thu, 8 Oct 2020 17:14:50 -0700 Subject: [PATCH 13/13] change action name --- src/org/labkey/test/util/Crawler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/labkey/test/util/Crawler.java b/src/org/labkey/test/util/Crawler.java index b0d472d8c4..d6a54e6a14 100644 --- a/src/org/labkey/test/util/Crawler.java +++ b/src/org/labkey/test/util/Crawler.java @@ -205,7 +205,7 @@ protected List getDefaultExcludedActions() new ControllerActionId("ms2", "showParamsFile"), new ControllerActionId("ms2", "showList"), // Tested directly in XTandemTest - new ControllerActionId("ms2", "showPeptide"), + new ControllerActionId("ms2", "doProteinSearch"), new ControllerActionId("nabassay", "downloadDatafile"), new ControllerActionId("nlp", "runPipeline"), new ControllerActionId("pipeline-analysis", "analyze"), // Doesn't navigate