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 site
|
||||||
* @param query
|
* @param query
|
||||||
* @param filters
|
* @param filters
|
||||||
|
* @param sortby
|
||||||
* @return search results (see API reference for more details), null for any errors
|
* @return search results (see API reference for more details), null for any errors
|
||||||
*/
|
*/
|
||||||
public JSONObject rmSearch(
|
public JSONObject rmSearch(
|
||||||
@@ -98,11 +99,16 @@ public class SearchAPI extends BaseAPI
|
|||||||
String password,
|
String password,
|
||||||
String site,
|
String site,
|
||||||
String query,
|
String query,
|
||||||
String filters)
|
String filters,
|
||||||
|
String sortby)
|
||||||
{
|
{
|
||||||
List<BasicNameValuePair> searchParameters = new ArrayList<BasicNameValuePair>();
|
List<BasicNameValuePair> searchParameters = new ArrayList<BasicNameValuePair>();
|
||||||
searchParameters.add(new BasicNameValuePair("query", query));
|
searchParameters.add(new BasicNameValuePair("query", query));
|
||||||
searchParameters.add(new BasicNameValuePair("filters", filters));
|
searchParameters.add(new BasicNameValuePair("filters", filters));
|
||||||
|
if (sortby != null)
|
||||||
|
{
|
||||||
|
searchParameters.add(new BasicNameValuePair("sortby", sortby));
|
||||||
|
}
|
||||||
|
|
||||||
String requestURL = MessageFormat.format(
|
String requestURL = MessageFormat.format(
|
||||||
RM_SEARCH_ENDPOINT,
|
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>
|
* <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.
|
||||||
* @param username
|
* @param username
|
||||||
* @param password
|
* @param password
|
||||||
* @param query
|
* @param query
|
||||||
|
* @param sortby
|
||||||
* @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 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 user
|
||||||
* @param term
|
* @param term
|
||||||
|
* @param sortby
|
||||||
* @return
|
* @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<>();
|
List<String> results = new ArrayList<>();
|
||||||
// wait for solr indexing
|
// wait for solr indexing
|
||||||
@@ -684,16 +684,6 @@ public class BaseRMRestTest extends RestTest
|
|||||||
int waitInMilliSeconds = 6000;
|
int waitInMilliSeconds = 6000;
|
||||||
while (counter < 3)
|
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)
|
synchronized (this)
|
||||||
{
|
{
|
||||||
try
|
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;
|
return results;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user