From b2ee0adb7ea76b3e019ea427c06945a25b80a219 Mon Sep 17 00:00:00 2001 From: Tuna Aksoy Date: Thu, 17 Nov 2016 12:21:52 +0000 Subject: [PATCH] Integrate RM Community REST API Automation into RM UI Automation --- .../alfresco/rest/rm/requests/RMSiteAPI.java | 24 +++++++++++++++++++ .../alfresco/rest/rm/base/BaseRestTest.java | 13 +--------- .../rm/fileplancomponents/FilePlanTests.java | 2 +- .../alfresco/rest/rm/site/RMSiteTests.java | 14 ++++++----- 4 files changed, 34 insertions(+), 19 deletions(-) diff --git a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/requests/RMSiteAPI.java b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/requests/RMSiteAPI.java index c99e9c4555..e246873943 100644 --- a/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/requests/RMSiteAPI.java +++ b/rm-automation/rm-automation-community-rest-api/src/main/java/org/alfresco/rest/rm/requests/RMSiteAPI.java @@ -33,11 +33,14 @@ import static org.springframework.http.HttpMethod.DELETE; import static org.springframework.http.HttpMethod.GET; import static org.springframework.http.HttpMethod.POST; import static org.springframework.http.HttpMethod.PUT; +import static org.springframework.http.HttpStatus.OK; import com.google.gson.JsonObject; import org.alfresco.rest.core.RestAPI; import org.alfresco.rest.rm.model.site.RMSite; +import org.alfresco.utility.data.DataUser; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; @@ -52,6 +55,9 @@ import org.springframework.stereotype.Component; @Scope (value = "prototype") public class RMSiteAPI extends RestAPI { + @Autowired + private DataUser dataUser; + /** * Get the RM site * @@ -139,4 +145,22 @@ public class RMSiteAPI extends RestAPI "ig-sites/rm" )); } + + /** + * Checks if the RM site exists or not + * + * @return true if the RM site exists, false otherwise. + * @throws Exception for the following cases: + *
    + *
  • Api Response code 400 Invalid parameter: GET request is supported only for the RM site
  • + *
  • Api Response code 401 If authentication failed
  • + *
  • Api Response code 409 If RM Site does not exist
  • + *
  • Api Response code default Unexpected error
  • + */ + public boolean existsRMSite() throws Exception + { + usingRestWrapper().authenticateUser(dataUser.getAdminUser()); + getSite(); + return usingRestWrapper().getStatusCode().equals(OK.toString()); + } } diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/base/BaseRestTest.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/base/BaseRestTest.java index d03548f455..8dbc74d6a6 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/base/BaseRestTest.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/base/BaseRestTest.java @@ -42,7 +42,6 @@ import static org.alfresco.rest.rm.model.site.RMSiteFields.DESCRIPTION; import static org.alfresco.rest.rm.model.site.RMSiteFields.TITLE; import static org.jglue.fluentjson.JsonBuilderFactory.buildObject; import static org.springframework.http.HttpStatus.CREATED; -import static org.springframework.http.HttpStatus.OK; import com.google.gson.JsonObject; import com.jayway.restassured.RestAssured; @@ -123,7 +122,7 @@ public class BaseRestTest extends RestTest public void createRMSiteIfNotExists() throws Exception { // Check RM site doesn't exist - if (!siteRMExists()) + if (!rmSiteAPI.existsRMSite()) { rmSiteAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); @@ -142,16 +141,6 @@ public class BaseRestTest extends RestTest } } - /** - * Check if the RM site exists via the GET request - */ - public boolean siteRMExists() throws Exception - { - RestWrapper restWrapper = rmSiteAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); - rmSiteAPI.getSite(); - return restWrapper.getStatusCode().equals(OK.toString()); - } - /** * Helper method to create child category * diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/fileplancomponents/FilePlanTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/fileplancomponents/FilePlanTests.java index db163c026b..07ac808fb5 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/fileplancomponents/FilePlanTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/fileplancomponents/FilePlanTests.java @@ -94,7 +94,7 @@ public class FilePlanTests extends BaseRestTest public void getFilePlanComponentWhenRMIsNotCreated(String filePlanAlias) throws Exception { // Check RM Site Exist - if (siteRMExists()) + if (rmSiteAPI.existsRMSite()) { // Delete RM Site rmSiteAPI.deleteRMSite(); diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/site/RMSiteTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/site/RMSiteTests.java index 0d5d50515c..6163eb29c1 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/site/RMSiteTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/site/RMSiteTests.java @@ -94,7 +94,7 @@ public class RMSiteTests extends BaseRestTest rmSiteAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); // Check if the RM site exists - if (siteRMExists()) + if (rmSiteAPI.existsRMSite()) { // Delete the RM site rmSiteAPI.deleteRMSite(); @@ -192,16 +192,18 @@ public class RMSiteTests extends BaseRestTest // Authenticate with admin user RestWrapper restWrapper = rmSiteAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); - // Get the RM site - RMSite rmSite = rmSiteAPI.getSite(); - if (!siteRMExists()) + // Check if RM Site exists + if (!rmSiteAPI.existsRMSite()) { - // Verify the status code when RM site doesn't exist + // Verify the status code when RM site doesn't exist restWrapper.assertStatusCodeIs(NOT_FOUND); createRMSiteIfNotExists(); } else { + // Get the RM site + RMSite rmSite = rmSiteAPI.getSite(); + // Verify the status code restWrapper.assertStatusCodeIs(OK); assertEquals(rmSite.getId(), RM_ID); @@ -227,7 +229,7 @@ public class RMSiteTests extends BaseRestTest rmSiteAPI.usingRestWrapper().authenticateUser(dataUser.getAdminUser()); // Check if the RM site exists - if (siteRMExists()) + if (rmSiteAPI.existsRMSite()) { // Delete the RM site rmSiteAPI.deleteRMSite();