package org.alfresco.rest.renditions; import static org.alfresco.utility.report.log.Step.STEP; import org.alfresco.rest.RestTest; import org.alfresco.rest.model.RestNodeModel; import org.alfresco.rest.model.RestRenditionInfoModel; import org.alfresco.utility.Utility; 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.report.Bug; import org.alfresco.utility.report.Bug.Status; 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; /** * Handles tests related to GET api-explorer/#!/renditions * @author Cristina Axinte * */ public class GetRenditionTests extends RestTest { private UserModel user; private SiteModel site; @BeforeClass(alwaysRun = true) public void dataPreparation() throws Exception { user = dataUser.createRandomTestUser(); site = dataSite.usingUser(user).createPublicRandomSite(); } @Bug(id = "REPO-2449", status = Status.FIXED) @Test(groups = { TestGroup.REST_API, TestGroup.RENDITIONS, TestGroup.SANITY }) @TestRail(section = { TestGroup.REST_API, TestGroup.RENDITIONS }, executionType = ExecutionType.SANITY, description = "Verify that ZIP document preview is rendered") public void verifyPreviewOfZipFile() throws Exception { STEP("1. Create a folder in existing site"); FolderModel folder = FolderModel.getRandomFolderModel(); folder = dataContent.usingUser(user).usingSite(site).createFolder(folder); STEP("2. Upload a local ZIP file using RESTAPI"); restClient.authenticateUser(user).configureRequestSpec().addMultiPart("filedata", Utility.getResourceTestDataFile("content-zip-test.zip")); RestNodeModel fileNode = restClient.authenticateUser(user).withCoreAPI().usingNode(folder).createNode(); restClient.assertStatusCodeIs(HttpStatus.CREATED); FileModel file = new FileModel("content-zip-test.zip"); file.setCmisLocation(folder.getCmisLocation() + "/content-zip-test.zip"); file.setNodeRef(fileNode.getId()); STEP("3. Create preview of ZIP file using RESTAPI"); restClient.withCoreAPI().usingNode(file).createNodeRendition("pdf"); restClient.assertStatusCodeIs(HttpStatus.ACCEPTED); STEP("4. Verify preview of ZIP file is created using RESTAPI"); RestRenditionInfoModel renditionInfo = restClient.withCoreAPI().usingNode(file).getNodeRenditionUntilIsCreated("pdf"); restClient.assertStatusCodeIs(HttpStatus.OK); renditionInfo.assertThat().field("status").is("CREATED"); } @Bug(id = "REPO-2485", status = Status.FIXED) @Test(groups = { TestGroup.REST_API, TestGroup.RENDITIONS, TestGroup.SANITY }) @TestRail(section = { TestGroup.REST_API, TestGroup.RENDITIONS }, executionType = ExecutionType.SANITY, description = "Verify that ZIP document thumbnail is rendered") public void verifyThumbnailOfZipFile() throws Exception { STEP("1. Create a folder in existing site"); FolderModel folder = FolderModel.getRandomFolderModel(); folder = dataContent.usingUser(user).usingSite(site).createFolder(folder); STEP("2. Upload a local ZIP file using RESTAPI"); restClient.authenticateUser(user).configureRequestSpec().addMultiPart("filedata", Utility.getResourceTestDataFile("content-zip-test.zip")); RestNodeModel fileNode = restClient.authenticateUser(user).withCoreAPI().usingNode(folder).createNode(); restClient.assertStatusCodeIs(HttpStatus.CREATED); FileModel file = new FileModel("content-zip-test.zip"); file.setCmisLocation(folder.getCmisLocation() + "/content-zip-test.zip"); file.setNodeRef(fileNode.getId()); STEP("3. Create thumbnail of ZIP file using RESTAPI"); restClient.withCoreAPI().usingNode(file).createNodeRendition("doclib"); restClient.assertStatusCodeIs(HttpStatus.ACCEPTED); STEP("4. Verify thumbnail of ZIP file is created and has content using RESTAPI"); RestRenditionInfoModel renditionInfo = restClient.withCoreAPI().usingNode(file).getNodeRenditionUntilIsCreated("doclib"); restClient.assertStatusCodeIs(HttpStatus.OK); renditionInfo.assertThat().field("status").is("CREATED"); renditionInfo.assertThat().field("content.sizeInBytes").isGreaterThan(120); } }