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

Updated ListNodeControllerTest

parent 51d3079d
No related branches found
No related tags found
No related merge requests found
......@@ -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 {
......@@ -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);
}
}
}
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;
......@@ -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
......@@ -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("/"));
}
......@@ -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"));
}
......
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);
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment