Loading src/test/java/it/inaf/ia2/transfer/controller/CopyControllerTest.java 0 → 100644 +100 −0 Original line number Diff line number Diff line /* * This file is part of vospace-file-service * Copyright (C) 2021 Istituto Nazionale di Astrofisica * SPDX-License-Identifier: GPL-3.0-or-later */ package it.inaf.ia2.transfer.controller; import it.inaf.ia2.transfer.persistence.model.FileInfo; import it.inaf.ia2.transfer.persistence.FileDAO; import it.inaf.ia2.transfer.persistence.JobDAO; import it.inaf.oats.vospace.exception.QuotaExceededException; import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Path; import java.util.Optional; import java.util.UUID; import javax.servlet.ServletInputStream; import net.ivoa.xml.uws.v1.ExecutionPhase; import org.assertj.core.util.Files; import org.junit.jupiter.api.AfterAll; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import org.mockito.Mockito; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockMultipartFile; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; import org.springframework.test.web.servlet.request.MockMultipartHttpServletRequestBuilder; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.request.RequestPostProcessor; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import org.springframework.util.FileSystemUtils; @SpringBootTest @AutoConfigureMockMvc public class CopyControllerTest { @MockBean private FileDAO fileDao; @MockBean private JobDAO jobDAO; @Autowired private MockMvc mockMvc; private static File sourceDirectory; private static File destinationDirectory; @BeforeAll public static void setUp() { sourceDirectory = Files.newTemporaryFolder(); destinationDirectory = Files.newTemporaryFolder(); } @AfterAll public static void tearDown() { FileSystemUtils.deleteRecursively(sourceDirectory); FileSystemUtils.deleteRecursively(destinationDirectory); } // TODO: complete test private FileInfo createBaseFileInfo() { String randomFileName = UUID.randomUUID().toString(); return createBaseFileInfo(randomFileName); } private FileInfo createBaseFileInfo(String fileName, File directory, String vosPath) { FileInfo fileInfo = new FileInfo(); fileInfo.setOsPath(getTestFilePath(fileName, directory)); String virtualPath = vosPath + "/" + fileName; fileInfo.setVirtualPath(vosPath + "/" + fileName); fileInfo.setPublic(false); return fileInfo; } private String getTestFilePath(String fileName, File directory) { return directory.toPath().resolve("subdir").resolve(fileName).toFile().getAbsolutePath(); } } Loading
src/test/java/it/inaf/ia2/transfer/controller/CopyControllerTest.java 0 → 100644 +100 −0 Original line number Diff line number Diff line /* * This file is part of vospace-file-service * Copyright (C) 2021 Istituto Nazionale di Astrofisica * SPDX-License-Identifier: GPL-3.0-or-later */ package it.inaf.ia2.transfer.controller; import it.inaf.ia2.transfer.persistence.model.FileInfo; import it.inaf.ia2.transfer.persistence.FileDAO; import it.inaf.ia2.transfer.persistence.JobDAO; import it.inaf.oats.vospace.exception.QuotaExceededException; import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Path; import java.util.Optional; import java.util.UUID; import javax.servlet.ServletInputStream; import net.ivoa.xml.uws.v1.ExecutionPhase; import org.assertj.core.util.Files; import org.junit.jupiter.api.AfterAll; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import org.mockito.Mockito; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockMultipartFile; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; import org.springframework.test.web.servlet.request.MockMultipartHttpServletRequestBuilder; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.request.RequestPostProcessor; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import org.springframework.util.FileSystemUtils; @SpringBootTest @AutoConfigureMockMvc public class CopyControllerTest { @MockBean private FileDAO fileDao; @MockBean private JobDAO jobDAO; @Autowired private MockMvc mockMvc; private static File sourceDirectory; private static File destinationDirectory; @BeforeAll public static void setUp() { sourceDirectory = Files.newTemporaryFolder(); destinationDirectory = Files.newTemporaryFolder(); } @AfterAll public static void tearDown() { FileSystemUtils.deleteRecursively(sourceDirectory); FileSystemUtils.deleteRecursively(destinationDirectory); } // TODO: complete test private FileInfo createBaseFileInfo() { String randomFileName = UUID.randomUUID().toString(); return createBaseFileInfo(randomFileName); } private FileInfo createBaseFileInfo(String fileName, File directory, String vosPath) { FileInfo fileInfo = new FileInfo(); fileInfo.setOsPath(getTestFilePath(fileName, directory)); String virtualPath = vosPath + "/" + fileName; fileInfo.setVirtualPath(vosPath + "/" + fileName); fileInfo.setPublic(false); return fileInfo; } private String getTestFilePath(String fileName, File directory) { return directory.toPath().resolve("subdir").resolve(fileName).toFile().getAbsolutePath(); } }