Loading src/main/java/it/inaf/oats/vospace/VospaceApplication.java +0 −14 Original line number Diff line number Diff line Loading @@ -5,9 +5,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import it.inaf.ia2.aa.LoginFilter; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; @SpringBootApplication public class VospaceApplication { Loading @@ -23,15 +20,4 @@ public class VospaceApplication { registration.addUrlPatterns("/private/*"); return registration; } @Bean public Marshaller marshaller() { try { JAXBContext context = JAXBContext.newInstance(); Marshaller marshaller = context.createMarshaller(); return marshaller; } catch (JAXBException e) { throw new RuntimeException(e); } } } src/test/java/it/inaf/oats/vospace/ListNodeControllerTest.java +13 −3 Original line number Diff line number Diff line package it.inaf.oats.vospace; import static it.inaf.oats.vospace.VOSpaceXmlTestUtil.loadDocument; import it.inaf.oats.vospace.persistence.NodeDAO; import net.ivoa.xml.vospace.v2.ContainerNode; import net.ivoa.xml.vospace.v2.DataNode; import net.ivoa.xml.vospace.v2.Node; import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.times; Loading @@ -18,6 +20,7 @@ import org.springframework.test.web.servlet.MockMvc; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import org.w3c.dom.Document; @SpringBootTest @AutoConfigureMockMvc Loading @@ -42,7 +45,9 @@ public class ListNodeControllerTest { .andExpect(status().isOk()) .andReturn().getResponse().getContentAsString(); System.out.println(xml); Document doc = loadDocument(xml); assertEquals("vos:node", doc.getDocumentElement().getNodeName()); assertEquals("vos:ContainerNode", doc.getDocumentElement().getAttribute("xsi:type")); verify(dao, times(1)).listNode(eq("/")); } Loading @@ -52,10 +57,15 @@ public class ListNodeControllerTest { when(dao.listNode(eq("/mynode"))).thenReturn(getDataNode()); mockMvc.perform(get("/nodes/mynode") String xml = mockMvc.perform(get("/nodes/mynode") .accept(MediaType.APPLICATION_XML)) .andDo(print()) .andExpect(status().isOk()); .andExpect(status().isOk()) .andReturn().getResponse().getContentAsString(); Document doc = loadDocument(xml); assertEquals("vos:node", doc.getDocumentElement().getNodeName()); assertEquals("vos:DataNode", doc.getDocumentElement().getAttribute("xsi:type")); verify(dao, times(1)).listNode(eq("/mynode")); } Loading src/test/java/it/inaf/oats/vospace/VOSpaceXmlTestUtil.java 0 → 100644 +23 −0 Original line number Diff line number Diff line package it.inaf.oats.vospace; import java.io.ByteArrayInputStream; import java.io.InputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; public class VOSpaceXmlTestUtil { public static Document loadDocument(String xml) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(false); factory.setNamespaceAware(true); DocumentBuilder builder = factory.newDocumentBuilder(); try ( InputStream in = new ByteArrayInputStream(xml.getBytes())) { return builder.parse(in); } } } Loading
src/main/java/it/inaf/oats/vospace/VospaceApplication.java +0 −14 Original line number Diff line number Diff line Loading @@ -5,9 +5,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import it.inaf.ia2.aa.LoginFilter; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; @SpringBootApplication public class VospaceApplication { Loading @@ -23,15 +20,4 @@ public class VospaceApplication { registration.addUrlPatterns("/private/*"); return registration; } @Bean public Marshaller marshaller() { try { JAXBContext context = JAXBContext.newInstance(); Marshaller marshaller = context.createMarshaller(); return marshaller; } catch (JAXBException e) { throw new RuntimeException(e); } } }
src/test/java/it/inaf/oats/vospace/ListNodeControllerTest.java +13 −3 Original line number Diff line number Diff line package it.inaf.oats.vospace; import static it.inaf.oats.vospace.VOSpaceXmlTestUtil.loadDocument; import it.inaf.oats.vospace.persistence.NodeDAO; import net.ivoa.xml.vospace.v2.ContainerNode; import net.ivoa.xml.vospace.v2.DataNode; import net.ivoa.xml.vospace.v2.Node; import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.times; Loading @@ -18,6 +20,7 @@ import org.springframework.test.web.servlet.MockMvc; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import org.w3c.dom.Document; @SpringBootTest @AutoConfigureMockMvc Loading @@ -42,7 +45,9 @@ public class ListNodeControllerTest { .andExpect(status().isOk()) .andReturn().getResponse().getContentAsString(); System.out.println(xml); Document doc = loadDocument(xml); assertEquals("vos:node", doc.getDocumentElement().getNodeName()); assertEquals("vos:ContainerNode", doc.getDocumentElement().getAttribute("xsi:type")); verify(dao, times(1)).listNode(eq("/")); } Loading @@ -52,10 +57,15 @@ public class ListNodeControllerTest { when(dao.listNode(eq("/mynode"))).thenReturn(getDataNode()); mockMvc.perform(get("/nodes/mynode") String xml = mockMvc.perform(get("/nodes/mynode") .accept(MediaType.APPLICATION_XML)) .andDo(print()) .andExpect(status().isOk()); .andExpect(status().isOk()) .andReturn().getResponse().getContentAsString(); Document doc = loadDocument(xml); assertEquals("vos:node", doc.getDocumentElement().getNodeName()); assertEquals("vos:DataNode", doc.getDocumentElement().getAttribute("xsi:type")); verify(dao, times(1)).listNode(eq("/mynode")); } Loading
src/test/java/it/inaf/oats/vospace/VOSpaceXmlTestUtil.java 0 → 100644 +23 −0 Original line number Diff line number Diff line package it.inaf.oats.vospace; import java.io.ByteArrayInputStream; import java.io.InputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; public class VOSpaceXmlTestUtil { public static Document loadDocument(String xml) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(false); factory.setNamespaceAware(true); DocumentBuilder builder = factory.newDocumentBuilder(); try ( InputStream in = new ByteArrayInputStream(xml.getBytes())) { return builder.parse(in); } } }