diff --git a/src/test/java/com/essi/Dependency/AppTest.java b/src/test/java/com/essi/Dependency/AppTest.java index dfd5fe0..5355c5a 100644 --- a/src/test/java/com/essi/Dependency/AppTest.java +++ b/src/test/java/com/essi/Dependency/AppTest.java @@ -11,8 +11,12 @@ import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.MediaType; +import org.springframework.mock.web.MockMultipartFile; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; import java.io.BufferedReader; import java.io.FileReader; @@ -47,6 +51,67 @@ public void crossReferenceJSONProject() throws Exception { Assert.assertEquals(1, result.getJSONArray("dependencies").length()); } + @Test + public void crossReferenceJSONProjectNM() throws Exception { + String projectId = "QTBUG"; + String response = this.mockMvc.perform( + post("/upc/cross-reference-detection/json/" + projectId + "/1/2") + .contentType(MediaType.APPLICATION_JSON) + .content(read_file(path+"sample-1.json"))) + .andDo(print()).andExpect(status().isOk()).andReturn().getResponse().getContentAsString(); + JSONObject result = new JSONObject(response); + Assert.assertEquals(1, result.getJSONArray("dependencies").length()); + } + + @Test + public void crossReferenceHTMLProject() throws Exception { + MockMultipartFile mockMultipartFile = new MockMultipartFile("file","sample-2.html", + "text/html", read_html_file(path+"sample-2.html").getBytes()); + + MockHttpServletRequestBuilder builder = + MockMvcRequestBuilders.fileUpload("/upc/cross-reference-detection/file") + .file(mockMultipartFile); + + String response = this.mockMvc.perform(builder).andExpect(status().isOk()) + .andDo(MockMvcResultHandlers.print()).andReturn().getResponse().getContentAsString();; + JSONObject result = new JSONObject(response); + Assert.assertEquals(1, result.getJSONArray("dependencies").length()); + } + + @Test + public void crossReferenceHTMLProjectNM() throws Exception { + MockMultipartFile mockMultipartFile = new MockMultipartFile("file","sample-2.html", + "text/html", read_html_file(path+"sample-2.html").getBytes()); + + MockHttpServletRequestBuilder builder = + MockMvcRequestBuilders.fileUpload("/upc/cross-reference-detection/file/1/2") + .file(mockMultipartFile); + + String response = this.mockMvc.perform(builder).andExpect(status().isOk()) + .andDo(MockMvcResultHandlers.print()).andReturn().getResponse().getContentAsString();; + JSONObject result = new JSONObject(response); + Assert.assertEquals(0, result.getJSONArray("dependencies").length()); + } + + private String read_html_file(String path) throws Exception { + String result = ""; + String line = ""; + FileReader fileReader = null; + BufferedReader bufferedReader = null; + try { + fileReader = new FileReader(path); + bufferedReader = new BufferedReader(fileReader); + while ((line = bufferedReader.readLine()) != null) { + result = result.concat(line); + } + bufferedReader.close(); + return result; + } finally { + if (fileReader != null) fileReader.close(); + if (bufferedReader != null) bufferedReader.close(); + } + } + private String read_file(String path) throws Exception { String result = ""; String line = ""; diff --git a/testing/integration/sample-2.html b/testing/integration/sample-2.html new file mode 100644 index 0000000..8687ccc --- /dev/null +++ b/testing/integration/sample-2.html @@ -0,0 +1,10 @@ + + + +

1 FIRST SECTION

+

1.1 FIRST SUBSECTION

+

The system must be tested [...]

+

1.2 SECOND SUBSECTION

+

As it is mentioned in the previous subsection 1.1, the system has to be validated [...]

+ +