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}"; private static final String RM_SEARCH_ENDPOINT = "{0}alfresco/s/slingshot/rmsearch/{1}?{2}";
/** RM document search filters */ /** 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 = 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. * 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 * by sortby
* <br> * <br>
* If more fine-grained control of search parameters is required, use rmSearch() directly. * 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 * @return list of record names
*/ */
public List<String> searchForRecordsAsUser( public List<String> searchForRecordsAsUser(
String username, String username, String password,
String password, String query, String sortby,
String query, boolean includeCategories, boolean includeFolders)
String sortby)
{ {
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 * @param expectedResults
* @return * @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<>(); List<String> results = new ArrayList<>();
// wait for solr indexing // wait for solr indexing
@@ -691,12 +692,13 @@ public class BaseRMRestTest extends RestTest
try try
{ {
this.wait(waitInMilliSeconds); this.wait(waitInMilliSeconds);
} catch (InterruptedException e) }
catch (InterruptedException e)
{ {
} }
} }
results = searchApi.searchForRecordsAsUser(user.getUsername(), user.getPassword(), term, sortby,
results = searchApi.searchForRmContentAsUser(user.getUsername(), user.getPassword(), term, sortby); includeFolders, includeCategories);
if (!results.isEmpty() && results.containsAll(expectedResults)) if (!results.isEmpty() && results.containsAll(expectedResults))
{ {
break; break;