diff --git a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/core/v0/BaseAPI.java b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/core/v0/BaseAPI.java
index 8f77a8403d..3f0f4c3920 100644
--- a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/core/v0/BaseAPI.java
+++ b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/core/v0/BaseAPI.java
@@ -342,59 +342,60 @@ public abstract class BaseAPI
/**
* Helper method for POST requests
*
- * @param adminUser user with administrative privileges
- * @param adminPassword password for adminUser
- * @param expectFailure If false then an exception will be thrown if the POST is not successful.
- * @param requestParams zero or more endpoint specific request parameters
- * @param urlTemplate request URL template
+ * @param adminUser user with administrative privileges
+ * @param adminPassword password for adminUser
+ * @param expectedStatusCode The expected return status code.
+ * @param requestParams zero or more endpoint specific request parameters
+ * @param urlTemplate request URL template
* @param urlTemplateParams zero or more parameters used with urlTemplate
*/
protected HttpResponse doPostJsonRequest(String adminUser,
String adminPassword,
- boolean expectFailure,
+ int expectedStatusCode,
JSONObject requestParams,
String urlTemplate,
String... urlTemplateParams)
{
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
- return doPostJsonRequest(adminUser, adminPassword, expectFailure, client.getApiUrl(), requestParams, urlTemplate, urlTemplateParams);
+ return doPostJsonRequest(adminUser, adminPassword, expectedStatusCode, client.getApiUrl(), requestParams, urlTemplate, urlTemplateParams);
}
/**
* Helper method for POST requests to slingshot.
*
- * @param adminUser user with administrative privileges
- * @param adminPassword password for adminUser
- * @param expectFailure If false then an exception will be thrown if the POST is not successful.
- * @param requestParams zero or more endpoint specific request parameters
- * @param urlTemplate request URL template
+ * @param adminUser user with administrative privileges
+ * @param adminPassword password for adminUser
+ * @param expectedStatusCode The expected return status code.
+ * @param requestParams zero or more endpoint specific request parameters
+ * @param urlTemplate request URL template
* @param urlTemplateParams zero or more parameters used with urlTemplate
*/
protected HttpResponse doSlingshotPostJsonRequest(String adminUser,
String adminPassword,
- boolean expectFailure,
+ int expectedStatusCode,
JSONObject requestParams,
String urlTemplate,
String... urlTemplateParams)
{
AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
- return doPostJsonRequest(adminUser, adminPassword, expectFailure, client.getAlfrescoUrl() + SLINGSHOT_PREFIX, requestParams, urlTemplate, urlTemplateParams);
+ return doPostJsonRequest(adminUser, adminPassword, expectedStatusCode, client.getAlfrescoUrl() + SLINGSHOT_PREFIX, requestParams, urlTemplate, urlTemplateParams);
}
/**
* Helper method for POST requests
*
- * @param adminUser user with administrative privileges
- * @param adminPassword password for adminUser
- * @param expectFailure If false then an exception will be thrown if the POST is not successful.
- * @param urlStart the start of the URL (for example "alfresco/s/slingshot").
- * @param requestParams zero or more endpoint specific request parameters
- * @param urlTemplate request URL template
+ * @param adminUser user with administrative privileges
+ * @param adminPassword password for adminUser
+ * @param expectedStatusCode The expected return status code.
+ * @param urlStart the start of the URL (for example "alfresco/s/slingshot").
+ * @param requestParams zero or more endpoint specific request parameters
+ * @param urlTemplate request URL template
* @param urlTemplateParams zero or more parameters used with urlTemplate
+ * @throws AssertionError if the returned status code is not as expected.
*/
private HttpResponse doPostJsonRequest(String adminUser,
String adminPassword,
- boolean expectFailure,
+ int expectedStatusCode,
String urlStart,
JSONObject requestParams,
String urlTemplate,
@@ -408,10 +409,7 @@ public abstract class BaseAPI
try
{
HttpResponse httpResponse = doRequestJson(HttpPost.class, requestUrl, adminUser, adminPassword, requestParams);
- if (!expectFailure)
- {
- assertEquals("POST request was not successful.", httpResponse.getStatusLine().getStatusCode(), 200);
- }
+ assertEquals("POST request to " + requestUrl + " was not successful.", httpResponse.getStatusLine().getStatusCode(), expectedStatusCode);
return httpResponse;
}
catch (InstantiationException | IllegalAccessException error)
diff --git a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/CopyToAPI.java b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/CopyToAPI.java
index ecbfc006ce..f50e6ff4d3 100644
--- a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/CopyToAPI.java
+++ b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/CopyToAPI.java
@@ -65,7 +65,7 @@ public class CopyToAPI extends BaseAPI
*/
public HttpResponse copyTo(String user, String password, String targetContainerPath, List nodeRefs)
{
- return copyToAndGetResponse(user, password, false, targetContainerPath, nodeRefs);
+ return copyTo(user, password, 200, targetContainerPath, nodeRefs);
}
/**
@@ -73,19 +73,20 @@ public class CopyToAPI extends BaseAPI
*
* @param user The username of the user to use.
* @param password The password of the user.
- * @param expectFailure If false then an exception will be thrown if the POST is not successful.
+ * @param expectedStatusCode The expected return status code.
* @param targetContainerPath The destination to copy the nodes to. This should be in the format
* "{site}/{container}/{path}", "{site}/{container}", "{store_type}/{store_id}/{id}/{path}",
* "{store_type}/{store_id}/{id}" or "{store_type}/{store_id}".
* @param nodeRefs The list of nodes to copy.
* @return The HTTP Response.
+ * @throws AssertionError If the API didn't return the expected status code.
*/
- public HttpResponse copyToAndGetResponse(String user, String password, boolean expectFailure, String targetContainerPath, List nodeRefs)
+ public HttpResponse copyTo(String user, String password, int expectedStatusCode, String targetContainerPath, List nodeRefs)
{
JSONObject requestParams = new JSONObject();
requestParams.put("nodeRefs", new JSONArray(nodeRefs));
- return doSlingshotPostJsonRequest(user, password, expectFailure, requestParams,
+ return doSlingshotPostJsonRequest(user, password, expectedStatusCode, requestParams,
MessageFormat.format(COPY_TO_API, "{0}", targetContainerPath));
}
}
diff --git a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RMRolesAndActionsAPI.java b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RMRolesAndActionsAPI.java
index 9ff6069efe..36b87aac1e 100644
--- a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RMRolesAndActionsAPI.java
+++ b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RMRolesAndActionsAPI.java
@@ -238,7 +238,7 @@ public class RMRolesAndActionsAPI extends BaseAPI
)
);
}
- return doPostJsonRequest(user, password, false, requestParams, RM_ACTIONS_API);
+ return doPostJsonRequest(user, password, 200, requestParams, RM_ACTIONS_API);
}
/**
@@ -303,7 +303,7 @@ public class RMRolesAndActionsAPI extends BaseAPI
requestParams.put("prop_rma_holdReason", reason);
// Make the POST request and throw an assertion error if it fails.
- HttpResponse httpResponse = doPostJsonRequest(user, password, false, requestParams, CREATE_HOLDS_API);
+ HttpResponse httpResponse = doPostJsonRequest(user, password, 200, requestParams, CREATE_HOLDS_API);
assertNotNull("Expected object to have been created at " + fullHoldPath,
getObjectByPath(user, password, fullHoldPath));
return httpResponse;
@@ -325,6 +325,6 @@ public class RMRolesAndActionsAPI extends BaseAPI
addPropertyToRequest(requestParams, "prop_cm_description", properties, RMProperty.DESCRIPTION);
addPropertyToRequest(requestParams, "prop_cm_author", properties, RMProperty.AUTHOR);
- return doPostJsonRequest(username, password, false, requestParams, MessageFormat.format(UPDATE_METADATA_API, "{0}", itemNodeRef));
+ return doPostJsonRequest(username, password, 200, requestParams, MessageFormat.format(UPDATE_METADATA_API, "{0}", itemNodeRef));
}
}
diff --git a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RecordCategoriesAPI.java b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RecordCategoriesAPI.java
index 96e12a7744..2908082b89 100644
--- a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RecordCategoriesAPI.java
+++ b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RecordCategoriesAPI.java
@@ -66,7 +66,7 @@ public class RecordCategoriesAPI extends BaseAPI
requestParams.put("name", "createDispositionSchedule");
requestParams.put("nodeRef", catNodeRef);
- return doPostJsonRequest(user, password, false, requestParams, RM_ACTIONS_API);
+ return doPostJsonRequest(user, password, 200, requestParams, RM_ACTIONS_API);
}
/**
@@ -85,7 +85,7 @@ public class RecordCategoriesAPI extends BaseAPI
requestParams.put("prop_rma_dispositionAuthority", getPropertyValue(retentionProperties, RETENTION_SCHEDULE.RETENTION_AUTHORITY));
requestParams.put("prop_rma_dispositionInstructions", getPropertyValue(retentionProperties, RETENTION_SCHEDULE.RETENTION_INSTRUCTIONS));
requestParams.put("prop_rma_recordLevelDisposition", appliedToRecords.toString());
- return doPostJsonRequest(user, password, false, requestParams, MessageFormat.format(UPDATE_METADATA_API, "{0}", dispRetentionNodeRef));
+ return doPostJsonRequest(user, password, 200, requestParams, MessageFormat.format(UPDATE_METADATA_API, "{0}", dispRetentionNodeRef));
}
/**
@@ -109,7 +109,7 @@ public class RecordCategoriesAPI extends BaseAPI
addPropertyToRequest(requestParams, "events", properties, RETENTION_SCHEDULE.RETENTION_EVENTS);
addPropertyToRequest(requestParams, "eligibleOnFirstCompleteEvent", properties, RETENTION_SCHEDULE.RETENTION_ELIGIBLE_FIRST_EVENT);
- return doPostJsonRequest(user, password, false, requestParams, MessageFormat.format(DISPOSITION_ACTIONS_API, "{0}", catNodeRef));
+ return doPostJsonRequest(user, password, 200, requestParams, MessageFormat.format(DISPOSITION_ACTIONS_API, "{0}", catNodeRef));
}
/**
diff --git a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RecordFoldersAPI.java b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RecordFoldersAPI.java
index 776888b633..36681f0094 100644
--- a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RecordFoldersAPI.java
+++ b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RecordFoldersAPI.java
@@ -68,7 +68,7 @@ public class RecordFoldersAPI extends BaseAPI
requestParams.put("name", "closeRecordFolder");
requestParams.put("nodeRef", recNodeRef);
- return doPostJsonRequest(user, password, false, requestParams, RM_ACTIONS_API);
+ return doPostJsonRequest(user, password, 200, requestParams, RM_ACTIONS_API);
}
catch (JSONException error)
{
diff --git a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RecordsAPI.java b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RecordsAPI.java
index 0801d3b08c..47fcaefc5a 100644
--- a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RecordsAPI.java
+++ b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RecordsAPI.java
@@ -77,7 +77,7 @@ public class RecordsAPI extends BaseAPI
requestParams.put("actionedUponNode", docNodeRef);
requestParams.put("actionDefinitionName", "create-record");
- return doPostJsonRequest(user, password, false, requestParams, ACTIONS_API);
+ return doPostJsonRequest(user, password, 200, requestParams, ACTIONS_API);
}
/**
@@ -96,7 +96,7 @@ public class RecordsAPI extends BaseAPI
requestParams.put("name", "declareRecord");
requestParams.put("nodeRef", recNodeRef);
- return doPostJsonRequest(user, password, false, requestParams, RM_ACTIONS_API);
+ return doPostJsonRequest(user, password, 200, requestParams, RM_ACTIONS_API);
}
/**
@@ -111,21 +111,21 @@ public class RecordsAPI extends BaseAPI
*/
public HttpResponse rejectRecord(String user, String password, String recordName, String reason)
{
- return rejectRecordAndGetResponse(user, password, false, recordName, reason);
+ return rejectRecord(user, password, 200, recordName, reason);
}
/**
* Reject the record given as parameter
*
- * @param user the user declaring the document as record
- * @param password the user's password
- * @param expectFailure If false then throws an exception if the POST call fails.
+ * @param user the user declaring the document as record
+ * @param password the user's password
+ * @param expectedStatusCode The expected return status code.
* @param recordName the record name
- * @param reason reject reason
+ * @param reason reject reason
* @return The HTTP Response.
- * @throws AssertionError If expectFailure is false and the POST call is not successful.
+ * @throws AssertionError If the expectedStatusCode was not returned.
*/
- public HttpResponse rejectRecordAndGetResponse(String user, String password, boolean expectFailure, String recordName, String reason)
+ public HttpResponse rejectRecord(String user, String password, int expectedStatusCode, String recordName, String reason)
{
String recNodeRef = getNodeRefSpacesStore() + contentService.getNodeRef(user, password, RM_SITE_ID, recordName);
@@ -135,7 +135,7 @@ public class RecordsAPI extends BaseAPI
requestParams.put("params",new JSONObject()
.put("reason",reason));
- return doPostJsonRequest(user, password, expectFailure, requestParams, RM_ACTIONS_API);
+ return doPostJsonRequest(user, password, expectedStatusCode, requestParams, RM_ACTIONS_API);
}
/**
@@ -155,7 +155,7 @@ public class RecordsAPI extends BaseAPI
requestParams.put("actionedUponNode", docNodeRef);
requestParams.put("actionDefinitionName", "declare-as-version-record");
- return doPostJsonRequest(user, password, false, requestParams, ACTIONS_API);
+ return doPostJsonRequest(user, password, 200, requestParams, ACTIONS_API);
}
/**
@@ -217,7 +217,7 @@ public class RecordsAPI extends BaseAPI
requestParams.put("prop_rma_box", box);
requestParams.put("prop_rma_file", file);
- return doPostJsonRequest(username, password, false, requestParams, CREATE_NON_ELECTRONIC_RECORD_API);
+ return doPostJsonRequest(username, password, 200, requestParams, CREATE_NON_ELECTRONIC_RECORD_API);
}
/**
@@ -343,7 +343,7 @@ public class RecordsAPI extends BaseAPI
requestParams.put("actionedUponNode", docNodeRef);
requestParams.put("actionDefinitionName", "hide-record");
- return doPostJsonRequest(user, password, false, requestParams, ACTIONS_API);
+ return doPostJsonRequest(user, password, 200, requestParams, ACTIONS_API);
}
}
diff --git a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RulesAPI.java b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RulesAPI.java
index 8b3bef51b0..4d13d277c4 100644
--- a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RulesAPI.java
+++ b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/v0/RulesAPI.java
@@ -71,7 +71,7 @@ public class RulesAPI extends BaseAPI
{
try
{
- return doPostJsonRequest(username, password, false, getRuleRequest(ruleProperties), MessageFormat.format(RULES_API, "{0}", containerNodeRef));
+ return doPostJsonRequest(username, password, 200, getRuleRequest(ruleProperties), MessageFormat.format(RULES_API, "{0}", containerNodeRef));
}
catch (JSONException error)
{
@@ -316,7 +316,7 @@ public class RulesAPI extends BaseAPI
{
if(containerInheritsRulesFromParent(username, password, containerNodeRef))
{
- return doPostJsonRequest(username, password, false, new JSONObject(), MessageFormat.format(INHERIT_RULES_API, "{0}", containerNodeRef));
+ return doPostJsonRequest(username, password, 200, new JSONObject(), MessageFormat.format(INHERIT_RULES_API, "{0}", containerNodeRef));
}
return null;
}
@@ -333,7 +333,7 @@ public class RulesAPI extends BaseAPI
{
if (!containerInheritsRulesFromParent(username, password, containerNodeRef))
{
- return doPostJsonRequest(username, password, false, new JSONObject(), MessageFormat.format(INHERIT_RULES_API, "{0}", containerNodeRef));
+ return doPostJsonRequest(username, password, 200, new JSONObject(), MessageFormat.format(INHERIT_RULES_API, "{0}", containerNodeRef));
}
return null;
}