From f82edcedb72679473c9d7d1d29d8b9f86a7a4e81 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Mon, 22 Oct 2012 10:01:58 +0000 Subject: [PATCH] fixing some proteomics tests SVN: 27291 --- .../server/plugins/APMSReportTest.java | 2 +- .../plugins/LocalAndRemoteCopierTest.java | 113 +++++++++++++++++- rtd_phosphonetx/sourceTest/java/tests.xml | 1 + 3 files changed, 113 insertions(+), 3 deletions(-) diff --git a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/dss/proteomics/server/plugins/APMSReportTest.java b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/dss/proteomics/server/plugins/APMSReportTest.java index 126bdb80703..daadd3c0eab 100644 --- a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/dss/proteomics/server/plugins/APMSReportTest.java +++ b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/dss/proteomics/server/plugins/APMSReportTest.java @@ -169,7 +169,7 @@ public class APMSReportTest extends AbstractFileSystemTestCase fileLines.get(0)); assertEquals(4, fileLines.size()); assertEquals("[ERROR: \"Exception occured: " - + "ch.systemsx.cisd.common.exceptions.UserFailureException: File " + + "ch.systemsx.cisd.common.exception.UserFailureException: File " + APMSReport.PROTEIN_FILE_NAME + " missing.\"]", status.getErrorStatuses() .toString()); diff --git a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/dss/proteomics/server/plugins/LocalAndRemoteCopierTest.java b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/dss/proteomics/server/plugins/LocalAndRemoteCopierTest.java index 6c43c6b0274..6e4af2d4897 100644 --- a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/dss/proteomics/server/plugins/LocalAndRemoteCopierTest.java +++ b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/dss/proteomics/server/plugins/LocalAndRemoteCopierTest.java @@ -19,11 +19,13 @@ package ch.systemsx.cisd.openbis.dss.proteomics.server.plugins; import static ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.DataSetCopier.SSH_TIMEOUT_MILLIS; import java.io.File; +import java.io.IOException; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Properties; +import org.apache.commons.io.FileUtils; import org.jmock.Expectations; import org.jmock.Mockery; import org.testng.annotations.AfterMethod; @@ -31,8 +33,11 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import ch.rinn.restrictions.Friend; +import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel; import ch.systemsx.cisd.base.tests.AbstractFileSystemTestCase; import ch.systemsx.cisd.common.concurrent.ExecutionResult; +import ch.systemsx.cisd.common.exception.ConfigurationFailureException; +import ch.systemsx.cisd.common.exception.EnvironmentFailureException; import ch.systemsx.cisd.common.exception.Status; import ch.systemsx.cisd.common.filesystem.BooleanStatus; import ch.systemsx.cisd.common.filesystem.FileUtilities; @@ -43,7 +48,6 @@ import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.DataSetCopie import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.IPathCopierFactory; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.ISshCommandExecutorFactory; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; -import ch.systemsx.cisd.openbis.dss.proteomics.server.plugins.LocalAndRemoteCopier; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetType; /** @@ -117,6 +121,7 @@ public class LocalAndRemoteCopierTest extends AbstractFileSystemTestCase public void testLocalWithKnownSample() { Properties properties = new Properties(); + prepareCopier(properties); properties.setProperty(DataSetCopier.DESTINATION_KEY, destination.getPath()); LocalAndRemoteCopier msInjectionCopier = new LocalAndRemoteCopier(properties, copierFactory, sshExecutorFactory); @@ -138,11 +143,12 @@ public class LocalAndRemoteCopierTest extends AbstractFileSystemTestCase context.assertIsSatisfied(); } - + @Test public void testLocalWithUnknownSample() { Properties properties = new Properties(); + prepareCopier(properties); properties.setProperty(DataSetCopier.DESTINATION_KEY, destination.getPath()); LocalAndRemoteCopier msInjectionCopier = new LocalAndRemoteCopier(properties, copierFactory, sshExecutorFactory); @@ -164,6 +170,7 @@ public class LocalAndRemoteCopierTest extends AbstractFileSystemTestCase public void testLocalWithAlreadyExistingDestination() { Properties properties = new Properties(); + prepareCopier(properties); properties.setProperty(DataSetCopier.DESTINATION_KEY, destination.getPath()); LocalAndRemoteCopier msInjectionCopier = new LocalAndRemoteCopier(properties, copierFactory, sshExecutorFactory); @@ -257,4 +264,106 @@ public class LocalAndRemoteCopierTest extends AbstractFileSystemTestCase // ignored } } + + private void prepareCopier(Properties properties) + { + properties.setProperty(DataSetCopier.RSYNC_EXEC + "-executable", rsyncExec.getPath()); + context.checking(new Expectations() + { + { + one(copierFactory).create(rsyncExec, null, DataSetCopier.SSH_TIMEOUT_MILLIS); + will(returnValue(new MockCopier())); + } + }); + } + + private final class MockCopier implements IPathCopier + { + + @Override + public boolean terminate() + { + return false; + } + + @Override + public boolean isRemote() + { + return false; + } + + @Override + public void check() throws EnvironmentFailureException, ConfigurationFailureException + { + } + + @Override + public Status copy(File sourcePath, File destinationDirectory) + { + return null; + } + + @Override + public Status copyContent(File sourcePath, File destinationDirectory) + { + return null; + } + + @Override + public Status copyToRemote(File sourcePath, String destinationDirectory, + String destinationHostOrNull, String rsyncModuleNameOrNull, + String rsyncPasswordFileOrNull) + { + try + { + FileUtils.copyDirectoryToDirectory(dataSet, new File(destinationDirectory)); + } catch (IOException ex) + { + throw CheckedExceptionTunnel.wrapIfNecessary(ex); + } + File file = new File(destinationDirectory, dataSet.getName()); + file.setLastModified(dataSet.lastModified()); + return Status.OK; + } + + @Override + public Status copyContentToRemote(File sourcePath, String destinationDirectory, + String destinationHostOrNull, String rsyncModuleNameOrNull, + String rsyncPasswordFileOrNull) + { + return null; + } + + @Override + public Status copyFromRemote(String sourcePath, String sourceHost, + File destinationDirectory, String rsyncModuleNameOrNull, + String rsyncPasswordFileOrNull) + { + return null; + } + + @Override + public Status copyContentFromRemote(String sourcePath, String sourceHost, + File destinationDirectory, String rsyncModuleNameOrNull, + String rsyncPasswordFileOrNull) + { + return null; + } + + @Override + public boolean checkRsyncConnectionViaSsh(String host, String rsyncExecutableOnHostOrNull, + long millisToWaitForCompletion) + { + return false; + } + + @Override + public boolean checkRsyncConnectionViaRsyncServer(String host, String rsyncModule, + String rsyncPassworFileOrNull, long millisToWaitForCompletion) + { + return false; + } + + } + } diff --git a/rtd_phosphonetx/sourceTest/java/tests.xml b/rtd_phosphonetx/sourceTest/java/tests.xml index 64e80ad2542..34383147e47 100644 --- a/rtd_phosphonetx/sourceTest/java/tests.xml +++ b/rtd_phosphonetx/sourceTest/java/tests.xml @@ -7,6 +7,7 @@ </groups> <packages> <package name="ch.systemsx.cisd.openbis.etlserver.proteomics.*" /> + <package name="ch.systemsx.cisd.openbis.dss.proteomics.*" /> <package name="ch.systemsx.cisd.openbis.plugin.proteomics.*" /> </packages> </test> -- GitLab