Skip to content
Merged
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
5 changes: 5 additions & 0 deletions src/org/labkey/test/components/html/SiteNavBar.java
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,11 @@ public WebElement expandSearchBar()
return elementCache().searchInput;
}

public boolean isSearchIconPresent()
{
return elementCache().searchToggle.isDisplayed();
}

public AdminMenu adminMenu()
{
return elementCache().adminMenu;
Expand Down
6 changes: 1 addition & 5 deletions src/org/labkey/test/util/Maps.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,9 @@
import java.util.LinkedHashMap;
import java.util.Map;

@Deprecated // Use built-in Map.of() instead. Though note: Map.of() does not allow null values.
public class Maps
{
public static <K, V> Map<K, V> of()
{
return Collections.emptyMap();
}

public static <K, V> Map<K, V> of(K k1, V v1)
{
return Collections.singletonMap(k1, v1);
Expand Down
64 changes: 23 additions & 41 deletions src/org/labkey/test/util/search/SearchAdminAPIHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
import org.labkey.test.WebTestHelper;
import org.labkey.test.util.LogMethod;
import org.labkey.test.util.LoggedParam;
import org.labkey.test.util.Maps;
import org.labkey.test.util.SimpleHttpRequest;
import org.labkey.test.util.SimpleHttpResponse;
import org.labkey.test.util.Timer;
Expand Down Expand Up @@ -128,71 +127,54 @@ private static void executeCommand(PostCommand<?> cmd, String containerPath)
@LogMethod(quiet = true)
public static void startCrawler(WebDriver driver)
{
SimpleHttpRequest request = new SimpleHttpRequest(WebTestHelper.buildURL("search", "admin", Maps.of("start", "true")));
request.copySession(driver);
request.setRequestMethod("POST");
try
{
SimpleHttpResponse response = request.getResponse();
assertEquals("Failed to start search crawler", HttpStatus.SC_OK, response.getResponseCode());
}
catch (IOException e)
{
throw new RuntimeException("Failed to start search crawler", e);
}
invokeAdminAction(driver, "start search crawler", Map.of("start", "true"));
}

@LogMethod(quiet = true)
public static void pauseCrawler(WebDriver driver)
{
SimpleHttpRequest request = new SimpleHttpRequest(WebTestHelper.buildURL("search", "admin", Maps.of("pause", "true")));
request.copySession(driver);
request.setRequestMethod("POST");
try
{
SimpleHttpResponse response = request.getResponse();
assertEquals("Failed to pause search crawler", HttpStatus.SC_OK, response.getResponseCode());
}
catch (IOException e)
{
throw new RuntimeException("Failed to pause search crawler", e);
}
invokeAdminAction(driver, "pause search crawler", Map.of("pause", "true"));
}

@LogMethod(quiet = true)
public static void hideSearchIcon(WebDriver driver)
{
invokeAdminAction(driver, "hide search icon", Map.of("hideSearchIcon", "true"));
}

@LogMethod(quiet = true)
public static void showSearchIcon(WebDriver driver)
{
invokeAdminAction(driver, "show search icon", Map.of("showSearchIcon", "true"));
}

@LogMethod(quiet = true)
public static void setDirectoryType(@LoggedParam DirectoryType type, WebDriver driver)
{
pauseCrawler(driver);
SimpleHttpRequest request = new SimpleHttpRequest(WebTestHelper.buildURL("search", "admin",
Maps.of("directory", "true", "directoryType", type.toString())));
request.copySession(driver);
request.setRequestMethod("POST");
try
{
SimpleHttpResponse response = request.getResponse();
assertEquals("Failed to set search directoryType", HttpStatus.SC_OK, response.getResponseCode());
}
catch (IOException e)
{
throw new RuntimeException("Failed to set search directoryType", e);
}
invokeAdminAction(driver, "set search directoryType", Map.of("directory", "true", "directoryType", type.toString()));
startCrawler(driver);
}

@LogMethod(quiet = true)
public static void deleteIndex(WebDriver driver)
{
SimpleHttpRequest request = new SimpleHttpRequest(WebTestHelper.buildURL("search", "admin", Maps.of("delete", "true")));
invokeAdminAction(driver, "delete search index", Map.of("delete", "true"));
}

private static void invokeAdminAction(WebDriver driver, String operation, Map<String, String> map)
{
SimpleHttpRequest request = new SimpleHttpRequest(WebTestHelper.buildURL("search", "admin", map));
request.copySession(driver);
request.setRequestMethod("POST");
try
{
SimpleHttpResponse response = request.getResponse();
assertEquals("Failed to delete search index", HttpStatus.SC_OK, response.getResponseCode());
assertEquals("Failed to " + operation, HttpStatus.SC_OK, response.getResponseCode());
}
catch (IOException e)
{
throw new RuntimeException("Failed to delete search index", e);
throw new RuntimeException("Failed to " + operation, e);
}
}

Expand Down