From d0c4593a50922bd9f4e8b1fdb74d5db68e4d3496 Mon Sep 17 00:00:00 2001 From: cagache Date: Fri, 11 May 2018 16:54:54 +0300 Subject: [PATCH] RM-6311 added API test to check that rm search results are ordered by security marks --- .../java/org/alfresco/rest/v0/SearchAPI.java | 17 +++++++++--- .../rm/community/base/BaseRMRestTest.java | 26 +++++++++---------- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/SearchAPI.java b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/SearchAPI.java index 2bad85cbd5..f462f06cdf 100644 --- a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/SearchAPI.java +++ b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/SearchAPI.java @@ -91,6 +91,7 @@ public class SearchAPI extends BaseAPI * @param site * @param query * @param filters + * @param sortby * @return search results (see API reference for more details), null for any errors */ public JSONObject rmSearch( @@ -98,11 +99,16 @@ public class SearchAPI extends BaseAPI String password, String site, String query, - String filters) + String filters, + String sortby) { List searchParameters = new ArrayList(); searchParameters.add(new BasicNameValuePair("query", query)); searchParameters.add(new BasicNameValuePair("filters", filters)); + if (sortby != null) + { + searchParameters.add(new BasicNameValuePair("sortby", sortby)); + } String requestURL = MessageFormat.format( RM_SEARCH_ENDPOINT, @@ -114,20 +120,23 @@ public class SearchAPI extends BaseAPI } /** - * Search as a user for records on site "rm" matching query, using SearchAPI.RM_DEFAULT_RECORD_FILTERS + * Search as a user for records on site "rm" matching query, using SearchAPI.RM_DEFAULT_RECORD_FILTERS and sorted + * by sortby *
* If more fine-grained control of search parameters is required, use rmSearch() directly. * @param username * @param password * @param query + * @param sortby * @return list of record names */ public List searchForRecordsAsUser( String username, String password, - String query) + String query, + String sortby) { - return getItemNames(rmSearch(username, password, "rm", query, RM_DEFAULT_RECORD_FILTERS)); + return getItemNames(rmSearch(username, password, "rm", query, RM_DEFAULT_RECORD_FILTERS, sortby)); } /** diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/base/BaseRMRestTest.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/base/BaseRMRestTest.java index 25fe4d9954..d8f20e0224 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/base/BaseRMRestTest.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/base/BaseRMRestTest.java @@ -673,10 +673,10 @@ public class BaseRMRestTest extends RestTest * * @param user * @param term + * @param sortby * @return - * @throws Exception */ - public List searchForRMContentAsUser(UserModel user, String term, String expectedResult) throws Exception + public List searchForRMContentAsUser(UserModel user, String term, String sortby) { List results = new ArrayList<>(); // wait for solr indexing @@ -684,16 +684,6 @@ public class BaseRMRestTest extends RestTest int waitInMilliSeconds = 6000; while (counter < 3) { - results = searchApi.searchForRecordsAsUser(user.getUsername(), user.getPassword(), term); - if ((results != null && !results.isEmpty() && results.contains(expectedResult))) - { - break; - } else - { - counter++; - } - // double wait time to not overdo solr search - waitInMilliSeconds = (waitInMilliSeconds * 2); synchronized (this) { try @@ -703,7 +693,17 @@ public class BaseRMRestTest extends RestTest { } } - + + results = searchApi.searchForRecordsAsUser(user.getUsername(), user.getPassword(), term, sortby); + if ((results != null && !results.isEmpty())) + { + break; + } else + { + counter++; + } + // double wait time to not overdo solr search + waitInMilliSeconds = (waitInMilliSeconds * 2); } return results; }