Skip to content
Snippets Groups Projects
Commit 7f5eae2d authored by Nicola Fulvio Calabria's avatar Nicola Fulvio Calabria
Browse files

Fixed parent of /test2 children in test-data.sql + added stubs for

deleteNode method and utility method in NodeDAO
parent ecc7ab5f
No related branches found
No related tags found
No related merge requests found
Pipeline #933 passed
......@@ -181,6 +181,38 @@ public class NodeDAO {
return node;
}
// just a stub
public void deleteNode(String path)
{
int nodesWithPath = countNodesWithPath(path);
if(nodesWithPath == 0)
{
throw new IllegalStateException("Node at path "
+ path + " not found");
}
if(nodesWithPath > 1)
{
throw new IllegalStateException("Multiple nodes at path " + path);
}
// Complete stub...
}
// utility method for deleteNode
public int countNodesWithPath(String path)
{
String sql = "SELECT COUNT(*) from "
+ "node_vos_path p "
+ "where p.vos_path = ?";
Object[] args = {path};
int[] types = {Types.VARCHAR};
return jdbcTemplate.queryForObject(sql, args, types, Integer.class);
}
private String getPropertyURI(String propertyName) {
return "ivo://ivoa.net/vospace/core#".concat(propertyName);
}
......
......@@ -9,6 +9,7 @@ import net.ivoa.xml.vospace.v2.Node;
import net.ivoa.xml.vospace.v2.Property;
import net.ivoa.xml.vospace.v2.View;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
......@@ -56,6 +57,28 @@ public class NodeDAOTest {
assertEquals("group1 group2", getProperty(root.getNodes().get(0), "ivo://ivoa.net/vospace/core#groupread"));
}
@Test
public void testCountNodeWithPath() {
assertEquals(1, dao.countNodesWithPath("/"));
assertEquals(1, dao.countNodesWithPath("/test1"), "Test db has been changed");
assertEquals(1, dao.countNodesWithPath("/test1/f1"), "Test db has been changed");
assertEquals(1, dao.countNodesWithPath("/test1/f1/f2_renamed"), "Test db has been changed");
assertEquals(1, dao.countNodesWithPath("/test1/f1/f2_renamed/f3"), "Test db has been changed");
assertEquals(1, dao.countNodesWithPath("/test2"), "Test db has been changed");
assertEquals(1, dao.countNodesWithPath("/test2/f4"));
assertEquals(1, dao.countNodesWithPath("/test2/f5"));
assertEquals(0, dao.countNodesWithPath("/pippooo"));
}
// Test stub
//@Test
public void testDeleteNode() {
}
private String getProperty(Node node, String uri) {
for (Property property : node.getProperties()) {
if (uri.equals(property.getUri())) {
......
......@@ -8,9 +8,9 @@ INSERT INTO node (parent_path, parent_relative_path, name, type, owner_id, creat
INSERT INTO node (parent_path, parent_relative_path, name, os_name, type, owner_id, creator_id) VALUES ('2.3', '3', 'f2_renamed', 'f2', 'container', 'user1', 'user1'); -- /test1/f1/f2_renamed (rel: /f1/f2)
INSERT INTO node (parent_path, parent_relative_path, name, type, owner_id, creator_id) VALUES ('2.3.4', '3.4', 'f3', 'data', 'user1', 'user1'); -- /test1/f1/f2_renamed/f3 (rel: /f1/f2/f3)
INSERT INTO node (parent_path, parent_relative_path, name, type, owner_id, creator_id, is_public) VALUES ('', NULL, 'test2', 'container', 'user2', 'user2', true); -- /test2
INSERT INTO node (parent_path, parent_relative_path, name, type, owner_id, creator_id, is_public) VALUES ('5', '', 'f4', 'container', 'user2', 'user2', true); -- /test2/f4 (rel: /f4)
INSERT INTO node (parent_path, parent_relative_path, name, type, owner_id, creator_id, is_public) VALUES ('5', '', 'f5', 'container', 'user2', 'user2', true); -- /test2/f5 (rel: /f5)
INSERT INTO node (parent_path, parent_relative_path, name, type, owner_id, creator_id/*, is_public*/) VALUES ('', NULL, 'test2', 'container', 'user2', 'user2'/*, true*/); -- /test2
INSERT INTO node (parent_path, parent_relative_path, name, type, owner_id, creator_id/*, is_public*/) VALUES ('6', '', 'f4', 'container', 'user2', 'user2'/*, true*/); -- /test2/f4 (rel: /f4)
INSERT INTO node (parent_path, parent_relative_path, name, type, owner_id, creator_id/*, is_public*/) VALUES ('6', '', 'f5', 'container', 'user2', 'user2'/*, true*/); -- /test2/f5 (rel: /f5)
DELETE FROM job;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment