diff --git a/source/java/org/alfresco/rest/api/impl/NodesImpl.java b/source/java/org/alfresco/rest/api/impl/NodesImpl.java index f96b19000f..94b227c6f9 100644 --- a/source/java/org/alfresco/rest/api/impl/NodesImpl.java +++ b/source/java/org/alfresco/rest/api/impl/NodesImpl.java @@ -1243,8 +1243,8 @@ public class NodesImpl implements Nodes if (! currentParentNodeRef.equals(parentNodeRef)) { - // move/rename - with exception mapping - moveOrCopy(nodeRef, parentNodeRef, name, false); + //moveOrCopy(nodeRef, parentNodeRef, name, false); // not currently supported - client should use explicit POST /move operation instead + throw new InvalidArgumentException("Cannot update parentId of "+nodeId+" via PUT /nodes/{nodeId}. Please use explicit POST /nodes/{nodeId}/move operation instead"); } } 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 4e35b4805a..b8c1321a2d 100644 --- a/source/test-java/org/alfresco/rest/api/tests/NodeApiTest.java +++ b/source/test-java/org/alfresco/rest/api/tests/NodeApiTest.java @@ -1066,6 +1066,10 @@ public class NodeApiTest extends AbstractBaseApiTest *
PUT:
* {@literalPUT:
@@ -1772,6 +1777,20 @@ public class NodeApiTest extends AbstractBaseApiTest fUpdate = new Folder(); fUpdate.setNodeType("cm:folder"); put("nodes", user1, fId, toJsonAsStringNonNull(fUpdate), null, 400); + + // -ve test - try to move to a different parent using PUT (note: should use new POST /nodes/{nodeId}/move operation instead) + + folderResp = createFolder(user1, myNodeId, "folder 2"); + String f2Id = folderResp.getId(); + + fUpdate = new Folder(); + fUpdate.setParentId(f2Id); + put("nodes", user1, fId, toJsonAsStringNonNull(fUpdate), null, 400); + + // ok - if parent does not change + fUpdate = new Folder(); + fUpdate.setParentId(myNodeId); + put("nodes", user1, fId, toJsonAsStringNonNull(fUpdate), null, 200); } /** @@ -1895,8 +1914,6 @@ public class NodeApiTest extends AbstractBaseApiTest assertNotNull(content, response.getResponse()); } - // TODO add test to create multiple folders & empty files (within same parent folder) - /** * Tests download of file/content. *GET: