From fed2a3ac2931f937c8846bca95faf75c25dbcd52 Mon Sep 17 00:00:00 2001 From: pkupczyk <pkupczyk> Date: Fri, 6 Jul 2012 09:30:34 +0000 Subject: [PATCH] SP-196 / BIS-118 : Link data sets improvements SVN: 26023 --- .../systemtests/OpenbisServiceFacadeTest.java | 24 ++++++++++++++++++- .../GeneralInformationServiceJsonApiTest.java | 24 ++++++++++++++++++- 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/datastoreserver/systemtests/OpenbisServiceFacadeTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/datastoreserver/systemtests/OpenbisServiceFacadeTest.java index 17a03674cae..93be6359bcb 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/datastoreserver/systemtests/OpenbisServiceFacadeTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/datastoreserver/systemtests/OpenbisServiceFacadeTest.java @@ -44,9 +44,11 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.api.v1.FileInfoDssDTO; import ch.systemsx.cisd.openbis.dss.generic.shared.api.v1.NewDataSetDTO; import ch.systemsx.cisd.openbis.dss.generic.shared.api.v1.NewDataSetDTO.DataSetOwner; import ch.systemsx.cisd.openbis.dss.generic.shared.api.v1.NewDataSetDTO.DataSetOwnerType; +import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.DataSet.Connections; import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Sample; import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchCriteria; -import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.DataSet.Connections; +import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchCriteria.MatchClause; +import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchCriteria.MatchClauseAttribute; import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleDataSetInformationDTO; /** @@ -216,6 +218,26 @@ public class OpenbisServiceFacadeTest extends SystemTestCase serviceFacade.putDataSet(newDataset, exampleDataSet); } + @Test + public void testSearchForLinkedDataSets() throws Exception + { + SearchCriteria sc = new SearchCriteria(); + sc.addMatchClause(MatchClause.createAttributeMatch(MatchClauseAttribute.TYPE, "LINK_TYPE")); + + List<DataSet> dataSets = serviceFacade.searchForDataSets(sc); + assertEquals(3, dataSets.size()); + assertEquals("CODE1", dataSets.get(0).getExternalDataSetCode()); + assertEquals("CODE2", dataSets.get(1).getExternalDataSetCode()); + assertEquals("CODE3", dataSets.get(2).getExternalDataSetCode()); + assertEquals("http://example.edms.pl/code=CODE1", dataSets.get(0).getExternalDataSetLink()); + assertEquals("http://example.edms.pl/code=CODE2", dataSets.get(1).getExternalDataSetLink()); + assertEquals("http://www.openbis.ch/perm_id=CODE3", dataSets.get(2) + .getExternalDataSetLink()); + assertEquals("DMS_1", dataSets.get(0).getExternalDataManagementSystem().getCode()); + assertEquals("DMS_1", dataSets.get(1).getExternalDataManagementSystem().getCode()); + assertEquals("DMS_2", dataSets.get(2).getExternalDataManagementSystem().getCode()); + } + private IOpenbisServiceFacade createServiceFacade(String userName) { return OpenbisServiceFacadeFactory.tryCreate(userName, "a", OPENBIS_URL, diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/remoteapitest/api/v1/GeneralInformationServiceJsonApiTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/remoteapitest/api/v1/GeneralInformationServiceJsonApiTest.java index 83c343b45be..81095c69865 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/remoteapitest/api/v1/GeneralInformationServiceJsonApiTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/remoteapitest/api/v1/GeneralInformationServiceJsonApiTest.java @@ -16,7 +16,7 @@ package ch.systemsx.cisd.openbis.remoteapitest.api.v1; -import static org.testng.AssertJUnit.assertEquals; +import static junit.framework.Assert.assertEquals; import static org.testng.AssertJUnit.assertNotNull; import static org.testng.AssertJUnit.assertTrue; import static org.testng.AssertJUnit.fail; @@ -610,6 +610,28 @@ public class GeneralInformationServiceJsonApiTest extends RemoteApiTestCase result.toString()); } + @Test + public void testSearchForDataSetsLinked() + { + SearchCriteria searchCriteria = new SearchCriteria(); + searchCriteria.addMatchClause(MatchClause.createAttributeMatch(MatchClauseAttribute.TYPE, + "LINK_TYPE")); + + List<DataSet> result = + generalInformationService.searchForDataSets(sessionToken, searchCriteria); + + assertEquals(3, result.size()); + assertEquals("CODE1", result.get(0).getExternalDataSetCode()); + assertEquals("CODE2", result.get(1).getExternalDataSetCode()); + assertEquals("CODE3", result.get(2).getExternalDataSetCode()); + assertEquals("http://example.edms.pl/code=CODE1", result.get(0).getExternalDataSetLink()); + assertEquals("http://example.edms.pl/code=CODE2", result.get(1).getExternalDataSetLink()); + assertEquals("http://www.openbis.ch/perm_id=CODE3", result.get(2).getExternalDataSetLink()); + assertEquals("DMS_1", result.get(0).getExternalDataManagementSystem().getCode()); + assertEquals("DMS_1", result.get(1).getExternalDataManagementSystem().getCode()); + assertEquals("DMS_2", result.get(2).getExternalDataManagementSystem().getCode()); + } + @Test public void testListVocabularyTerms() { -- GitLab