From 8276ec0512fcdadb62bada9b493737832571b025 Mon Sep 17 00:00:00 2001 From: Paul Brodner Date: Thu, 5 Jan 2017 15:39:25 +0200 Subject: [PATCH 1/2] test: add tests for createNode (file/folder) using JSON and multipart form data (TAS-2320) --- .../rest/nodes/NodesChildrenTests.java | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 e2e-test/java/org/alfresco/rest/nodes/NodesChildrenTests.java diff --git a/e2e-test/java/org/alfresco/rest/nodes/NodesChildrenTests.java b/e2e-test/java/org/alfresco/rest/nodes/NodesChildrenTests.java new file mode 100644 index 000000000..bd46bfe2c --- /dev/null +++ b/e2e-test/java/org/alfresco/rest/nodes/NodesChildrenTests.java @@ -0,0 +1,58 @@ +package org.alfresco.rest.nodes; + +import org.alfresco.rest.RestTest; +import org.alfresco.rest.model.RestNodeBodyModel; +import org.alfresco.rest.model.RestNodeModel; +import org.alfresco.utility.Utility; +import org.alfresco.utility.model.ContentModel; +import org.alfresco.utility.model.TestGroup; +import org.alfresco.utility.testrail.ExecutionType; +import org.alfresco.utility.testrail.annotation.TestRail; +import org.springframework.http.HttpStatus; +import org.testng.annotations.Test; + +/** + * Handles tests related to api-explorer/#!/nodes/children + */ +public class NodesChildrenTests extends RestTest +{ + @TestRail(section = { TestGroup.REST_API,TestGroup.NODES }, executionType = ExecutionType.SANITY, + description = "Verify new folder node is created as children on -my- posting as JSON content type") + @Test(groups = { TestGroup.REST_API, TestGroup.NODES, TestGroup.SANITY}) + public void createNewFolderNodeViaJason() throws Exception + { + restClient.authenticateUser(dataContent.getAdminUser()); + + RestNodeBodyModel node = new RestNodeBodyModel(); + node.setName("My Folder"); + node.setNodeType("cm:folder"); + + RestNodeModel newNode = restClient.withParams("autoRename=true").withCoreAPI().usingNode(ContentModel.my()).createNode(node); + restClient.assertStatusCodeIs(HttpStatus.CREATED); + + newNode.assertThat().field("aspectNames").contains("cm:auditable") + .assertThat().field("isFolder").is(true) + .assertThat().field("isFile").is(false) + .assertThat().field("name").contains(node.getName()); + } + + @TestRail(section = { TestGroup.REST_API,TestGroup.NODES }, executionType = ExecutionType.SANITY, + description = "Verify new folder node is created as children on -my- posting as MultiPart content type") + @Test(groups = { TestGroup.REST_API, TestGroup.NODES, TestGroup.SANITY}) + public void createNewFolderNodeWithMultiPartForms() throws Exception + { + //configuring multipart form + restClient.authenticateUser(dataContent.getAdminUser()) + .configureRequestSpec() + .addMultiPart("filedata", Utility.getResourceTestDataFile("restapi-resource")) + .addFormParam("renditions", "doclib") + .addFormParam("autoRename", true); + + RestNodeModel newNode = restClient.withCoreAPI().usingNode(ContentModel.my()).createNode(); + restClient.assertStatusCodeIs(HttpStatus.CREATED); + newNode.assertThat().field("aspectNames").contains("cm:auditable") + .assertThat().field("isFolder").is(false) + .assertThat().field("isFile").is(true) + .assertThat().field("name").contains("restapi-resource"); + } +} From 5fb7537a453cf821d8af5fcc1e7b4c2c8d9b434c Mon Sep 17 00:00:00 2001 From: Paul Brodner Date: Thu, 5 Jan 2017 15:40:16 +0200 Subject: [PATCH 2/2] core: update RestAuthAPI to use configureRequestSpec builder --- e2e-test/java/org/alfresco/rest/auth/AuthTests.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e-test/java/org/alfresco/rest/auth/AuthTests.java b/e2e-test/java/org/alfresco/rest/auth/AuthTests.java index 23a8c0bff..ac7ab3a86 100644 --- a/e2e-test/java/org/alfresco/rest/auth/AuthTests.java +++ b/e2e-test/java/org/alfresco/rest/auth/AuthTests.java @@ -20,7 +20,7 @@ public class AuthTests extends RestTest ticketBody.setUserId("admin"); ticketBody.setPassword("admin"); - RestTicketModel ticketReturned = restClient.withAuthAPI().createTicket(ticketBody); + RestTicketModel ticketReturned = restClient.authenticateUser(dataContent.getAdminUser()).withAuthAPI().createTicket(ticketBody); restClient.assertStatusCodeIs(HttpStatus.CREATED); ticketReturned.assertThat().field("id").contains("TICKET_");