diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/api/v3/MapDataSetTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/api/v3/MapDataSetTest.java index bb698ca95f4ea9cee6270ead94b030e2b53d7444..84436eea136b2eca69e000b93dbcfef6f6f92856 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/api/v3/MapDataSetTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/api/v3/MapDataSetTest.java @@ -17,6 +17,8 @@ package ch.ethz.sis.openbis.systemtest.api.v3; import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertFalse; +import static org.testng.Assert.assertTrue; import java.util.Arrays; import java.util.Collections; @@ -27,17 +29,27 @@ import java.util.Set; import org.testng.annotations.Test; +import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.dataset.ArchivingStatus; +import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.dataset.Complete; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.dataset.DataSet; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.dataset.DataSetKind; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.dataset.DataSetUpdate; +import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.dataset.ExternalData; +import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.dataset.FileFormatType; +import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.dataset.LocatorType; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.history.DataSetRelationType; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.history.HistoryEntry; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.history.PropertyHistoryEntry; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.history.RelationHistoryEntry; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.material.Material; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.tag.Tag; +import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.vocabulary.Vocabulary; +import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.vocabulary.VocabularyTerm; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.fetchoptions.dataset.DataSetFetchOptions; +import ch.ethz.sis.openbis.generic.shared.api.v3.dto.fetchoptions.dataset.ExternalDataFetchOptions; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.fetchoptions.tag.TagFetchOptions; +import ch.ethz.sis.openbis.generic.shared.api.v3.dto.fetchoptions.vocabulary.VocabularyFetchOptions; +import ch.ethz.sis.openbis.generic.shared.api.v3.dto.fetchoptions.vocabulary.VocabularyTermFetchOptions; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.id.dataset.DataSetPermId; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.id.dataset.IDataSetId; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.id.experiment.ExperimentIdentifier; @@ -163,6 +175,9 @@ public class MapDataSetTest extends AbstractDataSetTest assertEqualsDate(dataSet.getAccessDate(), "2011-04-01 09:56:25"); assertEqualsDate(dataSet.getModificationDate(), "2009-03-23 15:34:44"); assertEqualsDate(dataSet.getRegistrationDate(), "2009-02-09 12:20:21"); + assertEquals(dataSet.isDerived(), Boolean.FALSE); + assertEquals(dataSet.isPlaceholder(), Boolean.FALSE); + assertEquals(dataSet.isPostRegistered(), Boolean.TRUE); assertTypeNotFetched(dataSet); assertExternalDataNotFetched(dataSet); @@ -202,6 +217,7 @@ public class MapDataSetTest extends AbstractDataSetTest assertEquals(dataSet.getType().getPermId().getPermId(), "HCS_IMAGE"); assertEquals(dataSet.getType().getDescription(), "High Content Screening Image"); assertEquals(dataSet.getType().getKind(), DataSetKind.PHYSICAL); + assertEqualsDate(dataSet.getType().getModificationDate(), "2009-03-23 15:34:44"); assertExternalDataNotFetched(dataSet); assertExperimentNotFetched(dataSet); @@ -221,6 +237,7 @@ public class MapDataSetTest extends AbstractDataSetTest assertEquals(dataSet2.getType().getPermId().getPermId(), "CONTAINER_TYPE"); assertEquals(dataSet2.getType().getDescription(), "A container (virtual) data set type"); assertEquals(dataSet2.getType().getKind(), DataSetKind.CONTAINER); + assertEqualsDate(dataSet2.getType().getModificationDate(), "2011-05-09 12:24:44"); assertExternalDataNotFetched(dataSet2); assertExperimentNotFetched(dataSet2); @@ -498,27 +515,63 @@ public class MapDataSetTest extends AbstractDataSetTest } @Test - public void testMapWithExternalData() + public void testMapWithExternalDataForPhysicalDataSet() { String sessionToken = v3api.login(TEST_USER, PASSWORD); DataSetPermId permId = new DataSetPermId("20081105092159111-1"); - DataSetFetchOptions fetchOptions = new DataSetFetchOptions(); - fetchOptions.withExternalData(); - Map<IDataSetId, DataSet> map = - v3api.mapDataSets(sessionToken, Arrays.asList(permId), - fetchOptions); + ExternalDataFetchOptions externalDataFetchOptions = fetchOptions.withExternalData(); + externalDataFetchOptions.withFileFormatType(); + externalDataFetchOptions.withLocatorType(); - assertEquals(1, map.size()); + VocabularyTermFetchOptions storageFormatTermFetchOptions = externalDataFetchOptions.withStorageFormat(); + storageFormatTermFetchOptions.withRegistrator(); - DataSet dataSet = map.get(permId); + VocabularyFetchOptions storageFormatVocabularyFetchOptions = storageFormatTermFetchOptions.withVocabulary(); + storageFormatVocabularyFetchOptions.withRegistrator(); + + Map<IDataSetId, DataSet> dataSets = v3api.mapDataSets(sessionToken, Arrays.asList(permId), fetchOptions); + + assertEquals(dataSets.size(), 1); + DataSet dataSet = dataSets.get(permId); + + assertEquals(dataSet.getCode(), "20081105092159111-1"); - assertEquals(dataSet.getExternalData().getLocation(), "a/1"); - assertEquals(dataSet.getExternalData().getShareId(), "42"); - assertEquals(dataSet.getExternalData().getSize(), Long.valueOf(4711)); - assertEquals(dataSet.getExternalData().getSpeedHint(), Integer.valueOf(42)); + ExternalData externalData = dataSet.getExternalData(); + assertEquals(externalData.getShareId(), "42"); + assertEquals(externalData.getLocation(), "a/1"); + assertEquals(externalData.getSize(), Long.valueOf(4711)); + assertEquals(externalData.getComplete(), Complete.UNKNOWN); + assertEquals(externalData.getStatus(), ArchivingStatus.AVAILABLE); + assertFalse(externalData.isPresentInArchive()); + assertFalse(externalData.isStorageConfirmation()); + + FileFormatType fileFormatType = externalData.getFileFormatType(); + assertEquals(fileFormatType.getCode(), "TIFF"); + assertEquals(fileFormatType.getDescription(), "TIFF File"); + + LocatorType locatorType = externalData.getLocatorType(); + assertEquals(locatorType.getCode(), "RELATIVE_LOCATION"); + assertEquals(locatorType.getDescription(), "Relative Location"); + + VocabularyTerm storageFormatTerm = externalData.getStorageFormat(); + assertEquals(storageFormatTerm.getCode(), "PROPRIETARY"); + assertEquals(storageFormatTerm.getLabel(), "proprietary label"); + assertEquals(storageFormatTerm.getDescription(), "proprietary description"); + assertEquals(storageFormatTerm.getOrdinal(), Long.valueOf(1)); + assertTrue(storageFormatTerm.isOfficial()); + assertEquals(storageFormatTerm.getRegistrator().getUserId(), "system"); + assertEqualsDate(storageFormatTerm.getRegistrationDate(), "2008-11-05 09:18:00"); + assertEqualsDate(storageFormatTerm.getModificationDate(), "2008-11-05 09:18:00"); + + Vocabulary storageFormatVocabulary = storageFormatTerm.getVocabulary(); + assertEquals(storageFormatVocabulary.getCode(), "$STORAGE_FORMAT"); + assertEquals(storageFormatVocabulary.getDescription(), "The on-disk storage format of a data set"); + assertEquals(storageFormatVocabulary.getRegistrator().getUserId(), "system"); + assertEqualsDate(storageFormatVocabulary.getRegistrationDate(), "2008-11-05 09:18:00"); + assertEqualsDate(storageFormatVocabulary.getModificationDate(), "2009-03-23 15:34:44"); assertTypeNotFetched(dataSet); assertExperimentNotFetched(dataSet); @@ -531,7 +584,24 @@ public class MapDataSetTest extends AbstractDataSetTest assertModifierNotFetched(dataSet); assertRegistratorNotFetched(dataSet); assertTagsNotFetched(dataSet); - v3api.logout(sessionToken); + } + + @Test + public void testMapWithExternalDataForContainerDataSet() + { + String sessionToken = v3api.login(TEST_USER, PASSWORD); + + DataSetPermId permId = new DataSetPermId("ROOT_CONTAINER"); + DataSetFetchOptions fetchOptions = new DataSetFetchOptions(); + fetchOptions.withExternalData(); + + Map<IDataSetId, DataSet> dataSets = v3api.mapDataSets(sessionToken, Arrays.asList(permId), fetchOptions); + + assertEquals(dataSets.size(), 1); + DataSet dataSet = dataSets.get(permId); + + assertEquals(dataSet.getCode(), "ROOT_CONTAINER"); + assertEquals(dataSet.getExternalData(), null); } @Test diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/api/v3/SearchDataSetTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/api/v3/SearchDataSetTest.java index 3ddbb0aabd829496867c4f59f626cb0a9ea0e1b5..ac4ad465e2d60403ef8d7ec076d8eb43c40038ec 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/api/v3/SearchDataSetTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/api/v3/SearchDataSetTest.java @@ -17,27 +17,13 @@ package ch.ethz.sis.openbis.systemtest.api.v3; import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertFalse; -import static org.testng.Assert.assertTrue; -import java.util.Collections; import java.util.List; -import java.util.TreeMap; import org.testng.annotations.Test; -import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.dataset.ArchivingStatus; -import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.dataset.Complete; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.dataset.DataSet; -import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.dataset.ExternalData; -import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.dataset.FileFormatType; -import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.dataset.LocatorType; -import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.vocabulary.Vocabulary; -import ch.ethz.sis.openbis.generic.shared.api.v3.dto.entity.vocabulary.VocabularyTerm; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.fetchoptions.dataset.DataSetFetchOptions; -import ch.ethz.sis.openbis.generic.shared.api.v3.dto.fetchoptions.dataset.ExternalDataFetchOptions; -import ch.ethz.sis.openbis.generic.shared.api.v3.dto.fetchoptions.vocabulary.VocabularyFetchOptions; -import ch.ethz.sis.openbis.generic.shared.api.v3.dto.fetchoptions.vocabulary.VocabularyTermFetchOptions; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.id.dataset.DataSetPermId; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.id.entitytype.EntityTypePermId; import ch.ethz.sis.openbis.generic.shared.api.v3.dto.id.tag.TagPermId; @@ -219,112 +205,6 @@ public class SearchDataSetTest extends AbstractDataSetTest testSearch(TEST_USER, criteria, "20081105092159111-1", "20081105092159333-3", "20110805092359990-17"); } - @Test - public void testSearchWithFetchOptionExperiment() - { - DataSetSearchCriteria criteria = new DataSetSearchCriteria(); - criteria.withPermId().thatEquals("20110805092359990-17"); - DataSetFetchOptions fetchOptions = new DataSetFetchOptions(); - fetchOptions.withExperiment().withProperties(); - - List<DataSet> dataSets = searchDataSets(TEST_USER, criteria, fetchOptions); - - Collections.sort(dataSets, DATA_SET_COMPARATOR); - assertEquals(dataSets.get(0).getCode(), "20110805092359990-17"); - assertEquals(dataSets.get(0).getPermId().toString(), "20110805092359990-17"); - assertEqualsDate(dataSets.get(0).getAccessDate(), "2014-04-01 09:56:25"); - assertEqualsDate(dataSets.get(0).getModificationDate(), "2009-03-23 15:34:44"); - assertEqualsDate(dataSets.get(0).getRegistrationDate(), "2009-02-09 12:21:47"); - assertEquals(dataSets.get(0).isDerived(), Boolean.FALSE); - assertEquals(dataSets.get(0).isPlaceholder(), Boolean.FALSE); - assertEquals(dataSets.get(0).isPostRegistered(), Boolean.TRUE); - assertParentsNotFetched(dataSets.get(0)); - assertChildrenNotFetched(dataSets.get(0)); - assertContainersNotFetched(dataSets.get(0)); - assertContainedNotFetched(dataSets.get(0)); - assertEquals(dataSets.get(0).getExperiment().getIdentifier().toString(), "/CISD/NEMO/EXP-TEST-2"); - assertEquals(new TreeMap<String, String>(dataSets.get(0).getExperiment().getProperties()).toString(), - "{DESCRIPTION=very important expertiment, GENDER=FEMALE, PURCHASE_DATE=2009-02-09 10:00:00 +0100}"); - assertEquals(dataSets.size(), 1); - } - - @Test - public void testSearchWithFetchOptionExternalDataForPhysicalDataSet() - { - DataSetSearchCriteria criteria = new DataSetSearchCriteria(); - criteria.withPermId().thatEquals("20081105092159111-1"); - DataSetFetchOptions fetchOptions = new DataSetFetchOptions(); - - ExternalDataFetchOptions externalDataFetchOptions = fetchOptions.withExternalData(); - externalDataFetchOptions.withFileFormatType(); - externalDataFetchOptions.withLocatorType(); - - VocabularyTermFetchOptions storageFormatTermFetchOptions = externalDataFetchOptions.withStorageFormat(); - storageFormatTermFetchOptions.withRegistrator(); - - VocabularyFetchOptions storageFormatVocabularyFetchOptions = storageFormatTermFetchOptions.withVocabulary(); - storageFormatVocabularyFetchOptions.withRegistrator(); - - List<DataSet> dataSets = searchDataSets(TEST_USER, criteria, fetchOptions); - - assertEquals(dataSets.size(), 1); - DataSet dataSet = dataSets.get(0); - - assertEquals(dataSet.getCode(), "20081105092159111-1"); - - ExternalData externalData = dataSet.getExternalData(); - assertEquals(externalData.getShareId(), "42"); - assertEquals(externalData.getLocation(), "a/1"); - assertEquals(externalData.getSize(), Long.valueOf(4711)); - assertEquals(externalData.getComplete(), Complete.UNKNOWN); - assertEquals(externalData.getStatus(), ArchivingStatus.AVAILABLE); - assertFalse(externalData.isPresentInArchive()); - assertFalse(externalData.isStorageConfirmation()); - - FileFormatType fileFormatType = externalData.getFileFormatType(); - assertEquals(fileFormatType.getCode(), "TIFF"); - assertEquals(fileFormatType.getDescription(), "TIFF File"); - - LocatorType locatorType = externalData.getLocatorType(); - assertEquals(locatorType.getCode(), "RELATIVE_LOCATION"); - assertEquals(locatorType.getDescription(), "Relative Location"); - - VocabularyTerm storageFormatTerm = externalData.getStorageFormat(); - assertEquals(storageFormatTerm.getCode(), "PROPRIETARY"); - assertEquals(storageFormatTerm.getLabel(), null); - assertEquals(storageFormatTerm.getDescription(), null); - assertEquals(storageFormatTerm.getOrdinal(), Long.valueOf(1)); - assertTrue(storageFormatTerm.isOfficial()); - assertEquals(storageFormatTerm.getRegistrator().getUserId(), "system"); - assertEqualsDate(storageFormatTerm.getRegistrationDate(), "2008-11-05 09:18:00"); - assertEqualsDate(storageFormatTerm.getModificationDate(), "2008-11-05 09:18:00"); - - Vocabulary storageFormatVocabulary = storageFormatTerm.getVocabulary(); - assertEquals(storageFormatVocabulary.getCode(), "$STORAGE_FORMAT"); - assertEquals(storageFormatVocabulary.getDescription(), "The on-disk storage format of a data set"); - assertEquals(storageFormatVocabulary.getRegistrator().getUserId(), "system"); - assertEqualsDate(storageFormatVocabulary.getRegistrationDate(), "2008-11-05 09:18:00"); - assertEqualsDate(storageFormatVocabulary.getModificationDate(), "2009-03-23 15:34:44"); - } - - @Test - public void testSearchWithFetchOptionExternalDataForContainerDataSet() - { - DataSetSearchCriteria criteria = new DataSetSearchCriteria(); - criteria.withPermId().thatEquals("ROOT_CONTAINER"); - - DataSetFetchOptions fetchOptions = new DataSetFetchOptions(); - fetchOptions.withExternalData(); - - List<DataSet> dataSets = searchDataSets(TEST_USER, criteria, fetchOptions); - - assertEquals(dataSets.size(), 1); - DataSet dataSet = dataSets.get(0); - - assertEquals(dataSet.getCode(), "ROOT_CONTAINER"); - assertEquals(dataSet.getExternalData(), null); - } - @Test public void testSearchWithTypeWithIdSetToPermId() { diff --git a/openbis/sourceTest/sql/postgresql/146/006=controlled_vocabulary_terms.tsv b/openbis/sourceTest/sql/postgresql/146/006=controlled_vocabulary_terms.tsv index 2099ccf1c81769395bdcf053c3403cc295890e14..1eb11c3289f7660169b51a5a015f41b37ef750e2 100644 --- a/openbis/sourceTest/sql/postgresql/146/006=controlled_vocabulary_terms.tsv +++ b/openbis/sourceTest/sql/postgresql/146/006=controlled_vocabulary_terms.tsv @@ -1,7 +1,7 @@ 1 96_WELLS_8X12 2008-11-05 09:18:00.622+01 1 1 \N \N 1 t 2 384_WELLS_16X24 2008-11-05 09:18:00.622+01 1 1 \N \N 2 t 3 1536_WELLS_32X48 2008-11-05 09:18:00.622+01 1 1 \N \N 3 t -4 PROPRIETARY 2008-11-05 09:18:00.622+01 2 1 \N \N 1 t +4 PROPRIETARY 2008-11-05 09:18:00.622+01 2 1 proprietary label proprietary description 1 t 5 BDS_DIRECTORY 2008-11-05 09:18:00.622+01 2 1 \N \N 2 t 6 RAT 2008-11-05 09:18:30.327+01 3 2 \N the rat 1 t 7 DOG 2008-11-05 09:18:30.327+01 3 2 \N doggy 2 t