From 83b40da3cb5c9c33e8023bdad31956fc0330d1af Mon Sep 17 00:00:00 2001 From: Cristina Axinte Date: Thu, 5 Jan 2017 10:46:26 +0200 Subject: [PATCH 1/9] TAS-2608 New full test for getPerson using -me- --- .../rest/people/GetPeopleFullTests.java | 48 +++++++++++++++++++ .../rest/people/GetPeopleSanityTests.java | 1 - 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java diff --git a/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java b/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java new file mode 100644 index 000000000..3f331268d --- /dev/null +++ b/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java @@ -0,0 +1,48 @@ +package org.alfresco.rest.people; + +import org.alfresco.rest.RestTest; +import org.alfresco.rest.model.RestPersonModel; +import org.alfresco.utility.constants.UserRole; +import org.alfresco.utility.model.SiteModel; +import org.alfresco.utility.model.TestGroup; +import org.alfresco.utility.model.UserModel; +import org.alfresco.utility.testrail.ExecutionType; +import org.alfresco.utility.testrail.annotation.TestRail; +import org.springframework.http.HttpStatus; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + +public class GetPeopleFullTests extends RestTest +{ + UserModel userModel; + SiteModel siteModel; + UserModel searchedUser; + UserModel adminUser; + private RestPersonModel personModel; + private String domain = "@tas-automation.org"; + + @BeforeClass(alwaysRun = true) + public void dataPreparation() throws Exception + { + adminUser = dataUser.getAdminUser(); + userModel = dataUser.createRandomTestUser(); + siteModel = dataSite.usingUser(userModel).createPublicRandomSite(); + searchedUser = dataUser.createRandomTestUser(); + } + + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user gets person using '-me-' instead of personId with Rest API and response is successful") + public void checkGetPersonIsSuccessfulForMe() throws Exception + { + UserModel managerUser = dataUser.usingAdmin().createRandomTestUser(); + dataUser.usingUser(userModel).addUserToSite(managerUser, siteModel, UserRole.SiteManager); + + personModel = restClient.authenticateUser(managerUser).withCoreAPI().usingMe().getPerson(); + restClient.assertStatusCodeIs(HttpStatus.OK); + personModel.assertThat().field("id").is(managerUser.getUsername()) + .and().field("firstName").is(managerUser.getUsername() + " FirstName") + .and().field("email").is(managerUser.getUsername() + domain) + .and().field("emailNotificationsEnabled").is("true"); + + } +} diff --git a/e2e-test/java/org/alfresco/rest/people/GetPeopleSanityTests.java b/e2e-test/java/org/alfresco/rest/people/GetPeopleSanityTests.java index 2c0479261..acbc56c40 100644 --- a/e2e-test/java/org/alfresco/rest/people/GetPeopleSanityTests.java +++ b/e2e-test/java/org/alfresco/rest/people/GetPeopleSanityTests.java @@ -69,7 +69,6 @@ public class GetPeopleSanityTests extends RestTest restClient.assertStatusCodeIs(HttpStatus.OK); personModel.assertThat().field("id").is(searchedUser.getUsername()).assertThat().field("firstName").is(searchedUser.getUsername() + " FirstName").and() .field("email").is(searchedUser.getUsername() + domain).and().field("emailNotificationsEnabled").is("true"); - ; } @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY }) From b35da1e26f4da6d8eed61cb3904bbea984ff36bd Mon Sep 17 00:00:00 2001 From: "NESS\\P3700299" Date: Fri, 6 Jan 2017 19:24:53 +0200 Subject: [PATCH 2/9] fixed CORE tests for getFavorites and implemented new tests for FULL phase --- .../rest/favorites/GetFavoriteCoreTests.java | 106 ++++++++++++ .../rest/favorites/GetFavoriteFullTests.java | 67 ++++++++ .../favorites/GetFavoriteSanityTests.java | 153 +++++++++++++++--- 3 files changed, 305 insertions(+), 21 deletions(-) create mode 100644 e2e-test/java/org/alfresco/rest/favorites/GetFavoriteCoreTests.java create mode 100644 e2e-test/java/org/alfresco/rest/favorites/GetFavoriteFullTests.java diff --git a/e2e-test/java/org/alfresco/rest/favorites/GetFavoriteCoreTests.java b/e2e-test/java/org/alfresco/rest/favorites/GetFavoriteCoreTests.java new file mode 100644 index 000000000..c3b3e0668 --- /dev/null +++ b/e2e-test/java/org/alfresco/rest/favorites/GetFavoriteCoreTests.java @@ -0,0 +1,106 @@ +package org.alfresco.rest.favorites; + +import org.alfresco.dataprep.CMISUtil.DocumentType; +import org.alfresco.rest.RestTest; +import org.alfresco.rest.exception.JsonToModelConversionException; +import org.alfresco.rest.model.RestErrorModel; +import org.alfresco.rest.model.RestPersonFavoritesModel; +import org.alfresco.utility.constants.UserRole; +import org.alfresco.utility.data.DataUser; +import org.alfresco.utility.data.DataUser.ListUserWithRoles; +import org.alfresco.utility.model.FileModel; +import org.alfresco.utility.model.FolderModel; +import org.alfresco.utility.model.SiteModel; +import org.alfresco.utility.model.TestGroup; +import org.alfresco.utility.model.UserModel; +import org.alfresco.utility.testrail.ExecutionType; +import org.alfresco.utility.testrail.annotation.TestRail; +import org.springframework.http.HttpStatus; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + +public class GetFavoriteCoreTests extends RestTest { + private UserModel adminUserModel; + private SiteModel siteModel; + private FolderModel folderModel; + private FileModel fileModel; + private ListUserWithRoles usersWithRoles; + + @BeforeClass(alwaysRun = true) + public void dataPreparation() throws Exception { + adminUserModel = dataUser.getAdminUser(); + restClient.authenticateUser(adminUserModel); + siteModel = dataSite.usingUser(adminUserModel).createPublicRandomSite(); + + folderModel = dataContent.usingUser(adminUserModel).usingSite(siteModel).createFolder(); + fileModel = dataContent.usingUser(adminUserModel).usingResource(folderModel) + .createContent(DocumentType.TEXT_PLAIN); + + siteModel.setGuid( + restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(siteModel).getSite().getGuid()); + + usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, UserRole.SiteManager, UserRole.SiteCollaborator, + UserRole.SiteConsumer, UserRole.SiteContributor); + } + + @TestRail(section = { TestGroup.REST_API, + TestGroup.FAVORITES }, executionType = ExecutionType.REGRESSION, description = "Verify get favorite site when person id does't exist") + @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.CORE }) + public void getFavoriteSiteWhenPersonIdNotExist() throws JsonToModelConversionException, Exception { + + restClient.withCoreAPI().usingUser(adminUserModel).addSiteToFavorites(siteModel); + UserModel someUser = new UserModel("invalidUser", DataUser.PASSWORD); + + restClient.authenticateUser(adminUserModel).withCoreAPI().usingUser(someUser).getFavorite(siteModel.getGuid()); + restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError() + .containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, someUser.getUsername())) + .statusCodeIs(HttpStatus.NOT_FOUND) + .descriptionURLIs(RestErrorModel.RESTAPIEXPLORER) + .stackTraceIs(RestErrorModel.STACKTRACE) + .containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY); + } + + + @TestRail(section = { TestGroup.REST_API, + TestGroup.FAVORITES }, executionType = ExecutionType.REGRESSION, description = "Verify get favorite site when favorite id does't exist") + @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.CORE }) + public void getFavoriteSiteWhenFavoriteIdNotExist() throws JsonToModelConversionException, Exception { + + restClient.withCoreAPI().usingUser(adminUserModel).addSiteToFavorites(siteModel); + + restClient.authenticateUser(adminUserModel).withCoreAPI().usingUser(adminUserModel).getFavorite("invalidId"); + restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError() + .containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, "invalidId")) + .statusCodeIs(HttpStatus.NOT_FOUND) + .descriptionURLIs(RestErrorModel.RESTAPIEXPLORER) + .stackTraceIs(RestErrorModel.STACKTRACE) + .containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY); + } + + @TestRail(section = { TestGroup.REST_API, + TestGroup.FAVORITES }, executionType = ExecutionType.REGRESSION, description = "Verify get favorite user doesn't have any favorite site, file or folder") + @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.CORE }) + public void getFavoriteSiteForUserWithoutAnyFavorites() throws Exception + { + restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)); + restClient.withCoreAPI().usingAuthUser().getFavorite(siteModel.getGuid()); + restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError() + .containsSummary(String.format(RestErrorModel.RELATIONSHIP_NOT_FOUND, usersWithRoles.getOneUserWithRole(UserRole.SiteManager).getUsername(), siteModel.getGuid())) + .statusCodeIs(HttpStatus.NOT_FOUND) + .descriptionURLIs(RestErrorModel.RESTAPIEXPLORER) + .stackTraceIs(RestErrorModel.STACKTRACE) + .containsErrorKey(RestErrorModel.RELATIONSHIP_NOT_FOUND_ERRORKEY); + } + + @TestRail(section = { TestGroup.REST_API, + TestGroup.FAVORITES }, executionType = ExecutionType.REGRESSION, description = "Verify get favorite site for -me-") + @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.CORE }) + public void getFavoriteSiteUsingMe() throws Exception + { + restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)).withCoreAPI().usingAuthUser().addSiteToFavorites(siteModel); + + RestPersonFavoritesModel favoriteSite = restClient.withCoreAPI().usingMe().getFavorite(siteModel.getGuid()); + restClient.assertStatusCodeIs(HttpStatus.OK); + favoriteSite.assertThat().field("targetGuid").equals(siteModel.getGuid()); + } +} \ No newline at end of file diff --git a/e2e-test/java/org/alfresco/rest/favorites/GetFavoriteFullTests.java b/e2e-test/java/org/alfresco/rest/favorites/GetFavoriteFullTests.java new file mode 100644 index 000000000..05323bb89 --- /dev/null +++ b/e2e-test/java/org/alfresco/rest/favorites/GetFavoriteFullTests.java @@ -0,0 +1,67 @@ +package org.alfresco.rest.favorites; + +import org.alfresco.dataprep.CMISUtil.DocumentType; +import org.alfresco.rest.RestTest; +import org.alfresco.rest.exception.JsonToModelConversionException; +import org.alfresco.rest.model.RestErrorModel; +import org.alfresco.rest.model.RestPersonFavoritesModel; +import org.alfresco.utility.constants.UserRole; +import org.alfresco.utility.data.DataUser; +import org.alfresco.utility.data.DataUser.ListUserWithRoles; +import org.alfresco.utility.model.FileModel; +import org.alfresco.utility.model.FolderModel; +import org.alfresco.utility.model.SiteModel; +import org.alfresco.utility.model.TestGroup; +import org.alfresco.utility.model.UserModel; +import org.alfresco.utility.testrail.ExecutionType; +import org.alfresco.utility.testrail.annotation.TestRail; +import org.springframework.http.HttpStatus; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + +public class GetFavoriteFullTests extends RestTest { + private UserModel adminUserModel, networkUserModel; + private SiteModel siteModel; + private FolderModel folderModel; + private FileModel fileModel; + private ListUserWithRoles usersWithRoles; + + @BeforeClass(alwaysRun = true) + public void dataPreparation() throws Exception { + + networkUserModel = dataUser.createRandomTestUser(); + adminUserModel = dataUser.getAdminUser(); + restClient.authenticateUser(adminUserModel); + + siteModel = dataSite.usingUser(adminUserModel).createPublicRandomSite(); + + folderModel = dataContent.usingUser(adminUserModel).usingSite(siteModel).createFolder(); + fileModel = dataContent.usingUser(adminUserModel).usingResource(folderModel) + .createContent(DocumentType.TEXT_PLAIN); + + siteModel.setGuid( + restClient.authenticateUser(adminUserModel).withCoreAPI().usingSite(siteModel).getSite().getGuid()); + + usersWithRoles = dataUser.addUsersWithRolesToSite(siteModel, UserRole.SiteManager, UserRole.SiteCollaborator, + UserRole.SiteConsumer, UserRole.SiteContributor); + } + + @TestRail(section = { TestGroup.REST_API, + TestGroup.FAVORITES }, executionType = ExecutionType.REGRESSION, description = "Verify get favorite site when using invalid network id") + @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.FULL }) + public void getFavoriteSiteWhenNetworkIdIsInvalid() throws JsonToModelConversionException, Exception + { + networkUserModel.setDomain("invalidNetwork"); + restClient.withCoreAPI().usingUser(adminUserModel).addSiteToFavorites(siteModel); + UserModel someUser = new UserModel("invalidUser", DataUser.PASSWORD); + + restClient.authenticateUser(adminUserModel).withCoreAPI().usingUser(someUser).getFavorite(siteModel.getGuid()); + restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND).assertLastError() + .containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, someUser.getUsername())) + .statusCodeIs(HttpStatus.NOT_FOUND) + .descriptionURLIs(RestErrorModel.RESTAPIEXPLORER) + .stackTraceIs(RestErrorModel.STACKTRACE) + .containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY); + } + +} \ No newline at end of file diff --git a/e2e-test/java/org/alfresco/rest/favorites/GetFavoriteSanityTests.java b/e2e-test/java/org/alfresco/rest/favorites/GetFavoriteSanityTests.java index 8e686f969..688ce6ff5 100644 --- a/e2e-test/java/org/alfresco/rest/favorites/GetFavoriteSanityTests.java +++ b/e2e-test/java/org/alfresco/rest/favorites/GetFavoriteSanityTests.java @@ -4,6 +4,7 @@ import org.alfresco.dataprep.CMISUtil.DocumentType; import org.alfresco.rest.RestTest; import org.alfresco.rest.exception.JsonToModelConversionException; import org.alfresco.rest.model.RestErrorModel; +import org.alfresco.rest.model.RestPersonFavoritesModel; import org.alfresco.rest.model.RestPersonFavoritesModelsCollection; import org.alfresco.rest.model.RestSiteModelsCollection; import org.alfresco.utility.constants.UserRole; @@ -27,8 +28,6 @@ public class GetFavoriteSanityTests extends RestTest private FolderModel folderModel; private FileModel fileModel; private ListUserWithRoles usersWithRoles; - private RestSiteModelsCollection restSiteModelsCollection; - private RestPersonFavoritesModelsCollection restPersonFavoritesModelsCollection; @BeforeClass(alwaysRun = true) public void dataPreparation() throws Exception @@ -53,9 +52,9 @@ public class GetFavoriteSanityTests extends RestTest { restClient.withCoreAPI().usingUser(adminUserModel).addSiteToFavorites(siteModel); - restSiteModelsCollection = restClient.withCoreAPI().usingUser(adminUserModel).getFavoriteSites(); + RestPersonFavoritesModel favoriteSite = restClient.withCoreAPI().usingUser(adminUserModel).getFavorite(siteModel.getGuid()); restClient.assertStatusCodeIs(HttpStatus.OK); - restSiteModelsCollection.and().entriesListContains("guid",siteModel.getGuid()); + favoriteSite.assertThat().field("targetGuid").equals(siteModel.getGuid()); } @TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.SANITY, @@ -65,10 +64,9 @@ public class GetFavoriteSanityTests extends RestTest { restClient.withCoreAPI().usingUser(adminUserModel).addFolderToFavorites(folderModel); - restPersonFavoritesModelsCollection = restClient.withCoreAPI().usingUser(adminUserModel).getFavorites(); + RestPersonFavoritesModel favoriteFolder = restClient.withCoreAPI().usingUser(adminUserModel).getFavorite(folderModel.getNodeRef()); restClient.assertStatusCodeIs(HttpStatus.OK); - restPersonFavoritesModelsCollection.and().entriesListContains("targetGuid", folderModel.getNodeRef()); - + favoriteFolder.assertThat().field("targetGuid").equals(folderModel.getNodeRef()); } @TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.SANITY, @@ -78,50 +76,135 @@ public class GetFavoriteSanityTests extends RestTest { restClient.withCoreAPI().usingUser(adminUserModel).addFileToFavorites(fileModel); - restPersonFavoritesModelsCollection = restClient.withCoreAPI().usingUser(adminUserModel).getFavorites(); + RestPersonFavoritesModel favoriteFile = restClient.withCoreAPI().usingUser(adminUserModel).getFavorite(fileModel.getNodeRefWithoutVersion()); restClient.assertStatusCodeIs(HttpStatus.OK); - restPersonFavoritesModelsCollection.and().entriesListContains("targetGuid", fileModel.getNodeRefWithoutVersion()); + favoriteFile.assertThat().field("targetGuid").equals(fileModel.getNodeRef()); } @TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.SANITY, description = "Verify Manager user gets favorite site with Rest API and status code is 200") @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.SANITY }) - public void managerIsAbleToRetrieveFavorite() throws JsonToModelConversionException, Exception + public void managerIsAbleToRetrieveFavoriteSite() throws JsonToModelConversionException, Exception { restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)); restClient.withCoreAPI().usingAuthUser().addSiteToFavorites(siteModel); - restSiteModelsCollection = restClient.withCoreAPI().usingAuthUser().getFavoriteSites(); + RestPersonFavoritesModel favSite = restClient.withCoreAPI().usingAuthUser().getFavorite(siteModel.getGuid()); restClient.assertStatusCodeIs(HttpStatus.OK); - restSiteModelsCollection.and().entriesListContains("guid",siteModel.getGuid()); + favSite.assertThat().field("targetGuid").equals(siteModel.getGuid()); + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.SANITY, + description = "Verify Manager user gets favorite folder with Rest API and status code is 200") + @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.SANITY }) + public void managerIsAbleToRetrieveFavoriteFolder() throws JsonToModelConversionException, Exception + { + restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)); + restClient.withCoreAPI().usingAuthUser().addFolderToFavorites(folderModel); + + RestPersonFavoritesModel favoriteFolder = restClient.withCoreAPI().usingAuthUser().getFavorite(folderModel.getNodeRef()); + restClient.assertStatusCodeIs(HttpStatus.OK); + favoriteFolder.assertThat().field("targetGuid").equals(folderModel.getNodeRef()); + + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.SANITY, + description = "Verify Manager user gets favorite file with Rest API and status code is 200") + @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.SANITY }) + public void managerIsAbleToRetrieveFavoriteFile() throws JsonToModelConversionException, Exception + { + restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)); + restClient.withCoreAPI().usingAuthUser().addFileToFavorites(fileModel); + + RestPersonFavoritesModel favoriteFile = restClient.withCoreAPI().usingAuthUser().getFavorite(fileModel.getNodeRefWithoutVersion()); + restClient.assertStatusCodeIs(HttpStatus.OK); + favoriteFile.assertThat().field("targetGuid").equals(fileModel.getNodeRef()); + } + @TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.SANITY, description = "Verify Collaborator user gets favorite site with Rest API and status code is 200") @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.SANITY }) - public void collaboratorIsAbleToRetrieveFavorites() throws JsonToModelConversionException, Exception + public void collaboratorIsAbleToRetrieveFavoriteSite() throws JsonToModelConversionException, Exception { restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)) .withCoreAPI().usingAuthUser().addSiteToFavorites(siteModel); - restSiteModelsCollection = restClient.withCoreAPI().usingAuthUser().getFavoriteSites(); + RestPersonFavoritesModel favSite = restClient.withCoreAPI().usingAuthUser().getFavorite(siteModel.getGuid()); restClient.assertStatusCodeIs(HttpStatus.OK); - restSiteModelsCollection.and().entriesListContains("guid",siteModel.getGuid()); + favSite.assertThat().field("targetGuid").equals(siteModel.getGuid()); } + @TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.SANITY, + description = "Verify collaborator user gets favorite folder with Rest API and status code is 200") + @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.SANITY }) + public void collaboratorIsAbleToRetrieveFavoriteFolder() throws JsonToModelConversionException, Exception + { + restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)); + restClient.withCoreAPI().usingAuthUser().addFolderToFavorites(folderModel); + + RestPersonFavoritesModel favoriteFolder = restClient.withCoreAPI().usingAuthUser().getFavorite(folderModel.getNodeRef()); + restClient.assertStatusCodeIs(HttpStatus.OK); + favoriteFolder.assertThat().field("targetGuid").equals(folderModel.getNodeRef()); + + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.SANITY, + description = "Verify collaborator user gets favorite file with Rest API and status code is 200") + @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.SANITY }) + public void collaboratorIsAbleToRetrieveFavoriteFile() throws JsonToModelConversionException, Exception + { + restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteCollaborator)); + restClient.withCoreAPI().usingAuthUser().addFileToFavorites(fileModel); + + RestPersonFavoritesModel favoriteFile = restClient.withCoreAPI().usingAuthUser().getFavorite(fileModel.getNodeRefWithoutVersion()); + restClient.assertStatusCodeIs(HttpStatus.OK); + favoriteFile.assertThat().field("targetGuid").equals(fileModel.getNodeRef()); + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.SANITY, description = "Verify Contributor user gets favorite site with Rest API and status code is 200") @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.SANITY }) - public void contributorIsAbleToRetrieveFavorite() throws JsonToModelConversionException, Exception + public void contributorIsAbleToRetrieveFavoriteSite() throws JsonToModelConversionException, Exception { restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)); restClient.withCoreAPI().usingAuthUser().addSiteToFavorites(siteModel); - restSiteModelsCollection = restClient.withCoreAPI().usingAuthUser().getFavoriteSites(); + RestPersonFavoritesModel favSite = restClient.withCoreAPI().usingAuthUser().getFavorite(siteModel.getGuid()); restClient.assertStatusCodeIs(HttpStatus.OK); - restSiteModelsCollection.and().entriesListContains("guid",siteModel.getGuid()); + favSite.assertThat().field("targetGuid").equals(siteModel.getGuid()); ; } + @TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.SANITY, + description = "Verify contributor user gets favorite folder with Rest API and status code is 200") + @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.SANITY }) + public void contributorIsAbleToRetrieveFavoriteFolder() throws JsonToModelConversionException, Exception + { + restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)); + restClient.withCoreAPI().usingAuthUser().addFolderToFavorites(folderModel); + + RestPersonFavoritesModel favoriteFolder = restClient.withCoreAPI().usingAuthUser().getFavorite(folderModel.getNodeRef()); + restClient.assertStatusCodeIs(HttpStatus.OK); + favoriteFolder.assertThat().field("targetGuid").equals(folderModel.getNodeRef()); + + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.SANITY, + description = "Verify contributor user gets favorite file with Rest API and status code is 200") + @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.SANITY }) + public void contributorIsAbleToRetrieveFavoriteFile() throws JsonToModelConversionException, Exception + { + restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteContributor)); + restClient.withCoreAPI().usingAuthUser().addFileToFavorites(fileModel); + + RestPersonFavoritesModel favoriteFile = restClient.withCoreAPI().usingAuthUser().getFavorite(fileModel.getNodeRefWithoutVersion()); + restClient.assertStatusCodeIs(HttpStatus.OK); + favoriteFile.assertThat().field("targetGuid").equals(fileModel.getNodeRef()); + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.SANITY, description = "Verify Consumer user gets favorite site with Rest API and status code is 200") @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.SANITY }) @@ -130,11 +213,38 @@ public class GetFavoriteSanityTests extends RestTest restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)); restClient.withCoreAPI().usingAuthUser().addSiteToFavorites(siteModel); - restSiteModelsCollection = restClient.withCoreAPI().usingAuthUser().getFavoriteSites(); + RestPersonFavoritesModel favSite = restClient.withCoreAPI().usingAuthUser().getFavorite(siteModel.getGuid()); restClient.assertStatusCodeIs(HttpStatus.OK); - restSiteModelsCollection.and().entriesListContains("guid",siteModel.getGuid()); + favSite.assertThat().field("targetGuid").equals(siteModel.getGuid()); } + @TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.SANITY, + description = "Verify consumer user gets favorite folder with Rest API and status code is 200") + @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.SANITY }) + public void consumerIsAbleToRetrieveFavoriteFolder() throws JsonToModelConversionException, Exception + { + restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)); + restClient.withCoreAPI().usingAuthUser().addFolderToFavorites(folderModel); + + RestPersonFavoritesModel favoriteFolder = restClient.withCoreAPI().usingAuthUser().getFavorite(folderModel.getNodeRef()); + restClient.assertStatusCodeIs(HttpStatus.OK); + favoriteFolder.assertThat().field("targetGuid").equals(folderModel.getNodeRef()); + + } + + @TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.SANITY, + description = "Verify consumer user gets favorite file with Rest API and status code is 200") + @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.SANITY }) + public void consumerIsAbleToRetrieveFavoriteFile() throws JsonToModelConversionException, Exception + { + restClient.authenticateUser(usersWithRoles.getOneUserWithRole(UserRole.SiteConsumer)); + restClient.withCoreAPI().usingAuthUser().addFileToFavorites(fileModel); + + RestPersonFavoritesModel favoriteFile = restClient.withCoreAPI().usingAuthUser().getFavorite(fileModel.getNodeRefWithoutVersion()); + restClient.assertStatusCodeIs(HttpStatus.OK); + favoriteFile.assertThat().field("targetGuid").equals(fileModel.getNodeRef()); + } + @TestRail(section = { TestGroup.REST_API, TestGroup.FAVORITES }, executionType = ExecutionType.SANITY, description = "Verify user doesn't get favorite site of another user with Rest API and status code is 404") @Test(groups = { TestGroup.REST_API, TestGroup.FAVORITES, TestGroup.SANITY }) @@ -181,7 +291,8 @@ public class GetFavoriteSanityTests extends RestTest UserModel siteManager = usersWithRoles.getOneUserWithRole(UserRole.SiteManager); siteManager.setPassword("wrongPassword"); restClient.authenticateUser(siteManager).withCoreAPI() - .usingUser(usersWithRoles.getOneUserWithRole(UserRole.SiteManager)).getFavorite(siteModel.getGuid()); + .usingUser(siteManager).getFavorite(siteModel.getGuid()); restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED).assertLastExceptionContains(HttpStatus.UNAUTHORIZED.toString()); } + } From 1ecb3ce9d2a1240908b8424c81b64dcaff9d795c Mon Sep 17 00:00:00 2001 From: Cristina Axinte Date: Mon, 9 Jan 2017 11:29:04 +0200 Subject: [PATCH 3/9] added 2 methods for verify entries order and added one full test for getPeople --- .../rest/people/GetPeopleFullTests.java | 27 +++++++++++++++++++ .../workflow/tasks/GetTasksCoreTests.java | 7 +++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java b/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java index 3f331268d..567f18584 100644 --- a/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java +++ b/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java @@ -43,6 +43,33 @@ public class GetPeopleFullTests extends RestTest .and().field("firstName").is(managerUser.getUsername() + " FirstName") .and().field("email").is(managerUser.getUsername() + domain) .and().field("emailNotificationsEnabled").is("true"); + } + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify entry details for get person response with Rest API") + public void checkResponseSchemaForGetPerson() throws Exception + { + RestPersonModel newUser = RestPersonModel.getRandomPersonModel("aspectNames", "avatarId", "statusUpdatedAt"); + newUser = restClient.authenticateUser(adminUser).withCoreAPI().usingAuthUser().createPerson(newUser); + restClient.assertStatusCodeIs(HttpStatus.CREATED); + + personModel = restClient.authenticateUser(userModel).withCoreAPI().usingUser(new UserModel(newUser.getId(), newUser.getPassword())).getPerson(); + restClient.assertStatusCodeIs(HttpStatus.OK); + + personModel.assertThat().field("id").is(newUser.getId()) + .and().field("firstName").is(newUser.getFirstName()) + .and().field("lastName").is(newUser.getLastName()) + .and().field("description").is(newUser.getDescription()) + .and().field("email").is(newUser.getEmail()) + .and().field("skypeId").is(newUser.getSkypeId()) + .and().field("googleId").is(newUser.getGoogleId()) + .and().field("instantMessageId").is(newUser.getInstantMessageId()) + .and().field("jobTitle").is(newUser.getJobTitle()) + .and().field("location").is(newUser.getLocation()) + .and().field("mobile").is(newUser.getMobile()) + .and().field("telephone").is(newUser.getTelephone()) + .and().field("userStatus").is(newUser.getUserStatus()) + .and().field("enabled").is(newUser.getEnabled()) + .and().field("emailNotificationsEnabled").is(newUser.getEmailNotificationsEnabled()); } } diff --git a/e2e-test/java/org/alfresco/rest/workflow/tasks/GetTasksCoreTests.java b/e2e-test/java/org/alfresco/rest/workflow/tasks/GetTasksCoreTests.java index a11d6ed21..c8136c971 100644 --- a/e2e-test/java/org/alfresco/rest/workflow/tasks/GetTasksCoreTests.java +++ b/e2e-test/java/org/alfresco/rest/workflow/tasks/GetTasksCoreTests.java @@ -57,9 +57,12 @@ public class GetTasksCoreTests extends RestTest @Test(groups = { TestGroup.REST_API, TestGroup.WORKFLOW, TestGroup.TASKS, TestGroup.CORE }) public void orderByParameterApplied() throws Exception { - taskModels = restClient.authenticateUser(dataUser.getAdminUser()).withParams("orderBy=id").withWorkflowAPI().getTasks(); + + + taskModels = restClient.authenticateUser(dataUser.getAdminUser()).withParams("orderBy=id DESC").withWorkflowAPI().getTasks(); restClient.assertStatusCodeIs(HttpStatus.OK); - taskModels.assertThat().entriesListIsNotEmpty(); + taskModels.assertThat().entriesListIsNotEmpty(). + and().entriesListIsSortedAscBy("id"); List tasksList = taskModels.getEntries(); List taskIds = new ArrayList(); for(RestTaskModel task: tasksList) From f4e597a7e5c393c5f19b75098e68057d4e3227cd Mon Sep 17 00:00:00 2001 From: Paul Brodner Date: Mon, 9 Jan 2017 12:40:49 +0200 Subject: [PATCH 4/9] add server health section: show tenants --- e2e-test/resources/default.properties | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/e2e-test/resources/default.properties b/e2e-test/resources/default.properties index c5f9b2139..39bdb7894 100644 --- a/e2e-test/resources/default.properties +++ b/e2e-test/resources/default.properties @@ -60,3 +60,8 @@ jmx.useJolokiaAgent=true db.url = jdbc:mysql://${alfresco.server}:3306/alfresco db.username = alfresco db.password = alfresco + +# Server Health section +# in ServerHealth#isServerReachable() - could also be shown. +# enable this option to view if on server there are tenants or not +serverHealth.showTenants=true From 66138a417ec6b03117acb670f770702e70c1dc18 Mon Sep 17 00:00:00 2001 From: Cristina Axinte Date: Mon, 9 Jan 2017 12:48:16 +0200 Subject: [PATCH 5/9] TAS-2610 new full test --- .../rest/people/GetPeopleFullTests.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java b/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java index 567f18584..8cdaada10 100644 --- a/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java +++ b/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java @@ -1,13 +1,16 @@ package org.alfresco.rest.people; import org.alfresco.rest.RestTest; +import org.alfresco.rest.model.RestErrorModel; import org.alfresco.rest.model.RestPersonModel; import org.alfresco.utility.constants.UserRole; +import org.alfresco.utility.data.RandomData; import org.alfresco.utility.model.SiteModel; import org.alfresco.utility.model.TestGroup; import org.alfresco.utility.model.UserModel; import org.alfresco.utility.testrail.ExecutionType; import org.alfresco.utility.testrail.annotation.TestRail; +import org.apache.commons.lang3.RandomStringUtils; import org.springframework.http.HttpStatus; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -72,4 +75,20 @@ public class GetPeopleFullTests extends RestTest .and().field("enabled").is(newUser.getEnabled()) .and().field("emailNotificationsEnabled").is(newUser.getEmailNotificationsEnabled()); } + + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user get a person with special chars in username with Rest API and response is not found") + public void userChecksIfPersonWithSpecilCharsInUsernameIsNotFound() throws Exception + { + UserModel managerUser = dataUser.usingAdmin().createRandomTestUser(); + dataUser.usingUser(userModel).addUserToSite(managerUser, siteModel, UserRole.SiteManager); + + UserModel userSpecialChars = dataUser.usingAdmin().createUser(RandomStringUtils.randomAlphabetic(2) + "~!@#$%^&*()_+[]{}|\\;':\",./<>", "password"); + //setting the encoded text for username + userSpecialChars.setUsername(RandomStringUtils.randomAlphabetic(2) + "~!%40%23%24%25%5E%26*()_%2B%5B%5D%7B%7D%7C%5C%3B%27%3A%22%2C.%2F%3C%3E"); + + personModel = restClient.authenticateUser(managerUser).withCoreAPI().usingUser(userSpecialChars).getPerson(); + restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND) + .assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, userSpecialChars.getUsername())); + } } From 10967424d941a872ebf426dca8b219458a57bac1 Mon Sep 17 00:00:00 2001 From: Paul Brodner Date: Mon, 9 Jan 2017 13:35:34 +0200 Subject: [PATCH 6/9] disabled testMangement by default --- e2e-test/resources/default.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e-test/resources/default.properties b/e2e-test/resources/default.properties index 39bdb7894..f5733caf1 100644 --- a/e2e-test/resources/default.properties +++ b/e2e-test/resources/default.properties @@ -22,7 +22,7 @@ admin.password=admin # testManagement.testRun= # testManagement.suiteId=23 (the id of the Master suite) # ------------------------------------------------------ -testManagement.enabled=true +testManagement.enabled=false testManagement.updateTestExecutionResultsOnly=true testManagement.endPoint=https://alfresco.testrail.com/ testManagement.username=tas.alfresco@gmail.com From 8d9e43d92c64f39f9004343e87e926d1ed2ec7d2 Mon Sep 17 00:00:00 2001 From: Cristina Axinte Date: Mon, 9 Jan 2017 16:37:39 +0200 Subject: [PATCH 7/9] TAS-2611, TAS-2612 added new full tests --- .../rest/people/GetPeopleFullTests.java | 42 ++++++++++++++----- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java b/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java index 8cdaada10..d365ebf42 100644 --- a/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java +++ b/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java @@ -1,16 +1,18 @@ package org.alfresco.rest.people; import org.alfresco.rest.RestTest; +import org.alfresco.rest.core.RestRequest; import org.alfresco.rest.model.RestErrorModel; import org.alfresco.rest.model.RestPersonModel; +import org.alfresco.rest.model.RestPersonModelsCollection; import org.alfresco.utility.constants.UserRole; -import org.alfresco.utility.data.RandomData; import org.alfresco.utility.model.SiteModel; import org.alfresco.utility.model.TestGroup; import org.alfresco.utility.model.UserModel; import org.alfresco.utility.testrail.ExecutionType; import org.alfresco.utility.testrail.annotation.TestRail; import org.apache.commons.lang3.RandomStringUtils; +import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -19,7 +21,7 @@ public class GetPeopleFullTests extends RestTest { UserModel userModel; SiteModel siteModel; - UserModel searchedUser; + UserModel searchedUser, managerUser; UserModel adminUser; private RestPersonModel personModel; private String domain = "@tas-automation.org"; @@ -31,15 +33,14 @@ public class GetPeopleFullTests extends RestTest userModel = dataUser.createRandomTestUser(); siteModel = dataSite.usingUser(userModel).createPublicRandomSite(); searchedUser = dataUser.createRandomTestUser(); + managerUser = dataUser.usingAdmin().createRandomTestUser(); + dataUser.usingUser(userModel).addUserToSite(managerUser, siteModel, UserRole.SiteManager); } @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL }) @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user gets person using '-me-' instead of personId with Rest API and response is successful") public void checkGetPersonIsSuccessfulForMe() throws Exception { - UserModel managerUser = dataUser.usingAdmin().createRandomTestUser(); - dataUser.usingUser(userModel).addUserToSite(managerUser, siteModel, UserRole.SiteManager); - personModel = restClient.authenticateUser(managerUser).withCoreAPI().usingMe().getPerson(); restClient.assertStatusCodeIs(HttpStatus.OK); personModel.assertThat().field("id").is(managerUser.getUsername()) @@ -77,12 +78,9 @@ public class GetPeopleFullTests extends RestTest } @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL }) - @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user get a person with special chars in username with Rest API and response is not found") + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user gets a person with special chars in username with Rest API and response is not found") public void userChecksIfPersonWithSpecilCharsInUsernameIsNotFound() throws Exception - { - UserModel managerUser = dataUser.usingAdmin().createRandomTestUser(); - dataUser.usingUser(userModel).addUserToSite(managerUser, siteModel, UserRole.SiteManager); - + { UserModel userSpecialChars = dataUser.usingAdmin().createUser(RandomStringUtils.randomAlphabetic(2) + "~!@#$%^&*()_+[]{}|\\;':\",./<>", "password"); //setting the encoded text for username userSpecialChars.setUsername(RandomStringUtils.randomAlphabetic(2) + "~!%40%23%24%25%5E%26*()_%2B%5B%5D%7B%7D%7C%5C%3B%27%3A%22%2C.%2F%3C%3E"); @@ -91,4 +89,28 @@ public class GetPeopleFullTests extends RestTest restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND) .assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, userSpecialChars.getUsername())); } + + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user gets a person with empty personId with Rest API and response is successful") + public void userGetPersonWithEmptyPersonId() throws Exception + { + restClient.authenticateUser(managerUser).withCoreAPI(); + RestRequest request = RestRequest.simpleRequest(HttpMethod.GET, "people/{personId}?{parameters}", "", restClient.getParameters()); + RestPersonModelsCollection persons = restClient.processModels(RestPersonModelsCollection.class, request); + restClient.assertStatusCodeIs(HttpStatus.OK); + persons.assertThat().entriesListIsNotEmpty(); + } + + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify manager user gets a person with Rest API and response is successful") + public void managerUserChecksIfPersonIsPresent() throws Exception + { + personModel = restClient.authenticateUser(managerUser).withCoreAPI().usingUser(adminUser).getPerson(); + restClient.assertStatusCodeIs(HttpStatus.OK); + personModel.assertThat().field("id").is(adminUser.getUsername()) + .and().field("firstName").is("Administrator") + .and().field("email").is("admin@alfresco.com") + .and().field("emailNotificationsEnabled").is("true") + .and().field("enabled").is("true"); + } } From 7b800f1b8fcbd8423209c14e051d94e5da75a380 Mon Sep 17 00:00:00 2001 From: Cristina Axinte Date: Mon, 9 Jan 2017 16:54:22 +0200 Subject: [PATCH 8/9] updates on existing tests --- .../org/alfresco/rest/people/GetPeopleFullTests.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java b/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java index d365ebf42..411260b41 100644 --- a/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java +++ b/e2e-test/java/org/alfresco/rest/people/GetPeopleFullTests.java @@ -87,7 +87,10 @@ public class GetPeopleFullTests extends RestTest personModel = restClient.authenticateUser(managerUser).withCoreAPI().usingUser(userSpecialChars).getPerson(); restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND) - .assertLastError().containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, userSpecialChars.getUsername())); + .assertLastError().containsErrorKey(RestErrorModel.ENTITY_NOT_FOUND_ERRORKEY) + .containsSummary(String.format(RestErrorModel.ENTITY_NOT_FOUND, userSpecialChars.getUsername())) + .descriptionURLIs(RestErrorModel.RESTAPIEXPLORER) + .stackTraceIs(RestErrorModel.STACKTRACE); } @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL }) @@ -101,9 +104,9 @@ public class GetPeopleFullTests extends RestTest persons.assertThat().entriesListIsNotEmpty(); } - @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.SANITY }) - @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.SANITY, description = "Verify manager user gets a person with Rest API and response is successful") - public void managerUserChecksIfPersonIsPresent() throws Exception + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.FULL }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user gets admin user with Rest API and response is successful") + public void managerUserGetAdminPerson() throws Exception { personModel = restClient.authenticateUser(managerUser).withCoreAPI().usingUser(adminUser).getPerson(); restClient.assertStatusCodeIs(HttpStatus.OK); From 9e3d50128608b75f282efd9aed0f6ec49369972b Mon Sep 17 00:00:00 2001 From: Cristina Axinte Date: Mon, 9 Jan 2017 17:27:58 +0200 Subject: [PATCH 9/9] TAS-2745 added core tests for GetPeople --- .../rest/people/GetPeopleCoreTests.java | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 e2e-test/java/org/alfresco/rest/people/GetPeopleCoreTests.java diff --git a/e2e-test/java/org/alfresco/rest/people/GetPeopleCoreTests.java b/e2e-test/java/org/alfresco/rest/people/GetPeopleCoreTests.java new file mode 100644 index 000000000..c1ef69a85 --- /dev/null +++ b/e2e-test/java/org/alfresco/rest/people/GetPeopleCoreTests.java @@ -0,0 +1,58 @@ +package org.alfresco.rest.people; + +import org.alfresco.rest.RestTest; +import org.alfresco.rest.model.RestErrorModel; +import org.alfresco.rest.model.RestPersonModel; +import org.alfresco.utility.constants.UserRole; +import org.alfresco.utility.model.SiteModel; +import org.alfresco.utility.model.TestGroup; +import org.alfresco.utility.model.UserModel; +import org.alfresco.utility.testrail.ExecutionType; +import org.alfresco.utility.testrail.annotation.TestRail; +import org.springframework.http.HttpStatus; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + +/** + * + * @author Cristina Axinte + * + */ +public class GetPeopleCoreTests extends RestTest +{ + UserModel userModel; + SiteModel siteModel; + UserModel searchedUser; + UserModel adminUser, managerUser; + UserModel inexistentUser; + + @BeforeClass(alwaysRun = true) + public void dataPreparation() throws Exception + { + adminUser = dataUser.getAdminUser(); + userModel = dataUser.createRandomTestUser(); + siteModel = dataSite.usingUser(userModel).createPublicRandomSite(); + searchedUser = dataUser.createRandomTestUser(); + managerUser = dataUser.usingAdmin().createRandomTestUser(); + dataUser.usingUser(userModel).addUserToSite(managerUser, siteModel, UserRole.SiteManager); + inexistentUser = new UserModel("inexistentUser", "password"); + } + + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify inexistent user cannot get a person with Rest API and response is 401") + public void inexistentUserIsUnauthorizedToGetPerson() throws Exception + { + restClient.authenticateUser(inexistentUser).withCoreAPI().usingUser(searchedUser).getPerson(); + restClient.assertStatusCodeIs(HttpStatus.UNAUTHORIZED); + restClient.assertLastError().containsSummary(RestErrorModel.AUTHENTICATION_FAILED); + } + + @Test(groups = { TestGroup.REST_API, TestGroup.PEOPLE, TestGroup.CORE }) + @TestRail(section = { TestGroup.REST_API, TestGroup.PEOPLE }, executionType = ExecutionType.REGRESSION, description = "Verify user cannot get a person that doesn't exists with Rest API and response is 404") + public void userCannotGetInexistentPerson() throws Exception + { + restClient.authenticateUser(managerUser).withCoreAPI().usingUser(inexistentUser).getPerson(); + restClient.assertStatusCodeIs(HttpStatus.NOT_FOUND); + restClient.assertLastError().containsSummary(String.format(inexistentUser.getUsername(), RestErrorModel.ENTITY_NOT_FOUND)); + } +}