From 25fefe6cd569793ce1dea1de0543786e51a14198 Mon Sep 17 00:00:00 2001 From: felmer <franz-josef.elmer@id.ethz.ch> Date: Tue, 27 Feb 2018 15:27:24 +0100 Subject: [PATCH] SSDM-2367: more Java system tests --- .../AbstractArchiveUnarchiveDataSetTest.java | 2 +- .../systemtest/api/v3/ArchiveDataSetTest.java | 26 ++++++++++++--- .../systemtest/api/v3/LockDataSetTest.java | 32 +++++++++++++------ .../systemtest/api/v3/UnlockDataSetTest.java | 20 ++++++++++++ 4 files changed, 65 insertions(+), 15 deletions(-) diff --git a/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/AbstractArchiveUnarchiveDataSetTest.java b/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/AbstractArchiveUnarchiveDataSetTest.java index 54dafd9d1c7..ae48e78ce16 100644 --- a/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/AbstractArchiveUnarchiveDataSetTest.java +++ b/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/AbstractArchiveUnarchiveDataSetTest.java @@ -61,7 +61,7 @@ public class AbstractArchiveUnarchiveDataSetTest extends AbstractFileTest { final long timeoutMillis = 120 * 1000; final long finishMillis = System.currentTimeMillis() + timeoutMillis; - final long intervalMillis = 100; + final long intervalMillis = 500; String sessionToken = v3.login(TEST_USER, PASSWORD); diff --git a/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/ArchiveDataSetTest.java b/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/ArchiveDataSetTest.java index 06f5c0cc851..f2623f838a5 100644 --- a/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/ArchiveDataSetTest.java +++ b/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/ArchiveDataSetTest.java @@ -24,6 +24,7 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.ArchivingStatus; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.archive.DataSetArchiveOptions; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.DataSetPermId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.IDataSetId; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.lock.DataSetLockOptions; import ch.systemsx.cisd.common.exceptions.AuthorizationFailureException; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.systemtest.authorization.ProjectAuthorizationUser; @@ -57,20 +58,37 @@ public class ArchiveDataSetTest extends AbstractArchiveUnarchiveDataSetTest } @Test - public void testArchiveWithRemoveFromStoreTrue() throws Exception + public void testArchiveLockedDataSet() throws Exception { + // Given + registerDataSet(); String sessionToken = v3.login(TEST_USER, PASSWORD); + DataSetPermId dataSetId = new DataSetPermId(dataSetCode); + v3.lockDataSets(sessionToken, Arrays.asList(dataSetId), new DataSetLockOptions()); + DataSetArchiveOptions options = new DataSetArchiveOptions(); + waitUntilDataSetStatus(dataSetCode, ArchivingStatus.LOCKED); - registerDataSet(); + // Then + v3.archiveDataSets(sessionToken, Arrays.asList(dataSetId), options); + + waitUntilDataSetStatus(dataSetCode, ArchivingStatus.LOCKED); + } + @Test + public void testArchiveWithRemoveFromStoreTrue() throws Exception + { + String sessionToken = v3.login(TEST_USER, PASSWORD); + + registerDataSet(); + DataSetPermId dataSetId = new DataSetPermId(dataSetCode); DataSetArchiveOptions options = new DataSetArchiveOptions(); - + waitUntilDataSetStatus(dataSetCode, ArchivingStatus.AVAILABLE); v3.archiveDataSets(sessionToken, Arrays.asList(dataSetId), options); waitUntilDataSetStatus(dataSetCode, ArchivingStatus.ARCHIVED); } - + @Test public void testArchiveWithRemoveFromStoreFalse() throws Exception { diff --git a/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/LockDataSetTest.java b/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/LockDataSetTest.java index e5fb08492eb..8e22d14dc6c 100644 --- a/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/LockDataSetTest.java +++ b/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/LockDataSetTest.java @@ -21,8 +21,7 @@ import java.util.Arrays; import org.testng.annotations.Test; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.ArchivingStatus; -import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.DataSet; -import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.fetchoptions.DataSetFetchOptions; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.archive.DataSetArchiveOptions; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.DataSetPermId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.IDataSetId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.lock.DataSetLockOptions; @@ -49,10 +48,7 @@ public class LockDataSetTest extends AbstractArchiveUnarchiveDataSetTest v3.lockDataSets(sessionToken, Arrays.asList(dataSetId), options); // Then - DataSetFetchOptions fetchOptions = new DataSetFetchOptions(); - fetchOptions.withPhysicalData(); - DataSet dataSet = v3.getDataSets(sessionToken, Arrays.asList(dataSetId), fetchOptions).get(dataSetId); - assertEquals(ArchivingStatus.LOCKED, dataSet.getPhysicalData().getStatus()); + waitUntilDataSetStatus(dataSetCode, ArchivingStatus.LOCKED); v3.logout(sessionToken); } @@ -72,10 +68,26 @@ public class LockDataSetTest extends AbstractArchiveUnarchiveDataSetTest v3.lockDataSets(sessionToken, Arrays.asList(dataSetId), options); // Then - DataSetFetchOptions fetchOptions = new DataSetFetchOptions(); - fetchOptions.withPhysicalData(); - DataSet dataSet = v3.getDataSets(sessionToken, Arrays.asList(dataSetId), fetchOptions).get(dataSetId); - assertEquals(ArchivingStatus.LOCKED, dataSet.getPhysicalData().getStatus()); + waitUntilDataSetStatus(dataSetCode, ArchivingStatus.LOCKED); + + v3.logout(sessionToken); + } + + @Test + public void testLockArchivedDataSet() throws Exception + { + // Given + String sessionToken = v3.login(TEST_USER, PASSWORD); + registerDataSet(); + DataSetPermId dataSetId = new DataSetPermId(dataSetCode); + v3.archiveDataSets(sessionToken, Arrays.asList(dataSetId), new DataSetArchiveOptions()); + waitUntilDataSetStatus(dataSetCode, ArchivingStatus.ARCHIVED); + + // When + v3.lockDataSets(sessionToken, Arrays.asList(dataSetId), new DataSetLockOptions()); + + // Then + waitUntilDataSetStatus(dataSetCode, ArchivingStatus.ARCHIVED); v3.logout(sessionToken); } diff --git a/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/UnlockDataSetTest.java b/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/UnlockDataSetTest.java index 605986eafcd..066c7081537 100644 --- a/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/UnlockDataSetTest.java +++ b/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/UnlockDataSetTest.java @@ -22,6 +22,7 @@ import org.testng.annotations.Test; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.ArchivingStatus; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.DataSet; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.archive.DataSetArchiveOptions; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.DataSetPermId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.IDataSetId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.lock.DataSetLockOptions; @@ -77,6 +78,25 @@ public class UnlockDataSetTest extends AbstractArchiveUnarchiveDataSetTest v3.logout(sessionToken); } + @Test + public void testUnlockArchivedDataSet() throws Exception + { + // Given + String sessionToken = v3.login(TEST_USER, PASSWORD); + registerDataSet(); + DataSetPermId dataSetId = new DataSetPermId(dataSetCode); + v3.archiveDataSets(sessionToken, Arrays.asList(dataSetId), new DataSetArchiveOptions()); + waitUntilDataSetStatus(dataSetCode, ArchivingStatus.ARCHIVED); + + // When + v3.unlockDataSets(sessionToken, Arrays.asList(dataSetId), new DataSetUnlockOptions()); + + // Then + waitUntilDataSetStatus(dataSetCode, ArchivingStatus.ARCHIVED); + + v3.logout(sessionToken); + } + @Test(expectedExceptions = UserFailureException.class, expectedExceptionsMessageRegExp = ".*Object with DataSetPermId = \\[IDONTEXIST\\] has not been found.*") public void testUnlockWithNonexistentDataSet() throws Exception { -- GitLab