Skip to content

Commit e89a84a

Browse files
authored
Ignore test failures caused by labkey.org maintenance (#2769)
1 parent 5ae82b0 commit e89a84a

File tree

3 files changed

+34
-1
lines changed

3 files changed

+34
-1
lines changed

src/org/labkey/test/tests/LinkedReportTest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.labkey.test.BaseWebDriverTest;
99
import org.labkey.test.Locator;
1010
import org.labkey.test.categories.Daily;
11+
import org.labkey.test.util.WebServicesUtil;
1112

1213
import java.util.List;
1314

@@ -53,7 +54,10 @@ public void testLinkedReportToExternalURL()
5354
waitAndClick(Locator.linkWithText(REPORT_NAME));
5455
switchToWindow(1);
5556

56-
waitForElement(Locator.linkWithText("Get a Demo"));
57+
if (!WebServicesUtil.isLabKeyDotOrgMaintenance(getDriver()))
58+
{
59+
waitForElement(Locator.linkWithText("Get a Demo"));
60+
}
5761
Assert.assertEquals("Linked report navigated to incorrect external link", LINK_REPORT_URL, getDriver().getCurrentUrl());
5862
}
5963
}

src/org/labkey/test/tests/NonStandardDateAndTimeFormatTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import org.labkey.test.util.DataRegionTable;
3333
import org.labkey.test.util.PortalHelper;
3434
import org.labkey.test.util.URLBuilder;
35+
import org.labkey.test.util.WebServicesUtil;
3536
import org.openqa.selenium.WebElement;
3637

3738
import java.io.IOException;
@@ -764,6 +765,7 @@ public void testScopeFromSiteToSubFolder() throws IOException, CommandException
764765
WebElement banner = Locator.tagWithText("h3", "Date & Number Display Formats").refindWhenNeeded(getDriver());
765766
checker().withScreenshot()
766767
.verifyTrue("'Click here' link did not navigate as expected.",
768+
WebServicesUtil.isLabKeyDotOrgMaintenance(getDriver()) ||
767769
waitFor(banner::isDisplayed, 1_000));
768770
closeExtraWindows();
769771
}

src/org/labkey/test/util/WebServicesUtil.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,14 @@
1515
*/
1616
package org.labkey.test.util;
1717

18+
import org.openqa.selenium.WebDriver;
19+
1820
import java.io.IOException;
1921
import java.net.InetAddress;
2022
import java.net.InetSocketAddress;
2123
import java.net.Socket;
24+
import java.net.URL;
25+
import java.util.Objects;
2226

2327
import static org.junit.Assert.assertTrue;
2428

@@ -91,4 +95,27 @@ static public Socket openSocket(String hostIp, int port) throws IOException
9195
socket.connect(new InetSocketAddress(hostIp, port), 2000);
9296
return socket;
9397
}
98+
99+
/**
100+
* Checks whether the current page is the maintenance page for labkey.org.
101+
* This is usually indicated by a {@code 502}-{@code 504} status code.
102+
* Allows tests that check links to labkey.org to not fail during maintenance periods.
103+
*
104+
* @param driver The WebDriver instance to check
105+
* @return true if the current page is the maintenance page for labkey.org, false otherwise.
106+
*/
107+
public static boolean isLabKeyDotOrgMaintenance(WebDriver driver)
108+
{
109+
try
110+
{
111+
URL url = new URL(Objects.requireNonNull(driver.getCurrentUrl()));
112+
String title = driver.getTitle();
113+
int responseCode = Integer.parseInt(Objects.requireNonNull(title).substring(0, 3));
114+
return url.getHost().endsWith("labkey.org") && 502 <= responseCode && responseCode <= 504;
115+
}
116+
catch (Exception e)
117+
{
118+
return false;
119+
}
120+
}
94121
}

0 commit comments

Comments
 (0)