Loading src/test/java/it/inaf/ia2/transfer/controller/PutFileControllerTest.java +76 −7 Original line number Diff line number Diff line package it.inaf.ia2.transfer.controller; import it.inaf.ia2.transfer.persistence.FileDAO; import it.inaf.ia2.transfer.persistence.JobDAO; import it.inaf.ia2.transfer.persistence.ListOfFilesDAO; //import it.inaf.oats.vospace.persistence.JobDAO; //import net.ivoa.xml.uws.v1.JobSummary; import java.io.File; import java.nio.charset.StandardCharsets; import java.nio.file.Path; import java.util.Collections; import java.util.Optional; import java.util.UUID; import net.ivoa.xml.uws.v1.ExecutionPhase; import org.assertj.core.util.Files; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; Loading @@ -39,8 +40,8 @@ public class PutFileControllerTest { @MockBean private FileDAO fileDao; //@MockBean //private JobDAO jobDao; @MockBean private JobDAO jobDAO; @MockBean private ListOfFilesDAO listOfFilesDAO; Loading Loading @@ -68,6 +69,74 @@ public class PutFileControllerTest { assertTrue(file.delete()); } @Test public void putGenericFileWithNameConflict() throws Exception { String fileName = "pippoFile"; createBaseFileInfo(fileName); MockMultipartFile fakeFile = new MockMultipartFile("file", "test.txt", "text/plain", "content".getBytes()); mockMvc.perform(putMultipart("/path/to/test.txt") .file(fakeFile)) .andDo(print()) .andExpect(status().isOk()); File file = Path.of("/tmp", fileName).toFile(); assertTrue(file.exists()); assertEquals("content", Files.contentOf(file, StandardCharsets.UTF_8)); MockMultipartFile fakeFile2 = new MockMultipartFile("file", "test.txt", "text/plain", "content2".getBytes()); mockMvc.perform(putMultipart("/path/to/test.txt") .file(fakeFile2)) .andDo(print()) .andExpect(status().isOk()); File file2 = Path.of("/tmp", fileName+"-1").toFile(); assertTrue(file.exists()); assertEquals("content2", Files.contentOf(file2, StandardCharsets.UTF_8)); assertTrue(file.delete()); assertTrue(file2.delete()); } @Test public void putGenericFileWithJobId() throws Exception { when(jobDAO.isJobExisting("pippo10")).thenReturn(false); when(jobDAO.isJobExisting("pippo5")).thenReturn(true); String randomFileName = UUID.randomUUID().toString(); createBaseFileInfo(randomFileName); MockMultipartFile fakeFile = new MockMultipartFile("file", "test.txt", "text/plain", "content".getBytes()); // Try with invalid jobid mockMvc.perform(putMultipart("/path/to/test.txt") .file(fakeFile).param("jobid", "pippo10")) .andDo(print()) .andExpect(status().is4xxClientError()); verify(jobDAO, times(1)).isJobExisting(eq("pippo10")); // Retry with valid jobid mockMvc.perform(putMultipart("/path/to/test.txt") .file(fakeFile).param("jobid", "pippo5")) .andDo(print()) .andExpect(status().is2xxSuccessful()); verify(jobDAO, times(1)).isJobExisting(eq("pippo5")); verify(jobDAO, times(1)).updateJobPhase(eq(ExecutionPhase.COMPLETED), any()); File file = Path.of("/tmp", randomFileName).toFile(); assertTrue(file.exists()); assertEquals("content", Files.contentOf(file, StandardCharsets.UTF_8)); assertTrue(file.delete()); } @Test public void putListOfFiles() throws Exception { Loading src/test/java/it/inaf/ia2/transfer/persistence/JobDAOTest.java +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ public class JobDAOTest { @Autowired private DataSource dataSource; private JobDAO dao; @BeforeEach Loading Loading
src/test/java/it/inaf/ia2/transfer/controller/PutFileControllerTest.java +76 −7 Original line number Diff line number Diff line package it.inaf.ia2.transfer.controller; import it.inaf.ia2.transfer.persistence.FileDAO; import it.inaf.ia2.transfer.persistence.JobDAO; import it.inaf.ia2.transfer.persistence.ListOfFilesDAO; //import it.inaf.oats.vospace.persistence.JobDAO; //import net.ivoa.xml.uws.v1.JobSummary; import java.io.File; import java.nio.charset.StandardCharsets; import java.nio.file.Path; import java.util.Collections; import java.util.Optional; import java.util.UUID; import net.ivoa.xml.uws.v1.ExecutionPhase; import org.assertj.core.util.Files; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; Loading @@ -39,8 +40,8 @@ public class PutFileControllerTest { @MockBean private FileDAO fileDao; //@MockBean //private JobDAO jobDao; @MockBean private JobDAO jobDAO; @MockBean private ListOfFilesDAO listOfFilesDAO; Loading Loading @@ -68,6 +69,74 @@ public class PutFileControllerTest { assertTrue(file.delete()); } @Test public void putGenericFileWithNameConflict() throws Exception { String fileName = "pippoFile"; createBaseFileInfo(fileName); MockMultipartFile fakeFile = new MockMultipartFile("file", "test.txt", "text/plain", "content".getBytes()); mockMvc.perform(putMultipart("/path/to/test.txt") .file(fakeFile)) .andDo(print()) .andExpect(status().isOk()); File file = Path.of("/tmp", fileName).toFile(); assertTrue(file.exists()); assertEquals("content", Files.contentOf(file, StandardCharsets.UTF_8)); MockMultipartFile fakeFile2 = new MockMultipartFile("file", "test.txt", "text/plain", "content2".getBytes()); mockMvc.perform(putMultipart("/path/to/test.txt") .file(fakeFile2)) .andDo(print()) .andExpect(status().isOk()); File file2 = Path.of("/tmp", fileName+"-1").toFile(); assertTrue(file.exists()); assertEquals("content2", Files.contentOf(file2, StandardCharsets.UTF_8)); assertTrue(file.delete()); assertTrue(file2.delete()); } @Test public void putGenericFileWithJobId() throws Exception { when(jobDAO.isJobExisting("pippo10")).thenReturn(false); when(jobDAO.isJobExisting("pippo5")).thenReturn(true); String randomFileName = UUID.randomUUID().toString(); createBaseFileInfo(randomFileName); MockMultipartFile fakeFile = new MockMultipartFile("file", "test.txt", "text/plain", "content".getBytes()); // Try with invalid jobid mockMvc.perform(putMultipart("/path/to/test.txt") .file(fakeFile).param("jobid", "pippo10")) .andDo(print()) .andExpect(status().is4xxClientError()); verify(jobDAO, times(1)).isJobExisting(eq("pippo10")); // Retry with valid jobid mockMvc.perform(putMultipart("/path/to/test.txt") .file(fakeFile).param("jobid", "pippo5")) .andDo(print()) .andExpect(status().is2xxSuccessful()); verify(jobDAO, times(1)).isJobExisting(eq("pippo5")); verify(jobDAO, times(1)).updateJobPhase(eq(ExecutionPhase.COMPLETED), any()); File file = Path.of("/tmp", randomFileName).toFile(); assertTrue(file.exists()); assertEquals("content", Files.contentOf(file, StandardCharsets.UTF_8)); assertTrue(file.delete()); } @Test public void putListOfFiles() throws Exception { Loading
src/test/java/it/inaf/ia2/transfer/persistence/JobDAOTest.java +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ public class JobDAOTest { @Autowired private DataSource dataSource; private JobDAO dao; @BeforeEach Loading