diff --git a/rm-automation/rm-automation-community-rest-api/pom.xml b/rm-automation/rm-automation-community-rest-api/pom.xml index 3a53363b14..d0fef893e8 100644 --- a/rm-automation/rm-automation-community-rest-api/pom.xml +++ b/rm-automation/rm-automation-community-rest-api/pom.xml @@ -15,7 +15,7 @@ 1.8 alfresco-rm-community-share alfresco-rm-community-repo - 5.2.0-0 + 5.2.0-2 2.0.0 diff --git a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/core/RMRestWrapper.java b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/core/RMRestWrapper.java index 706efef8d7..c59bc2defe 100644 --- a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/core/RMRestWrapper.java +++ b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/core/RMRestWrapper.java @@ -50,4 +50,12 @@ public class RMRestWrapper extends RestWrapper { return new RestIGCoreAPI(this, rmRestProperties); } + + /** + * @return the rmRestProperties + */ + public RMRestProperties getRmRestProperties() + { + return this.rmRestProperties; + } } diff --git a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/core/RestAPIFactory.java b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/core/RestAPIFactory.java index d2edca7279..907bbe53ab 100644 --- a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/core/RestAPIFactory.java +++ b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/core/RestAPIFactory.java @@ -29,6 +29,7 @@ package org.alfresco.rest.core; import org.alfresco.rest.rm.community.requests.igCoreAPI.FilePlanComponentAPI; import org.alfresco.rest.rm.community.requests.igCoreAPI.FilesAPI; import org.alfresco.rest.rm.community.requests.igCoreAPI.RMSiteAPI; +import org.alfresco.rest.rm.community.requests.igCoreAPI.RMUserAPI; import org.alfresco.rest.rm.community.requests.igCoreAPI.RecordsAPI; import org.alfresco.rest.rm.community.requests.igCoreAPI.RestIGCoreAPI; import org.alfresco.utility.data.DataUser; @@ -106,4 +107,14 @@ public class RestAPIFactory { return getRestIGCoreAPI(userModel).usingFiles(); } + + public RMUserAPI getRMUserAPI() + { + return getRestIGCoreAPI(null).usingRMUser(); + } + + public RMUserAPI getRMUserAPI(UserModel userModel) + { + return getRestIGCoreAPI(userModel).usingRMUser(); + } } diff --git a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/RMModelRequest.java b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/RMModelRequest.java index 5f05822e3e..b56bcad897 100644 --- a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/RMModelRequest.java +++ b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/RMModelRequest.java @@ -35,7 +35,7 @@ import org.alfresco.rest.requests.ModelRequest; * @author Tuna Aksoy * @since 2.6 */ -public abstract class RMModelRequest extends ModelRequest +public abstract class RMModelRequest extends ModelRequest { private RMRestWrapper rmRestWrapper; diff --git a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/igCoreAPI/FilePlanComponentAPI.java b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/igCoreAPI/FilePlanComponentAPI.java index cdd8530dc1..92132e8926 100644 --- a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/igCoreAPI/FilePlanComponentAPI.java +++ b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/igCoreAPI/FilePlanComponentAPI.java @@ -26,9 +26,6 @@ */ package org.alfresco.rest.rm.community.requests.igCoreAPI; -import static com.jayway.restassured.RestAssured.basic; -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.model.fileplancomponents.FilePlanComponentType.CONTENT_TYPE; @@ -50,13 +47,11 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.io.Resources; import com.jayway.restassured.builder.RequestSpecBuilder; import com.jayway.restassured.http.ContentType; -import com.jayway.restassured.response.Response; import org.alfresco.rest.core.RMRestWrapper; import org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponent; import org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponentsCollection; import org.alfresco.rest.rm.community.requests.RMModelRequest; -import org.alfresco.utility.model.UserModel; /** * File plan component REST API Wrapper @@ -236,13 +231,15 @@ public class FilePlanComponentAPI extends RMModelRequest /** * Create electronic record from file resource + * * @param electronicRecordModel {@link FilePlanComponent} for electronic record to be created * @param recordContent {@link File} pointing to the content of the electronic record to be created * @param parentId parent container id * @return newly created {@link FilePlanComponent} - * @throws Exception if operation failed + * @throws Exception for invalid electronicRecordModel JSON strings */ - public FilePlanComponent createElectronicRecord(FilePlanComponent electronicRecordModel, File recordContent, String parentId) throws Exception + public FilePlanComponent createElectronicRecord(FilePlanComponent electronicRecordModel, File recordContent, + String parentId) throws Exception { mandatoryObject("electronicRecordModel", electronicRecordModel); mandatoryString("parentId", parentId); @@ -251,40 +248,24 @@ public class FilePlanComponentAPI extends RMModelRequest fail("Only electronic records are supported"); } - UserModel currentUser = getRMRestWrapper().getTestUser(); - /* * For file uploads nodeBodyCreate is ignored hence can't be used. Append all FilePlanComponent fields * to the request. */ - RequestSpecBuilder builder = new RequestSpecBuilder(); - builder.setAuth(basic(currentUser.getUsername(), currentUser.getPassword())); - - ObjectMapper mapper = new ObjectMapper(); - JsonNode root = mapper.readTree(toJson(electronicRecordModel)); + RequestSpecBuilder builder = getRMRestWrapper().configureRequestSpec(); + JsonNode root = new ObjectMapper().readTree(toJson(electronicRecordModel)); + // add request fields Iterator fieldNames = root.fieldNames(); while (fieldNames.hasNext()) { String fieldName = fieldNames.next(); builder.addMultiPart(fieldName, root.get(fieldName).asText(), ContentType.JSON.name()); } - builder.addMultiPart("filedata", recordContent, ContentType.BINARY.name()); - /* - * RestWrapper adds some headers which break multipart/form-data uploads and also assumes json POST requests. - * Upload the file using RestAssured library. - */ - Response response = given() - .spec(builder.build()) - .when() - .post("fileplan-components/{fileplanComponentId}/children?{parameters}", parentId, getRMRestWrapper().getParameters()) - .andReturn(); - getRMRestWrapper().setStatusCode(Integer.toString(response.getStatusCode())); - - /* return a FilePlanComponent object representing Response */ - return response.jsonPath().getObject("entry", FilePlanComponent.class); + // create node with given content + return createFilePlanComponent(electronicRecordModel, parentId); } /** diff --git a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/igCoreAPI/RMUserAPI.java b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/igCoreAPI/RMUserAPI.java index c03639c4ef..d1c4ff0535 100644 --- a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/igCoreAPI/RMUserAPI.java +++ b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/community/requests/igCoreAPI/RMUserAPI.java @@ -26,9 +26,11 @@ */ package org.alfresco.rest.rm.community.requests.igCoreAPI; +import static com.jayway.restassured.RestAssured.basic; import static com.jayway.restassured.RestAssured.given; import static org.jglue.fluentjson.JsonBuilderFactory.buildObject; +import static org.springframework.http.HttpStatus.OK; import com.google.gson.JsonObject; import com.jayway.restassured.builder.RequestSpecBuilder; @@ -38,12 +40,13 @@ import com.jayway.restassured.specification.RequestSpecification; import org.alfresco.dataprep.AlfrescoHttpClient; import org.alfresco.dataprep.AlfrescoHttpClientFactory; -import org.alfresco.dataprep.UserService; -import org.alfresco.rest.core.RestAPI; +import org.alfresco.rest.core.RMRestProperties; +import org.alfresco.rest.core.RMRestWrapper; import org.alfresco.rest.rm.community.model.fileplancomponents.FilePlanComponent; -import org.alfresco.utility.data.DataUser; +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.RMModelRequest; import org.alfresco.utility.model.UserModel; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; @@ -58,21 +61,44 @@ import org.springframework.stereotype.Component; // "old-style" API calls. @Component @Scope (value = "prototype") -public class RMUserAPI extends RestAPI +public class RMUserAPI extends RMModelRequest { - @Autowired - private UserService userService; - - @Autowired - private DataUser dataUser; - - @Autowired - private AlfrescoHttpClientFactory alfrescoHttpClientFactory; + /** + * @param rmRestWrapper + */ + public RMUserAPI(RMRestWrapper rmRestWrapper) + { + super(rmRestWrapper); + } + /** + * Helper method to obtain {@link AlfrescoHttpClient} + * @return Initialized {@link AlfrescoHttpClient} instance + */ + private AlfrescoHttpClient getAlfrescoHttpClient() + { + RMRestProperties properties = getRMRestWrapper().getRmRestProperties(); + + AlfrescoHttpClientFactory factory = new AlfrescoHttpClientFactory(); + factory.setHost(properties.getServer()); + factory.setPort(Integer.parseInt(properties.getPort())); + factory.setScheme(properties.getScheme()); + + return factory.getObject(); + } + + /** + * Assign RM role to user + * @param userName User's username + * @param userRole User's RM role, one of {@link UserRoles} roles + * @throws Exception for failed requests + */ public void assignRoleToUser(String userName, String userRole) throws Exception { + UserModel adminUser = getRMRestWrapper().getTestUser(); + // get an "old-style" REST API client - AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); + AlfrescoHttpClient client = getAlfrescoHttpClient(); // override v1 baseURI and basePath RequestSpecification spec = new RequestSpecBuilder() @@ -85,13 +111,13 @@ public class RMUserAPI extends RestAPI .log().all() .pathParam("role", userRole) .pathParam("authority", userName) - .param("alf_ticket", client.getAlfTicket( - dataUser.getAdminUser().getUsername(), dataUser.getAdminUser().getPassword())) + .param("alf_ticket", client.getAlfTicket(adminUser.getUsername(), + adminUser.getPassword())) .when() .post("/rm/roles/{role}/authorities/{authority}") .prettyPeek() .andReturn(); - usingRestWrapper().setStatusCode(Integer.toString(response.getStatusCode())); + getRMRestWrapper().setStatusCode(Integer.toString(response.getStatusCode())); } /** @@ -102,8 +128,10 @@ public class RMUserAPI extends RestAPI */ public void addUserPermission(FilePlanComponent component, UserModel user, String permission) { + UserModel adminUser = getRMRestWrapper().getTestUser(); + // get an "old-style" REST API client - AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject(); + AlfrescoHttpClient client = getAlfrescoHttpClient(); JsonObject bodyJson = buildObject() .addArray("permissions") @@ -118,11 +146,11 @@ public class RMUserAPI extends RestAPI .setBaseUri(client.getApiUrl()) .setBasePath("/") .build(); - + // execute an "old-style" API call Response response = given() .spec(spec) - .auth().basic(dataUser.getAdminUser().getUsername(), dataUser.getAdminUser().getPassword()) + .auth().basic(adminUser.getUsername(), adminUser.getPassword()) .contentType(ContentType.JSON) .body(bodyJson.toString()) .pathParam("nodeId", component.getId()) @@ -131,23 +159,47 @@ public class RMUserAPI extends RestAPI .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());