diff --git a/src/main/java/org/alfresco/rest/model/FilePlanComponentEntry.java b/src/main/java/org/alfresco/rest/model/fileplancomponents/FilePlanComponentEntry.java similarity index 94% rename from src/main/java/org/alfresco/rest/model/FilePlanComponentEntry.java rename to src/main/java/org/alfresco/rest/model/fileplancomponents/FilePlanComponentEntry.java index 82ee037347..02f28c2a32 100644 --- a/src/main/java/org/alfresco/rest/model/FilePlanComponentEntry.java +++ b/src/main/java/org/alfresco/rest/model/fileplancomponents/FilePlanComponentEntry.java @@ -9,7 +9,7 @@ * agreement is prohibited. * #L% */ -package org.alfresco.rest.model; +package org.alfresco.rest.model.fileplancomponents; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/org/alfresco/rest/model/FilePlanComponentsCollection.java b/src/main/java/org/alfresco/rest/model/fileplancomponents/FilePlanComponentsCollection.java similarity index 91% rename from src/main/java/org/alfresco/rest/model/FilePlanComponentsCollection.java rename to src/main/java/org/alfresco/rest/model/fileplancomponents/FilePlanComponentsCollection.java index ca6bb84659..24d3f395f2 100644 --- a/src/main/java/org/alfresco/rest/model/FilePlanComponentsCollection.java +++ b/src/main/java/org/alfresco/rest/model/fileplancomponents/FilePlanComponentsCollection.java @@ -9,7 +9,7 @@ * agreement is prohibited. * #L% */ -package org.alfresco.rest.model; +package org.alfresco.rest.model.fileplancomponents; import org.alfresco.rest.core.RestModels; diff --git a/src/main/java/org/alfresco/rest/requests/FilePlanComponentApi.java b/src/main/java/org/alfresco/rest/requests/FilePlanComponentApi.java index bb3d82329d..6c4c7463dc 100644 --- a/src/main/java/org/alfresco/rest/requests/FilePlanComponentApi.java +++ b/src/main/java/org/alfresco/rest/requests/FilePlanComponentApi.java @@ -23,8 +23,8 @@ import static org.springframework.http.HttpMethod.PUT; import com.google.gson.JsonObject; import org.alfresco.rest.core.RestAPI; -import org.alfresco.rest.model.FilePlanComponentsCollection; import org.alfresco.rest.model.fileplancomponents.FilePlanComponent; +import org.alfresco.rest.model.fileplancomponents.FilePlanComponentsCollection; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; diff --git a/src/test/java/org/alfresco/rest/BaseRestTest.java b/src/test/java/org/alfresco/rest/BaseRestTest.java index af6669d371..64fccd8a31 100644 --- a/src/test/java/org/alfresco/rest/BaseRestTest.java +++ b/src/test/java/org/alfresco/rest/BaseRestTest.java @@ -41,21 +41,21 @@ import org.testng.annotations.BeforeClass; * @since 1.0 */ @Configuration -@PropertySource("classpath:config.properties") +@PropertySource("classpath:default.properties") @PropertySource(value = "classpath:local.properties", ignoreResourceNotFound = true) public class BaseRestTest extends RestTest { - @Value ("${alfresco.rm.scheme}") + @Value ("${alfresco.scheme}") private String scheme; - @Value ("${alfresco.rm.host}") - private String host; + @Value ("${alfresco.server}") + private String server; - @Value ("${alfresco.rm.port}") + @Value ("${alfresco.port}") private String port; - @Value ("${alfresco.rm.basePath}") - private String basePath; + @Value ("${rest.rmPath}") + private String restRmPath; @Autowired public RMSiteAPI rmSiteAPI; @@ -75,9 +75,9 @@ public class BaseRestTest extends RestTest @BeforeClass(alwaysRun = true) public void checkServerHealth() throws Exception { - RestAssured.baseURI = scheme + "://" + host; + RestAssured.baseURI = scheme + "://" + server; RestAssured.port = parseInt(port); - RestAssured.basePath = basePath; + RestAssured.basePath = restRmPath; //create RM Site if not exist createRMSiteIfNotExists(); diff --git a/src/test/java/org/alfresco/rest/TestData.java b/src/test/java/org/alfresco/rest/TestData.java new file mode 100644 index 0000000000..df52bdce2d --- /dev/null +++ b/src/test/java/org/alfresco/rest/TestData.java @@ -0,0 +1,21 @@ +package org.alfresco.rest; + +/** + * Test data used in tests + * + * @author Rodica Sutu + */ +public interface TestData +{ + /** + * A user with ALFRESCO_ADMINISTRATORS role. + *
"GROUP_ANOTHER_ADMIN_EXISTS" The ANOTHER_ADMIN user has been created. + */ + public static final String ANOTHER_ADMIN = "another_admin"; + + /** + * The default password used when creating test users. + */ + public static final String DEFAULT_PASSWORD = "password"; + public static final String DEFAULT_EMAIL = "default@alfresco.com"; +} diff --git a/src/test/java/org/alfresco/rest/fileplancomponents/RecordCategoryTest.java b/src/test/java/org/alfresco/rest/fileplancomponents/RecordCategoryTest.java index 9744ac702e..fbd2d03527 100644 --- a/src/test/java/org/alfresco/rest/fileplancomponents/RecordCategoryTest.java +++ b/src/test/java/org/alfresco/rest/fileplancomponents/RecordCategoryTest.java @@ -39,9 +39,9 @@ import com.google.gson.JsonObject; import org.alfresco.com.fileplancomponents.FilePlanComponentType; import org.alfresco.rest.BaseRestTest; import org.alfresco.rest.core.RestWrapper; -import org.alfresco.rest.model.FilePlanComponentsCollection; import org.alfresco.rest.model.fileplancomponents.FilePlanComponent; import org.alfresco.rest.model.fileplancomponents.FilePlanComponentProperties; +import org.alfresco.rest.model.fileplancomponents.FilePlanComponentsCollection; import org.alfresco.rest.requests.FilePlanComponentApi; import org.alfresco.utility.data.DataUser; import org.alfresco.utility.data.RandomData; diff --git a/src/test/java/org/alfresco/rest/fileplancomponents/RMSiteTests.java b/src/test/java/org/alfresco/rest/site/RMSiteTests.java similarity index 59% rename from src/test/java/org/alfresco/rest/fileplancomponents/RMSiteTests.java rename to src/test/java/org/alfresco/rest/site/RMSiteTests.java index 0a575c81a5..4ebd4a9589 100644 --- a/src/test/java/org/alfresco/rest/fileplancomponents/RMSiteTests.java +++ b/src/test/java/org/alfresco/rest/site/RMSiteTests.java @@ -9,12 +9,16 @@ * agreement is prohibited. * #L% */ -package org.alfresco.rest.fileplancomponents; +package org.alfresco.rest.site; +import static org.alfresco.com.site.RMSiteCompliance.DOD5015; import static org.alfresco.com.site.RMSiteCompliance.STANDARD; import static org.alfresco.com.site.RMSiteFields.COMPLIANCE; import static org.alfresco.com.site.RMSiteFields.DESCRIPTION; import static org.alfresco.com.site.RMSiteFields.TITLE; +import static org.alfresco.rest.TestData.ANOTHER_ADMIN; +import static org.alfresco.rest.TestData.DEFAULT_EMAIL; +import static org.alfresco.rest.TestData.DEFAULT_PASSWORD; import static org.jglue.fluentjson.JsonBuilderFactory.buildObject; import static org.springframework.http.HttpStatus.CONFLICT; import static org.springframework.http.HttpStatus.CREATED; @@ -26,9 +30,13 @@ import static org.testng.Assert.assertEquals; import com.google.gson.JsonObject; +import org.alfresco.dataprep.UserService; import org.alfresco.rest.BaseRestTest; import org.alfresco.rest.core.RestWrapper; +import org.alfresco.rest.fileplancomponents.RecordCategoryTest; import org.alfresco.rest.model.site.RMSite; +import org.alfresco.utility.model.UserModel; +import org.springframework.beans.factory.annotation.Autowired; import org.testng.annotations.Test; /** @@ -36,37 +44,39 @@ import org.testng.annotations.Test; * FIXME: Should we use dependent tests or not? * They were removed here but there is no guarantee for the test execution order. * In {@link RecordCategoryTest} we create a record category first to delete it. - * Probably something to think about again. + * Probbaly something to think about again. * * @author Rodica Sutu * @since 1.0 */ public class RMSiteTests extends BaseRestTest { + @Autowired + private UserService userService; @Test ( - description = "Create RM site as admin user with standard Compliance" + description = "Create RM site as admin user with Standard Compliance" ) public void createRMSiteAsAdminUser() throws Exception { - RestWrapper restWrapper = rmSiteAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); + rmSiteAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); if (siteRMExist()) { // Delete the RM site rmSiteAPI.deleteRMSite(); } // Build the RM site properties - JsonObject rmSiteProperties = buildObject(). - add(TITLE, RM_TITLE). - add(DESCRIPTION, RM_DESCRIPTION). - add(COMPLIANCE, STANDARD.toString()). - getJson(); + JsonObject rmSiteProperties = buildObject() + .add(TITLE, RM_TITLE) + .add(DESCRIPTION, RM_DESCRIPTION) + .add(COMPLIANCE, STANDARD.toString()) + .getJson(); // Create the RM site RMSite rmSite = rmSiteAPI.createRMSite(rmSiteProperties); // Verify the status code - restWrapper.assertStatusCodeIs(CREATED); + rmSiteAPI.usingRestWrapper().assertStatusCodeIs(CREATED); // Verify the returned file plan component assertEquals(rmSite.getId(), RM_ID); @@ -91,11 +101,11 @@ public class RMSiteTests extends BaseRestTest String newDescription = RM_DESCRIPTION + "createRMSiteWhenSiteExists"; // Build the RM site properties - JsonObject rmSiteProperties = buildObject(). - add(TITLE, newTitle). - add(DESCRIPTION, newDescription). - add(COMPLIANCE, STANDARD.toString()). - getJson(); + JsonObject rmSiteProperties = buildObject() + .add(TITLE, newTitle) + .add(DESCRIPTION, newDescription) + .add(COMPLIANCE, STANDARD.toString()) + .getJson(); // Create the RM site rmSiteAPI.createRMSite(rmSiteProperties); @@ -129,7 +139,6 @@ public class RMSiteTests extends BaseRestTest // Get the RM site RMSite rmSite = rmSiteAPI.getSite(); - if (!siteRMExist()) { // Verify the status code @@ -145,4 +154,47 @@ public class RMSiteTests extends BaseRestTest assertEquals(rmSite.getVisibility(), PUBLIC); } } -} + + @Test + ( + description = "Create RM site as an admin user created with DOD compliance" + ) + public void createRMSiteAsAnotherAdminUser() throws Exception + { + rmSiteAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); + if (siteRMExist()) + { + //Delete the RM site + rmSiteAPI.deleteRMSite(); + } + rmSiteAPI.usingRestWrapper().disconnect(); + userService.create(dataUser.getAdminUser().getUsername(), + dataUser.getAdminUser().getPassword(), + ANOTHER_ADMIN, + DEFAULT_PASSWORD, + DEFAULT_EMAIL, + ANOTHER_ADMIN, + ANOTHER_ADMIN); + UserModel userModel=new UserModel(ANOTHER_ADMIN,DEFAULT_PASSWORD); + rmSiteAPI.usingRestWrapper().authenticateUser(userModel); + // Build the RM site properties + JsonObject rmSiteProperties = buildObject() + .add(TITLE, RM_TITLE) + .add(DESCRIPTION, RM_DESCRIPTION) + .add(COMPLIANCE, DOD5015.toString()) + .getJson(); + + // Create the RM site + RMSite rmSite = rmSiteAPI.createRMSite(rmSiteProperties); + + // Verify the status code + rmSiteAPI.usingRestWrapper().assertStatusCodeIs(CREATED); + + // Verify the returned file plan component + assertEquals(rmSite.getId(), RM_ID); + assertEquals(rmSite.getTitle(), RM_TITLE); + assertEquals(rmSite.getDescription(), RM_DESCRIPTION); + assertEquals(rmSite.getCompliance(), DOD5015); + assertEquals(rmSite.getVisibility(), PUBLIC); + } + } diff --git a/src/test/resources/config.properties b/src/test/resources/config.properties deleted file mode 100644 index 899f737db2..0000000000 --- a/src/test/resources/config.properties +++ /dev/null @@ -1,4 +0,0 @@ -alfresco.rm.scheme=http -alfresco.rm.host=localhost -alfresco.rm.port=8080 -alfresco.rm.basePath=alfresco/api/-default-/public/ig/versions/1 \ No newline at end of file diff --git a/src/test/resources/default.properties b/src/test/resources/default.properties new file mode 100644 index 0000000000..47fa27dcf0 --- /dev/null +++ b/src/test/resources/default.properties @@ -0,0 +1,20 @@ +######################################################################### +# Original property values from default.properties # +######################################################################### + +# dataprep related +alfresco.scheme=http +alfresco.server=localhost +alfresco.port=8080 + +# credentials +admin.user=admin +admin.password=admin + +# rest related +rest.basePath=alfresco/api/-default-/public/alfresco/versions/1 +rest.workflowPath=alfresco/api/-default-/public/workflow/versions/1 + +######################################################################### + +rest.rmPath=alfresco/api/-default-/public/ig/versions/1 \ No newline at end of file