Commit fb93a17f authored by nfcalabria's avatar nfcalabria
Browse files

Fixed CopyServiceTest

parent 17f9beb3
Loading
Loading
Loading
Loading
+18 −8
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ import it.inaf.ia2.transfer.persistence.model.FileInfo;
import it.inaf.ia2.transfer.persistence.FileDAO;
import it.inaf.ia2.transfer.persistence.JobDAO;
import java.io.File;
import java.nio.file.Path;
import java.util.List;
import org.apache.commons.io.FileUtils;
import org.assertj.core.util.Files;
@@ -85,31 +86,40 @@ public class CopyServiceTest {
                .thenReturn(
                        List.of(this.createBaseFileInfo(
                                filename, sourceDirectory, sourceVosRootPath)));
        FileInfo destinationFileInfo = this.createBaseDestinationFileInfo(
                                filename, destinationDirectory, destVosRootPath);
        
        when(fileDao.getBranchFileInfos(eq(destVosRootPath), eq(jobId)))
                .thenReturn(
                        List.of(this.createBaseFileInfo(
                                filename, destinationDirectory, destVosRootPath)));
                .thenReturn(List.of(destinationFileInfo));
        
        when(fileDao.getRemainingQuota(any())).thenReturn(null);
                
        assertTrue(sourceFile.exists());
        File destinationFile = destinationDirectory.toPath().resolve(filename).toFile();
        assertFalse(destinationFile.exists());
   
        fileCopyService.copyFiles(
                sourceVosRootPath, destVosRootPath, jobId, fakePrincipal(userId));
                
        assertTrue(sourceFile.exists());        
        File destinationFile = Path.of(destinationFileInfo.getFilePath()).toFile();
        assertTrue(destinationFile.exists());               
        
        assertTrue(FileUtils.contentEquals(sourceFile, destinationFile));

    }

    private FileInfo createBaseFileInfo(String fileName, File directory, String vosPath) {
        FileInfo fileInfo = new FileInfo();
        fileInfo.setOsPath(getTestFilePath(fileName, directory));
        fileInfo.setActualBasePath("/");
        fileInfo.setFsPath(getTestFilePath(fileName, directory));
        fileInfo.setVirtualPath(vosPath);
        fileInfo.setPublic(false);
        fileInfo.setOwnerId(userId);
        
        return fileInfo;
    }
    
    private FileInfo createBaseDestinationFileInfo(String fileName, File directory, String vosPath) {
        FileInfo fileInfo = new FileInfo();
        fileInfo.setActualBasePath(directory.getAbsolutePath());
        fileInfo.setVirtualPath(vosPath);
        fileInfo.setPublic(false);
        fileInfo.setOwnerId(userId);