Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 0 additions & 14 deletions pull_request_template.md

This file was deleted.

3 changes: 3 additions & 0 deletions src/org/labkey/test/BaseWebDriverTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import org.apache.commons.lang3.tuple.Pair;
import org.apache.hc.core5.http.HttpStatus;
import org.awaitility.Awaitility;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.json.JSONObject;
Expand Down Expand Up @@ -303,8 +304,10 @@ private static Class<? extends BaseWebDriverTest> getCurrentTestClass()
return SingletonWebDriver.getInstance().getWebDriver();
}

@Contract(pure = true)
protected abstract String getProjectName();

@Contract(pure = true)
public final @Nullable String getPrimaryTestProject()
{
return getProjectName();
Expand Down
4 changes: 3 additions & 1 deletion src/org/labkey/test/WebDriverWrapper.java
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,7 @@ public WebDriverWrapper()
_ext4Helper = new Ext4Helper(this);
}

@Contract(pure = true)
@NotNull
public final WebDriver getDriver()
{
Expand Down Expand Up @@ -1352,9 +1353,10 @@ public String getCurrentProject()
return "/"; //root
}

@Contract(pure = true)
public String getCurrentContainerPath()
{
return (String)executeScript("return LABKEY.container.path;");
return (String) executeScript("return LABKEY.container.path;");
}

public WhoAmIResponse whoAmI()
Expand Down
36 changes: 36 additions & 0 deletions src/org/labkey/test/WebTestHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -494,6 +494,42 @@ public static String getContextPath()
}
}

/**
* Convenience method to build an app url for the given controller
* @see URLBuilder
*
* @param containerPath Often getProjectName() or getCurrentContainerPath()
* @param controller Name of the controller
* @param parts The app resource path
* @return A url string that can be used for navigation.
*/
public static String buildAppURL(String containerPath, String controller, Object... parts)
{
return buildAppURL(containerPath, controller, null, parts).trim();
}

/**
* Convenience method to build an app url. Assumes Sample Manager app (samplemanager-app.view)
*
* @param containerPath Often getProjectName() or getCurrentContainerPath()
* @param controllerName Name of the controller
* @param params Any params that are part of the app query. {@link URLBuilder#setSecondaryQuery(Map)}
* @param parts The app resource path
* @return A url string that can be used for navigation.
* @see URLBuilder
*/
public static String buildAppURL(String containerPath, String controllerName, Map<String, ?> params, Object... parts)
{
if (StringUtils.isBlank(containerPath))
{
throw new IllegalArgumentException("Invalid app containerPath: " + containerPath);
}
return new URLBuilder(controllerName, "app", containerPath)
.setAppResourcePath(parts)
.setSecondaryQuery(params)
.buildURL();
}

public static String buildURL(String controller, String action)
{
return buildURL(controller, null, action, Collections.emptyMap());
Expand Down
18 changes: 18 additions & 0 deletions src/org/labkey/test/tests/BaseAppTest.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,26 @@
package org.labkey.test.tests;

import org.jetbrains.annotations.Contract;
import org.labkey.test.BaseWebDriverTest;
import org.labkey.test.WebTestHelper;

import java.util.Map;

public abstract class BaseAppTest extends BaseWebDriverTest
{
@Contract(pure = true)
public abstract String getAppControllerName();

@Contract(pure = true)
public String buildAppURL(String containerPath, Object... parts)
{
return WebTestHelper.buildAppURL(containerPath, getAppControllerName(), parts);
}

@Contract(pure = true)
public String buildAppURL(String containerPath, Map<String, Object> params, Object... parts)
{
return WebTestHelper.buildAppURL(containerPath, getAppControllerName(), params, parts);
}

}