Loading src/test/java/it/inaf/oats/vospace/ListNodeControllerTest.java +39 −0 Original line number Diff line number Diff line package it.inaf.oats.vospace; import com.fasterxml.jackson.databind.ObjectMapper; import static it.inaf.oats.vospace.VOSpaceXmlTestUtil.loadDocument; import it.inaf.oats.vospace.datamodel.NodeProperties; import it.inaf.oats.vospace.persistence.NodeDAO; Loading Loading @@ -35,6 +36,8 @@ public class ListNodeControllerTest { private static final String URI_PREFIX = "vos://example.com!vospace"; private static final ObjectMapper MAPPER = new ObjectMapper(); @MockBean private NodeDAO dao; Loading Loading @@ -108,6 +111,42 @@ public class ListNodeControllerTest { .andExpect(status().is2xxSuccessful()); } //@Test public void testListOnlyReadableChildren() throws Exception { ContainerNode node = new ContainerNode(); node.setUri(URI_PREFIX + "/mynode"); Property creator = new Property(); creator.setUri(NodeProperties.CREATOR_URI); creator.setValue("user1"); node.getProperties().add(creator); // hidden node Node child1 = getDataNodeByOwnership("user2", "group5"); child1.setUri(URI_PREFIX + "/mynode/child1"); node.getNodes().add(child1); // visible node Node child2 = getDataNodeByOwnership("user1", "group1"); child2.setUri(URI_PREFIX + "/mynode/child2"); node.getNodes().add(child2); assertEquals(2, node.getNodes().size()); when(dao.listNode(eq("/mynode"))).thenReturn(Optional.of(node)); String response = mockMvc.perform(get("/nodes/mynode") .header("Authorization", "Bearer user1_token") .accept(MediaType.APPLICATION_JSON)) .andExpect(status().is2xxSuccessful()) .andReturn().getResponse().getContentAsString(); ContainerNode result = MAPPER.readValue(response, ContainerNode.class); assertEquals(1, result.getNodes().size()); assertEquals(URI_PREFIX + "/mynode/child2", result.getNodes().get(0).getUri()); } private Optional<Node> getRootNode() { ContainerNode root = new ContainerNode(); root.setUri(URI_PREFIX + "/"); Loading Loading
src/test/java/it/inaf/oats/vospace/ListNodeControllerTest.java +39 −0 Original line number Diff line number Diff line package it.inaf.oats.vospace; import com.fasterxml.jackson.databind.ObjectMapper; import static it.inaf.oats.vospace.VOSpaceXmlTestUtil.loadDocument; import it.inaf.oats.vospace.datamodel.NodeProperties; import it.inaf.oats.vospace.persistence.NodeDAO; Loading Loading @@ -35,6 +36,8 @@ public class ListNodeControllerTest { private static final String URI_PREFIX = "vos://example.com!vospace"; private static final ObjectMapper MAPPER = new ObjectMapper(); @MockBean private NodeDAO dao; Loading Loading @@ -108,6 +111,42 @@ public class ListNodeControllerTest { .andExpect(status().is2xxSuccessful()); } //@Test public void testListOnlyReadableChildren() throws Exception { ContainerNode node = new ContainerNode(); node.setUri(URI_PREFIX + "/mynode"); Property creator = new Property(); creator.setUri(NodeProperties.CREATOR_URI); creator.setValue("user1"); node.getProperties().add(creator); // hidden node Node child1 = getDataNodeByOwnership("user2", "group5"); child1.setUri(URI_PREFIX + "/mynode/child1"); node.getNodes().add(child1); // visible node Node child2 = getDataNodeByOwnership("user1", "group1"); child2.setUri(URI_PREFIX + "/mynode/child2"); node.getNodes().add(child2); assertEquals(2, node.getNodes().size()); when(dao.listNode(eq("/mynode"))).thenReturn(Optional.of(node)); String response = mockMvc.perform(get("/nodes/mynode") .header("Authorization", "Bearer user1_token") .accept(MediaType.APPLICATION_JSON)) .andExpect(status().is2xxSuccessful()) .andReturn().getResponse().getContentAsString(); ContainerNode result = MAPPER.readValue(response, ContainerNode.class); assertEquals(1, result.getNodes().size()); assertEquals(URI_PREFIX + "/mynode/child2", result.getNodes().get(0).getUri()); } private Optional<Node> getRootNode() { ContainerNode root = new ContainerNode(); root.setUri(URI_PREFIX + "/"); Loading