diff --git a/src/main/java/it/inaf/oats/vospace/CreateNodeController.java b/src/main/java/it/inaf/oats/vospace/CreateNodeController.java index cab8451e4991a2d12408d673e8420b5568645af5..eaa9306ad66e43f8b5a2df0620decbbdab19efc2 100644 --- a/src/main/java/it/inaf/oats/vospace/CreateNodeController.java +++ b/src/main/java/it/inaf/oats/vospace/CreateNodeController.java @@ -69,14 +69,14 @@ public class CreateNodeController extends BaseNodeController { || !nodeOwner.get(0).equals(principal.getName())) { // Node owner check has failed: let's check if user can write // due to group privileges - + List<String> userGroups = principal.getGroups(); // If the user doesn't belong to any groups throw exception if (userGroups == null || userGroups.isEmpty()) { throw new PermissionDeniedException(path); - } - + } + List<String> groupWritePropValues = getNodePropertyByURI(parentNode, "ivo://ivoa.net/vospace/core#groupwrite"); @@ -98,6 +98,8 @@ public class CreateNodeController extends BaseNodeController { } + nodeDao.createNode(node); + return node; } @@ -141,7 +143,6 @@ public class CreateNodeController extends BaseNodeController { StringBuilder sb = new StringBuilder(); sb.append("/"); - System.out.println(parsedPath.length); for (int i = 1; i < parsedPath.length - 1; i++) { sb.append(parsedPath[i]); if (i < parsedPath.length - 2) { diff --git a/src/test/java/it/inaf/oats/vospace/CreateNodeControllerTest.java b/src/test/java/it/inaf/oats/vospace/CreateNodeControllerTest.java index cdb11061fba6d4efcdbfebbb559bacaf72d5a1f4..ab2dd4463749d0c294ccf5c25b5f79fe97c28f84 100644 --- a/src/test/java/it/inaf/oats/vospace/CreateNodeControllerTest.java +++ b/src/test/java/it/inaf/oats/vospace/CreateNodeControllerTest.java @@ -59,18 +59,17 @@ public class CreateNodeControllerTest { parentNode.setProperties(List.of(groups)); return parentNode; } - - private ContainerNode getContainerParentNodeWithCreator(String path){ + + private ContainerNode getContainerParentNodeWithCreator(String path) { ContainerNode parentNode = new ContainerNode(); // Set parent node address at / parentNode.setUri("vos://example.com!vospace" + path); Property creator = new Property(); creator.setUri("ivo://ivoa.net/vospace/core#creator"); - creator.setValue("user2"); + creator.setValue("user2"); parentNode.setProperties(List.of(creator)); return parentNode; } - private LinkNode getLinkParentNode(String path) { LinkNode parentNode = new LinkNode(); @@ -125,6 +124,7 @@ public class CreateNodeControllerTest { .andExpect(status().isOk()); verifyArguments(); + verify(nodeDao, times(1)).createNode(any()); } @Test @@ -143,6 +143,7 @@ public class CreateNodeControllerTest { .andExpect(status().isOk()); verifyArguments(); + verify(nodeDao, times(1)).createNode(any()); } @Test @@ -161,6 +162,7 @@ public class CreateNodeControllerTest { .andExpect(status().isOk()); verifyArguments(); + verify(nodeDao, times(1)).createNode(any()); } @Test @@ -272,8 +274,9 @@ public class CreateNodeControllerTest { .andExpect(status().is2xxSuccessful()); verifyArguments(); + verify(nodeDao, times(1)).createNode(any()); } - + @Test public void testSubPath() throws Exception { @@ -290,9 +293,9 @@ public class CreateNodeControllerTest { // Using ArgumentCaptor for verifying multiple method invocations ArgumentCaptor<String> argCaptor = ArgumentCaptor.forClass(String.class); - + verify(nodeDao, times(2)).listNode(argCaptor.capture()); - + assertEquals("/mydata1/anothernode", argCaptor.getAllValues().get(0)); assertEquals("/mydata1", argCaptor.getAllValues().get(1)); }