RM-6318: Search for "derived by" and classification reasons: Automate AC

This commit is contained in:
jcule
2018-05-23 12:37:34 +01:00
2 changed files with 13 additions and 14 deletions

View File

@@ -64,11 +64,8 @@ public class SearchAPI extends BaseAPI
private static final String RM_SEARCH_ENDPOINT = "{0}alfresco/s/slingshot/rmsearch/{1}?{2}";
/** RM document search filters */
private static final String RM_DEFAULT_RECORD_FILTERS =
"records/true,undeclared/true,vital/false,folders/false,categories/false,frozen/false,cutoff/false";
/** RM all nodes search filters */
private static final String RM_DEFAULT_NODES_FILTERS =
"records/true,undeclared/true,vital/false,folders/true,categories/true,frozen/false,cutoff/false";
"records/true,undeclared/true,vital/false,folders/{0},categories/{1},frozen/false,cutoff/false";
/**
* Perform search request on search endpoint as a user.
@@ -123,7 +120,7 @@ public class SearchAPI extends BaseAPI
}
/**
* Search as a user for records on site "rm" matching query, using SearchAPI.RM_DEFAULT_RECORD_FILTERS and sorted
* Search as a user for nodes on site "rm" matching query, using SearchAPI.RM_DEFAULT_RECORD_FILTERS and sorted
* by sortby
* <br>
* If more fine-grained control of search parameters is required, use rmSearch() directly.
@@ -134,12 +131,12 @@ public class SearchAPI extends BaseAPI
* @return list of record names
*/
public List<String> searchForRecordsAsUser(
String username,
String password,
String query,
String sortby)
String username, String password,
String query, String sortby,
boolean includeCategories, boolean includeFolders)
{
return getItemNames(rmSearch(username, password, "rm", query, RM_DEFAULT_RECORD_FILTERS, sortby));
String searchFilterParamaters = MessageFormat.format(RM_DEFAULT_NODES_FILTERS, Boolean.toString(includeFolders), Boolean.toString(includeCategories));
return getItemNames(rmSearch(username, password, "rm", query, searchFilterParamaters, sortby));
}
/**

View File

@@ -678,7 +678,8 @@ public class BaseRMRestTest extends RestTest
* @param expectedResults
* @return
*/
public List<String> searchForRMContentAsUser(UserModel user, String term, String sortby, List<String> expectedResults)
public List<String> searchForRMContentAsUser(UserModel user, String term, String sortby, boolean includeFolders,
boolean includeCategories, List<String> expectedResults)
{
List<String> results = new ArrayList<>();
// wait for solr indexing
@@ -691,12 +692,13 @@ public class BaseRMRestTest extends RestTest
try
{
this.wait(waitInMilliSeconds);
} catch (InterruptedException e)
}
catch (InterruptedException e)
{
}
}
results = searchApi.searchForRmContentAsUser(user.getUsername(), user.getPassword(), term, sortby);
results = searchApi.searchForRecordsAsUser(user.getUsername(), user.getPassword(), term, sortby,
includeFolders, includeCategories);
if (!results.isEmpty() && results.containsAll(expectedResults))
{
break;