From ac65cc9fa38f11ca50b0dcf6561f13d9d66e03ac Mon Sep 17 00:00:00 2001
From: Sonia Zorba <sonia.zorba@inaf.it>
Date: Mon, 18 Jan 2021 13:27:46 +0100
Subject: [PATCH] Called nodeDao.createNode() from CreateNodeController

---
 .../inaf/oats/vospace/CreateNodeController.java |  9 +++++----
 .../oats/vospace/CreateNodeControllerTest.java  | 17 ++++++++++-------
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/src/main/java/it/inaf/oats/vospace/CreateNodeController.java b/src/main/java/it/inaf/oats/vospace/CreateNodeController.java
index cab8451..eaa9306 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 cdb1106..ab2dd44 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));
     }
-- 
GitLab