Skip to content
Snippets Groups Projects
Commit b81016e9 authored by yvesn's avatar yvesn
Browse files

SSDM-5259: added test

parent ccced499
No related branches found
No related tags found
No related merge requests found
...@@ -38,6 +38,9 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.LinkedData; ...@@ -38,6 +38,9 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.LinkedData;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.LocatorType; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.LocatorType;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.PhysicalData; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.PhysicalData;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.StorageFormat; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.StorageFormat;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.create.ContentCopyCreation;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.create.DataSetCreation;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.create.LinkedDataCreation;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.fetchoptions.DataSetFetchOptions; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.fetchoptions.DataSetFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.fetchoptions.LinkedDataFetchOptions; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.fetchoptions.LinkedDataFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.fetchoptions.PhysicalDataFetchOptions; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.fetchoptions.PhysicalDataFetchOptions;
...@@ -45,8 +48,13 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.history.DataSetRelationT ...@@ -45,8 +48,13 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.history.DataSetRelationT
import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.DataSetPermId; 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.id.IDataSetId;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.update.DataSetUpdate; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.update.DataSetUpdate;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.update.LinkedDataUpdate;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.datastore.id.DataStorePermId;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.entitytype.id.EntityTypePermId;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.ExperimentIdentifier; import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.ExperimentIdentifier;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.ExperimentPermId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.ExperimentPermId;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.id.ExternalDmsPermId;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.history.ContentCopyHistoryEntry;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.history.HistoryEntry; import ch.ethz.sis.openbis.generic.asapi.v3.dto.history.HistoryEntry;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.history.PropertyHistoryEntry; import ch.ethz.sis.openbis.generic.asapi.v3.dto.history.PropertyHistoryEntry;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.history.RelationHistoryEntry; import ch.ethz.sis.openbis.generic.asapi.v3.dto.history.RelationHistoryEntry;
...@@ -888,6 +896,66 @@ public class GetDataSetTest extends AbstractDataSetTest ...@@ -888,6 +896,66 @@ public class GetDataSetTest extends AbstractDataSetTest
v3api.logout(sessionToken); v3api.logout(sessionToken);
} }
@Test
public void testGetWithHistoryContentCopy()
{
String sessionToken = v3api.login(TEST_USER, PASSWORD);
// given - data set with content copy
DataSetCreation dataSetCreation = new DataSetCreation();
LinkedDataCreation linkedData = new LinkedDataCreation();
ContentCopyCreation contentCopyCreation = new ContentCopyCreation();
contentCopyCreation.setExternalDmsId(new ExternalDmsPermId("DMS_3"));
contentCopyCreation.setPath("/path");
contentCopyCreation.setGitCommitHash("0");
contentCopyCreation.setGitRepositoryId("0");
linkedData.setContentCopies(Arrays.asList(contentCopyCreation));
dataSetCreation.setCode("testGetWithHistoryContentCopy-01");
dataSetCreation.setLinkedData(linkedData);
dataSetCreation.setDataSetKind(DataSetKind.LINK);
dataSetCreation.setTypeId(new EntityTypePermId("UNKNOWN"));
dataSetCreation.setSampleId(new SampleIdentifier("//CL1:A01"));
dataSetCreation.setDataStoreId(new DataStorePermId("STANDARD"));
List<DataSetPermId> dataSetIds = v3api.createDataSets(sessionToken, Arrays.asList(dataSetCreation));
assertEquals(dataSetIds.size(), 1);
DataSetFetchOptions fetchOptions = new DataSetFetchOptions();
fetchOptions.withHistory();
fetchOptions.withLinkedData();
IDataSetId id = dataSetIds.get(0);
Map<IDataSetId, DataSet> map = v3api.getDataSets(sessionToken, Arrays.asList(id), fetchOptions);
DataSet dataSet = map.get(id);
assertEquals(dataSet.getHistory().size(), 0);
assertEquals(dataSet.getLinkedData().getContentCopies().size(), 1);
// when - remove content copy
DataSetUpdate update = new DataSetUpdate();
update.setDataSetId(id);
LinkedDataUpdate linkedDataUpdate = new LinkedDataUpdate();
linkedDataUpdate.getContentCopies().remove(dataSet.getLinkedData().getContentCopies().get(0).getId());
update.setLinkedData(linkedDataUpdate);
v3api.updateDataSets(sessionToken, Arrays.asList(update));
// then - content copy is in history
map = v3api.getDataSets(sessionToken, Arrays.asList(id), fetchOptions);
dataSet = map.get(id);
assertEquals(dataSet.getHistory().size(), 1);
assertEquals(dataSet.getLinkedData().getContentCopies().size(), 0);
ContentCopyHistoryEntry historyEntry = (ContentCopyHistoryEntry) dataSet.getHistory().get(0);
assertEquals(historyEntry.getPath(), contentCopyCreation.getPath());
assertEquals(historyEntry.getGitCommitHash(), contentCopyCreation.getGitCommitHash());
v3api.logout(sessionToken);
}
@Test @Test
public void testGetWithHistoryExperiment() public void testGetWithHistoryExperiment()
{ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment