RM-4391: fixed core API use affecting RM base path

This commit is contained in:
Kristijan Conkas
2016-12-05 15:59:38 +00:00
parent 652510d098
commit 6b3be22a75
2 changed files with 8 additions and 13 deletions

View File

@@ -49,6 +49,7 @@ import org.alfresco.rest.rm.community.requests.FilePlanComponentAPI;
import org.alfresco.rest.rm.community.requests.RMSiteAPI; import org.alfresco.rest.rm.community.requests.RMSiteAPI;
import org.alfresco.utility.constants.UserRole; import org.alfresco.utility.constants.UserRole;
import org.alfresco.utility.data.DataUser; import org.alfresco.utility.data.DataUser;
import org.alfresco.utility.model.SiteModel;
import org.alfresco.utility.model.UserModel; import org.alfresco.utility.model.UserModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
@@ -230,28 +231,21 @@ public class BaseRestTest extends RestTest
public UserModel createRMUserWithRole(String userName, UserRole userRole) throws Exception public UserModel createRMUserWithRole(String userName, UserRole userRole) throws Exception
{ {
rmSiteAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); rmSiteAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser());
String siteId = rmSiteAPI.getSite().getId(); String siteId = rmSiteAPI.getSite().getId();
logger.info("Site:" + rmSiteAPI.getSite() + " id: " + siteId);
// check if user exists // check if user exists
UserModel user = new UserModel(); UserModel user = new UserModel();
user.setUsername(userName); user.setUsername(userName);
user.setPassword(userName); user.setPassword(userName);
rmSiteAPI.usingRestWrapper().withCoreAPI().usingSite(siteId).getSiteMember(user);
if (rmSiteAPI.usingRestWrapper().getStatusCode().equals(HttpStatus.NOT_FOUND.toString())) if (!dataUser.isUserInRepo(userName))
{ {
// user doesn't exist, create it // user doesn't exist, create it
logger.info("user doesn't exist, creating");
user = dataUser.createUser(userName, userName); user = dataUser.createUser(userName, userName);
user.setUserRole(userRole); user.setUserRole(userRole);
rmSiteAPI.usingRestWrapper().withCoreAPI().usingSite(siteId).addPerson(user); dataUser.addUserToSite(user, new SiteModel(siteId), userRole);
rmSiteAPI.usingRestWrapper().assertStatusCodeIs(HttpStatus.CREATED);
} }
logger.info("returning existing user");
return user; return user;
} }

View File

@@ -39,6 +39,7 @@ import static org.alfresco.rest.rm.community.util.PojoUtility.toJson;
import static org.alfresco.utility.data.RandomData.getRandomAlphanumeric; import static org.alfresco.utility.data.RandomData.getRandomAlphanumeric;
import static org.springframework.http.HttpStatus.BAD_REQUEST; import static org.springframework.http.HttpStatus.BAD_REQUEST;
import static org.springframework.http.HttpStatus.CREATED; import static org.springframework.http.HttpStatus.CREATED;
import static org.springframework.http.HttpStatus.FORBIDDEN;
import static org.springframework.http.HttpStatus.NOT_FOUND; import static org.springframework.http.HttpStatus.NOT_FOUND;
import static org.springframework.http.HttpStatus.UNPROCESSABLE_ENTITY; import static org.springframework.http.HttpStatus.UNPROCESSABLE_ENTITY;
import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertEquals;
@@ -348,8 +349,8 @@ public class NonElectronicRecordTests extends BaseRestTest
{ {
} }
// user who isn't an RM site member can't access the container path, hence NOT_FOUND // user who isn't an RM site member can't access the container path
filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(NOT_FOUND); filePlanComponentAPI.usingRestWrapper().assertStatusCodeIs(FORBIDDEN);
} }
/** /**