Skip to content
Snippets Groups Projects
Commit 732a7ded authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Added test case for task #3636

parent b10011cc
No related branches found
No related tags found
No related merge requests found
package it.inaf.oats.vospace; package it.inaf.oats.vospace;
import com.fasterxml.jackson.databind.ObjectMapper;
import static it.inaf.oats.vospace.VOSpaceXmlTestUtil.loadDocument; import static it.inaf.oats.vospace.VOSpaceXmlTestUtil.loadDocument;
import it.inaf.oats.vospace.datamodel.NodeProperties; import it.inaf.oats.vospace.datamodel.NodeProperties;
import it.inaf.oats.vospace.persistence.NodeDAO; import it.inaf.oats.vospace.persistence.NodeDAO;
...@@ -35,6 +36,8 @@ public class ListNodeControllerTest { ...@@ -35,6 +36,8 @@ public class ListNodeControllerTest {
private static final String URI_PREFIX = "vos://example.com!vospace"; private static final String URI_PREFIX = "vos://example.com!vospace";
private static final ObjectMapper MAPPER = new ObjectMapper();
@MockBean @MockBean
private NodeDAO dao; private NodeDAO dao;
...@@ -108,6 +111,42 @@ public class ListNodeControllerTest { ...@@ -108,6 +111,42 @@ public class ListNodeControllerTest {
.andExpect(status().is2xxSuccessful()); .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() { private Optional<Node> getRootNode() {
ContainerNode root = new ContainerNode(); ContainerNode root = new ContainerNode();
root.setUri(URI_PREFIX + "/"); root.setUri(URI_PREFIX + "/");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment