mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM-6311 added API test to check that rm search results are ordered by security marks
This commit is contained in:
@@ -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<BasicNameValuePair> searchParameters = new ArrayList<BasicNameValuePair>();
|
||||
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
|
||||
* <br>
|
||||
* 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<String> 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));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -673,10 +673,10 @@ public class BaseRMRestTest extends RestTest
|
||||
*
|
||||
* @param user
|
||||
* @param term
|
||||
* @param sortby
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<String> searchForRMContentAsUser(UserModel user, String term, String expectedResult) throws Exception
|
||||
public List<String> searchForRMContentAsUser(UserModel user, String term, String sortby)
|
||||
{
|
||||
List<String> 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
|
||||
@@ -704,6 +694,16 @@ 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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user