.post("/node/workspace/SpacesStore/{nodeId}/rmpermissions")
.prettyPeek()
.andReturn();
- usingRestWrapper().setStatusCode(Integer.toString(response.getStatusCode()));
+ getRMRestWrapper().setStatusCode(Integer.toString(response.getStatusCode()));
}
/**
* Creates a user with the given name using the old APIs
*
* @param userName The user name
+ * @param userPassword The user's password
+ * @param userEmail The user's e-mail address
* @return true
if the user was created successfully, false
otherwise.
*/
- public boolean createUser(String userName)
+ public boolean createUser(String userName, String userPassword, String userEmail)
{
- return userService.create(dataUser.getAdminUser().getUsername(),
- dataUser.getAdminUser().getPassword(),
- userName,
- "password",
- "default@alfresco.com",
- userName,
- userName);
+ UserModel adminUser = getRMRestWrapper().getTestUser();
+ AlfrescoHttpClient client = getAlfrescoHttpClient();
+
+ JsonObject body = buildObject()
+ .add("userName", userName)
+ .add("firstName", userName)
+ .add("lastName", userName)
+ .add("password", userPassword)
+ .add("email", userEmail)
+ .getJson();
+
+ RequestSpecification spec = new RequestSpecBuilder()
+ .setBaseUri(client.getApiUrl())
+ .setBasePath("/")
+ .setAuth(basic(adminUser.getUsername(), adminUser.getPassword()))
+ .setContentType(ContentType.JSON)
+ .setBody(body.toString())
+ .build();
+
+ // create POST request to "people" endpoint
+ Response response = given()
+ .spec(spec)
+ .log().all()
+ .when()
+ .post("people")
+ .prettyPeek()
+ .andReturn();
+
+ return (response.getStatusCode() == OK.value());
}
}
diff --git a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/igCoreAPI/RecordsAPI.java b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/igCoreAPI/RecordsAPI.java
index efcaca97ef..a11219e193 100644
--- a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/igCoreAPI/RecordsAPI.java
+++ b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/igCoreAPI/RecordsAPI.java
@@ -26,16 +26,15 @@
*/
package org.alfresco.rest.rm.community.requests.igCoreAPI;
-import static com.jayway.restassured.RestAssured.given;
-
import static org.alfresco.rest.core.RestRequest.requestWithBody;
+import static org.alfresco.rest.core.RestRequest.simpleRequest;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryObject;
import static org.alfresco.rest.rm.community.util.ParameterCheck.mandatoryString;
import static org.alfresco.rest.rm.community.util.PojoUtility.toJson;
import static org.apache.commons.lang3.StringUtils.EMPTY;
+import static org.springframework.http.HttpMethod.GET;
import static org.springframework.http.HttpMethod.POST;
-import com.jayway.restassured.response.Response;
import com.jayway.restassured.response.ResponseBody;
import org.alfresco.rest.core.RMRestWrapper;
@@ -79,14 +78,11 @@ public class RecordsAPI extends RMModelRequest
public ResponseBody> getRecordContent(String recordId) throws Exception
{
mandatoryString("recordId", recordId);
- Response response = given()
- .auth().basic(getRMRestWrapper().getTestUser().getUsername(),
- getRMRestWrapper().getTestUser().getPassword())
- .when()
- .get("records/{recordId}/content", recordId)
- .andReturn();
- getRMRestWrapper().setStatusCode(Integer.toString(response.getStatusCode()));
- return response.getBody();
+
+ return getRMRestWrapper()
+ .processHtmlResponse(simpleRequest(GET,"records/{recordId}/content", recordId))
+ .getBody();
+
}
/**
@@ -144,6 +140,5 @@ public class RecordsAPI extends RMModelRequest
parameters
));
}
-
}
diff --git a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/igCoreAPI/RestIGCoreAPI.java b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/igCoreAPI/RestIGCoreAPI.java
index 85eb904a4e..cdc8910fea 100644
--- a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/igCoreAPI/RestIGCoreAPI.java
+++ b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/igCoreAPI/RestIGCoreAPI.java
@@ -56,6 +56,7 @@ public class RestIGCoreAPI extends RMModelRequest
RestAssured.baseURI = format("%s://%s", rmRestProperties.getScheme(), rmRestProperties.getServer());
RestAssured.port = parseInt(rmRestProperties.getPort());
RestAssured.basePath = rmRestProperties.getRestRmPath();
+ restWrapper.configureRequestSpec().setBasePath(RestAssured.basePath);
}
/**
@@ -97,4 +98,14 @@ public class RestIGCoreAPI extends RMModelRequest
{
return new FilesAPI(getRMRestWrapper());
}
+
+ /**
+ * Provides DSL for RM user management API
+ *
+ * @return {@link RMUserAPI}
+ */
+ public RMUserAPI usingRMUser()
+ {
+ return new RMUserAPI(getRMRestWrapper());
+ }
}
diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/fileplancomponents/DeleteRecordTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/fileplancomponents/DeleteRecordTests.java
index f26a601606..50811acfdd 100644
--- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/fileplancomponents/DeleteRecordTests.java
+++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/fileplancomponents/DeleteRecordTests.java
@@ -41,12 +41,10 @@ import org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponent
import org.alfresco.rest.rm.community.model.user.UserPermissions;
import org.alfresco.rest.rm.community.model.user.UserRoles;
import org.alfresco.rest.rm.community.requests.igCoreAPI.FilePlanComponentAPI;
-import org.alfresco.rest.rm.community.requests.igCoreAPI.RMUserAPI;
import org.alfresco.test.AlfrescoTest;
import org.alfresco.utility.constants.UserRole;
import org.alfresco.utility.model.SiteModel;
import org.alfresco.utility.model.UserModel;
-import org.springframework.beans.factory.annotation.Autowired;
import org.testng.annotations.Test;
/**
@@ -60,9 +58,6 @@ import org.testng.annotations.Test;
*/
public class DeleteRecordTests extends BaseRMRestTest
{
- @Autowired
- private RMUserAPI rmUserAPI;
-
/**
*
* Given a record
@@ -149,8 +144,8 @@ public class DeleteRecordTests extends BaseRMRestTest
getDataUser().addUserToSite(deleteUser, new SiteModel(getRestAPIFactory().getRMSiteAPI().getSite().getId()), UserRole.SiteCollaborator);
// add RM role to user
- rmUserAPI.assignRoleToUser(deleteUser.getUsername(), UserRoles.ROLE_RM_POWER_USER);
- rmUserAPI.usingRestWrapper().assertStatusCodeIs(OK);
+ getRestAPIFactory().getRMUserAPI().assignRoleToUser(deleteUser.getUsername(), UserRoles.ROLE_RM_POWER_USER);
+ assertStatusCode(OK);
// try to delete newRecord
getRestAPIFactory().getFilePlanComponentsAPI(deleteUser).deleteFilePlanComponent(newRecord.getId());
@@ -183,8 +178,8 @@ public class DeleteRecordTests extends BaseRMRestTest
logger.info("test user: " + deleteUser.getUsername());
// add RM role to user, RM Power User doesn't have the Delete Record capabilities
- rmUserAPI.assignRoleToUser(deleteUser.getUsername(), UserRoles.ROLE_RM_POWER_USER);
- rmUserAPI.usingRestWrapper().assertStatusCodeIs(OK);
+ getRestAPIFactory().getRMUserAPI().assignRoleToUser(deleteUser.getUsername(), UserRoles.ROLE_RM_POWER_USER);
+ assertStatusCode(OK);
// create random folder
FilePlanComponent randomFolder = createCategoryFolderInFilePlan();
@@ -193,9 +188,9 @@ public class DeleteRecordTests extends BaseRMRestTest
// grant deleteUser Filing privileges on randomFolder category, this will be
// inherited to randomFolder
FilePlanComponentAPI filePlanComponentsAPIAsAdmin = getRestAPIFactory().getFilePlanComponentsAPI();
- rmUserAPI.addUserPermission(filePlanComponentsAPIAsAdmin.getFilePlanComponent(randomFolder.getParentId()),
+ getRestAPIFactory().getRMUserAPI().addUserPermission(filePlanComponentsAPIAsAdmin.getFilePlanComponent(randomFolder.getParentId()),
deleteUser, UserPermissions.PERMISSION_FILING);
- rmUserAPI.usingRestWrapper().assertStatusCodeIs(OK);
+ assertStatusCode(OK);
// create a non-electronic record in randomFolder
FilePlanComponent newRecord = filePlanComponentsAPIAsAdmin.createFilePlanComponent(createNonElectronicRecordModel(), randomFolder.getId());
diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/fileplancomponents/ElectronicRecordTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/fileplancomponents/ElectronicRecordTests.java
index 23ce665a8b..99fb80b1c6 100644
--- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/fileplancomponents/ElectronicRecordTests.java
+++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/fileplancomponents/ElectronicRecordTests.java
@@ -99,7 +99,7 @@ public class ElectronicRecordTests extends BaseRMRestTest
)
public void cantCreateElectronicRecordsInInvalidContainers(FilePlanComponent container) throws Exception
{
- // Build object the filePlan
+ // Build object the filePlan, this should throw an IllegalArgumentException
getRestAPIFactory().getFilePlanComponentsAPI().createElectronicRecord(createElectronicRecordModel(), IMAGE_FILE, container.getId());
// verify the create request status code
@@ -116,7 +116,10 @@ public class ElectronicRecordTests extends BaseRMRestTest
*
* @throws Exception
*/
- @Test(description = "Electronic record can't be created in closed record folder")
+ @Test
+ (
+ description = "Electronic record can't be created in closed record folder"
+ )
public void cantCreateElectronicRecordInClosedFolder() throws Exception
{
FilePlanComponent recordFolder = createCategoryFolderInFilePlan();
@@ -127,7 +130,7 @@ public class ElectronicRecordTests extends BaseRMRestTest
// close the folder
closeFolder(recordFolder.getId());
- // try to create it, this should fail
+ // try to create it, this should throw IllegalArgumentException
getRestAPIFactory().getFilePlanComponentsAPI().createElectronicRecord(createElectronicRecordModel(), IMAGE_FILE, recordFolder.getId());
// verify the status code
diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/fileplancomponents/UpdateRecordsTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/fileplancomponents/UpdateRecordsTests.java
index 82ff77fabe..88d245eec4 100644
--- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/fileplancomponents/UpdateRecordsTests.java
+++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/fileplancomponents/UpdateRecordsTests.java
@@ -47,7 +47,6 @@ import org.alfresco.test.AlfrescoTest;
import org.alfresco.utility.constants.UserRole;
import org.alfresco.utility.model.SiteModel;
import org.alfresco.utility.model.UserModel;
-import org.springframework.beans.factory.annotation.Autowired;
import org.testng.annotations.Test;
/**
@@ -59,10 +58,7 @@ import org.testng.annotations.Test;
* @since 2.6
*/
public class UpdateRecordsTests extends BaseRMRestTest
-{
- @Autowired
- private RMUserAPI rmUserAPI;
-
+{
/* to be used to append to modifications */
private final String MODIFIED_PREFIX = "modified_";
@@ -131,7 +127,8 @@ public class UpdateRecordsTests extends BaseRMRestTest
)
@AlfrescoTest(jira="RM-4362")
public void userWithEditMetadataCapsCanUpdateMetadata() throws Exception
- {
+ {
+ RMUserAPI rmUserAPI = getRestAPIFactory().getRMUserAPI();
// create test user and add it with collab. privileges
UserModel updateUser = getDataUser().createRandomTestUser("updateuser");
updateUser.setUserRole(UserRole.SiteCollaborator);
@@ -139,7 +136,7 @@ public class UpdateRecordsTests extends BaseRMRestTest
// RM Security Officer is the lowest role with Edit Record Metadata capabilities
rmUserAPI.assignRoleToUser(updateUser.getUsername(), UserRoles.ROLE_RM_SECURITY_OFFICER);
- rmUserAPI.usingRestWrapper().assertStatusCodeIs(OK);
+ assertStatusCode(OK);
// create random folder
FilePlanComponent randomFolder = createCategoryFolderInFilePlan();
@@ -150,8 +147,8 @@ public class UpdateRecordsTests extends BaseRMRestTest
FilePlanComponentAPI filePlanComponentsAPIAsAdmin = getRestAPIFactory().getFilePlanComponentsAPI();
rmUserAPI.addUserPermission(filePlanComponentsAPIAsAdmin.getFilePlanComponent(randomFolder.getParentId()),
updateUser, UserPermissions.PERMISSION_FILING);
- rmUserAPI.usingRestWrapper().assertStatusCodeIs(OK);
-
+ assertStatusCode(OK);
+
// create electronic and non-electronic records in a folder
FilePlanComponentAPI filePlanComponentsAPI = getRestAPIFactory().getFilePlanComponentsAPI();
FilePlanComponent electronicRecord = filePlanComponentsAPI.createElectronicRecord(createElectronicRecordModel(), IMAGE_FILE, randomFolder.getId());
diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/site/RMSiteTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/site/RMSiteTests.java
index d7cf4b9435..5cc5dffb32 100644
--- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/site/RMSiteTests.java
+++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/site/RMSiteTests.java
@@ -49,13 +49,12 @@ import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import org.alfresco.rest.rm.community.base.BaseRMRestTest;
+import org.alfresco.rest.rm.community.base.TestData;
import org.alfresco.rest.rm.community.model.site.RMSite;
import org.alfresco.rest.rm.community.requests.igCoreAPI.RMSiteAPI;
-import org.alfresco.rest.rm.community.requests.igCoreAPI.RMUserAPI;
import org.alfresco.utility.data.RandomData;
import org.alfresco.utility.model.UserModel;
import org.alfresco.utility.report.Bug;
-import org.springframework.beans.factory.annotation.Autowired;
import org.testng.annotations.Test;
/**
@@ -67,9 +66,6 @@ import org.testng.annotations.Test;
*/
public class RMSiteTests extends BaseRMRestTest
{
- @Autowired
- private RMUserAPI rmUserAPI;
-
/**
* Given that RM module is installed
* When I want to create the RM site with specific title, description and compliance
@@ -208,7 +204,7 @@ public class RMSiteTests extends BaseRMRestTest
}
// Create user
- rmUserAPI.createUser(ANOTHER_ADMIN);
+ getRestAPIFactory().getRMUserAPI().createUser(ANOTHER_ADMIN, TestData.DEFAULT_PASSWORD, TestData.DEFAULT_EMAIL);
// Create the RM site
RMSite rmSiteModel = getRestAPIFactory().getRMSiteAPI(new UserModel(ANOTHER_ADMIN, DEFAULT_PASSWORD)).createRMSite(createDOD5015RMSiteModel());