diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java index 0d5d35322f658667b03e2de8e5730bd2ebde2e70..fa65363272045441ee4bb24174b82ea46fdd3385 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java @@ -75,6 +75,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.builders.SampleBuilder; import ch.systemsx.cisd.openbis.generic.shared.dto.AtomicEntityOperationDetails; import ch.systemsx.cisd.openbis.generic.shared.dto.AtomicEntityOperationResult; import ch.systemsx.cisd.openbis.generic.shared.dto.DataPE; +import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetShareId; import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetUpdatesDTO; import ch.systemsx.cisd.openbis.generic.shared.dto.DataStorePE; @@ -193,6 +194,44 @@ public class ETLServiceTest extends AbstractServerTestCase context.assertIsSatisfied(); } + @Test + public void testListShareIds() + { + prepareGetSession(); + + final List<DataSetShareId> list = + Arrays.asList(createDataSetShareId(1), createDataSetShareId(2), + createDataSetShareId(3)); + context.checking(new Expectations() + { + { + one(dataStoreDAO).tryToFindDataStoreByCode(DSS_CODE); + DataStorePE store = new DataStorePE(); + store.setId(DSS_ID); + store.setCode(DSS_CODE); + will(returnValue(store)); + + one(boFactory).createDatasetLister(SESSION); + will(returnValue(datasetLister)); + + one(datasetLister).listAllDataSetShareIdsByDataStore(DSS_ID); + will(returnValue(list)); + } + }); + + List<DataSetShareId> result = createService().listShareIds(SESSION_TOKEN, DSS_CODE); + assertEquals(list, result); + context.assertIsSatisfied(); + } + + private DataSetShareId createDataSetShareId(int nr) + { + DataSetShareId result = new DataSetShareId(); + result.setDataSetCode("ds-" + nr); + result.setShareId("share-" + nr); + return result; + } + @Test public void testRegisterDataStoreServer() { diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/DatasetListerTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/DatasetListerTest.java index 9cd84b31fa18475daac56109c296faa8e83b5d96..89d48ee6262b572839709f1ac535089393cb2e40 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/DatasetListerTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/DatasetListerTest.java @@ -49,6 +49,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetArchivingStatus; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TrackingDataSetCriteria; +import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetShareId; import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE; import ch.systemsx.cisd.openbis.generic.shared.translator.SampleTranslator; @@ -324,6 +325,28 @@ public class DatasetListerTest extends AbstractDAOTest assertEquals(14, list.size()); } + @Test + public void testListAllDataSetShareIdsByDataStore() + { + List<DataSetShareId> list = lister.listAllDataSetShareIdsByDataStore(1); + + Collections.sort(list, new Comparator<DataSetShareId>() + { + public int compare(DataSetShareId o1, DataSetShareId o2) + { + return o1.getDataSetCode().compareTo(o2.getDataSetCode()); + } + }); + // NOTE: deleted data set "20081105092158673-1" is NOT ommited + DataSetShareId dataSet1 = list.get(0); + assertEquals("20081105092158673-1", dataSet1.getDataSetCode()); + assertEquals(null, dataSet1.getShareId()); // having no share id shouldn't fail + DataSetShareId dataSet2 = list.get(1); + assertEquals("20081105092159111-1", dataSet2.getDataSetCode()); + assertEquals(42L, dataSet2.getShareId()); + assertEquals(15, list.size()); + } + private void assertSameDataSetsForSameCode(Map<String, ExternalData> dataSetsByCode, List<ExternalData> dataSets) {