diff --git a/source/test-java/org/alfresco/rest/api/tests/NodeApiTest.java b/source/test-java/org/alfresco/rest/api/tests/NodeApiTest.java index e142993172..db6e709b1b 100644 --- a/source/test-java/org/alfresco/rest/api/tests/NodeApiTest.java +++ b/source/test-java/org/alfresco/rest/api/tests/NodeApiTest.java @@ -427,12 +427,12 @@ public class NodeApiTest extends AbstractBaseApiTest } /** - * Tests get node with path information. + * Tests get node information. *

GET:

- * {@literal :/alfresco/api/-default-/public/alfresco/versions/1/nodes/?select=path} + * {@literal :/alfresco/api/-default-/public/alfresco/versions/1/nodes/} */ @Test - public void testGetPathElements_MyFiles() throws Exception + public void testGetNodeInfo() throws Exception { AuthenticationUtil.setFullyAuthenticatedUser(user1); HttpResponse response = getSingle(NodesEntityResource.class, user1, Nodes.PATH_MY, null, 200); @@ -450,20 +450,71 @@ public class NodeApiTest extends AbstractBaseApiTest String folderB = "folder" + System.currentTimeMillis() + "_B"; NodeRef folderB_Ref = repoService.createFolder(folderA_Ref, folderB); - // /Company Home/User Homes/user/folder_A/folder_B/folder_C - String folderC = "folder" + System.currentTimeMillis() + "_C"; - NodeRef folderC_Ref = repoService.createFolder(folderB_Ref, folderC); + // /Company Home/User Homes/user/folder_A/folder_B/content + String content = "content" + System.currentTimeMillis(); + NodeRef contentNodeRef = repoService.createDocument(folderB_Ref, content, "The quick brown fox jumps over the lazy dog."); + // Add property + repoService.nodeService.setProperty(contentNodeRef, ContentModel.PROP_TITLE, "test title"); - //...nodes/nodeId?select=pathInfo + // get node info + response = getSingle(NodesEntityResource.class, user1, contentNodeRef.getId(), null, 200); + Document document = jacksonUtil.parseEntry(response.getJsonResponse(), Document.class); + // Check all the default info the node API should return + assertEquals(content, document.getName()); + assertNotNull(document.getId()); + assertNotNull(document.getCreatedAt()); + assertNotNull(document.getCreatedByUser()); + UserInfo createdByUser = document.getCreatedByUser(); + assertEquals(user1, createdByUser.getId()); + assertEquals(user1 + " " + user1, createdByUser.getDisplayName()); + assertNotNull(document.getModifiedAt()); + assertNotNull(document.getModifiedByUser()); + UserInfo modifiedByUser = document.getModifiedByUser(); + assertEquals(user1, modifiedByUser.getId()); + assertEquals(user1 + " " + user1, modifiedByUser.getDisplayName()); + assertFalse(document.getIsFolder()); + assertNull(document.getIsLink()); + assertEquals("cm:content", document.getNodeType()); + assertNotNull(document.getParentId()); + assertNotNull(document.getProperties()); + assertTrue(document.getProperties().containsKey("cm:title")); + assertNotNull(document.getAspectNames()); + assertTrue(document.getAspectNames().contains("cm:titled")); + ContentInfo contentInfo = document.getContent(); + assertNotNull(contentInfo); + assertNotNull(contentInfo.getEncoding()); + assertTrue(contentInfo.getSizeInBytes() > 0); + assertNotNull(contentInfo.getMimeType()); + assertNotNull(contentInfo.getMimeTypeName()); + // Path is not part of the default info + assertNull(document.getPath()); + + // get node info + path + //...nodes/nodeId?select=path Map params = Collections.singletonMap("select", "path"); - response = getSingle(NodesEntityResource.class, user1, folderC_Ref.getId(), params, 200); - node = jacksonUtil.parseEntry(response.getJsonResponse(), Node.class); - PathInfo pathInfo = node.getPath(); + response = getSingle(NodesEntityResource.class, user1, contentNodeRef.getId(), params, 200); + document = jacksonUtil.parseEntry(response.getJsonResponse(), Document.class); + // default info + assertEquals(content, document.getName()); + assertNotNull(document.getId()); + assertNotNull(document.getCreatedAt()); + assertNotNull(document.getCreatedByUser()); + assertNotNull(document.getModifiedAt()); + assertNotNull(document.getModifiedByUser()); + assertFalse(document.getIsFolder()); + assertNull(document.getIsLink()); + assertEquals("cm:content", document.getNodeType()); + assertNotNull(document.getParentId()); + assertNotNull(document.getProperties()); + assertNotNull(document.getAspectNames()); + assertNotNull(document.getContent()); + // Path info + PathInfo pathInfo = document.getPath(); assertNotNull(pathInfo); assertTrue(pathInfo.getIsComplete()); assertNotNull(pathInfo.getName()); // the pathInfo should only include the parents (not the requested node) - assertFalse(pathInfo.getName().endsWith(folderC)); + assertFalse(pathInfo.getName().endsWith(content)); assertTrue(pathInfo.getName().startsWith("/Company Home")); List pathElements = pathInfo.getElements(); assertEquals(5, pathElements.size());