From f9e64a2b2523bac283eda46f5b5f6197541041d9 Mon Sep 17 00:00:00 2001
From: juanf <juanf>
Date: Tue, 3 May 2016 15:14:06 +0000
Subject: [PATCH] SSDM-3529 : Vocabulary test for experiments and materials

SVN: 36467
---
 .../asapi/v3/SearchExperimentTypeTest.java          | 12 ++++++++++--
 .../systemtest/asapi/v3/SearchMaterialTypeTest.java | 13 +++++++++++--
 2 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchExperimentTypeTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchExperimentTypeTest.java
index 9891d122583..e16afac5ec1 100644
--- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchExperimentTypeTest.java
+++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchExperimentTypeTest.java
@@ -18,6 +18,7 @@ package ch.ethz.sis.openbis.systemtest.asapi.v3;
 
 import static org.testng.Assert.assertEquals;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
@@ -36,12 +37,12 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.sort.CodeComparator;
 public class SearchExperimentTypeTest extends AbstractTest
 {
     @Test
-    public void testSearchAll()
+    public void testSearchAllWithVocabularies()
     {
         String sessionToken = v3api.login(TEST_USER, PASSWORD);
         EntityTypeSearchCriteria searchCriteria = new EntityTypeSearchCriteria();
         ExperimentTypeFetchOptions fetchOptions = new ExperimentTypeFetchOptions();
-        fetchOptions.withPropertyAssignments();
+        fetchOptions.withPropertyAssignments().withVocabulary();
         SearchResult<ExperimentType> searchResult = v3api.searchExperimentTypes(sessionToken, searchCriteria, fetchOptions);
 
         List<ExperimentType> types = searchResult.getObjects();
@@ -49,6 +50,13 @@ public class SearchExperimentTypeTest extends AbstractTest
         Collections.sort(codes);
         assertEquals(codes.toString(), "[COMPOUND_HCS, DELETION_TEST, SIRNA_HCS]");
         assertEquals(types.get(0).getFetchOptions().hasPropertyAssignments(), true);
+        
+        List<String> vocabularyCodes = new ArrayList<String>();
+        for(ExperimentType type:types) {
+        	vocabularyCodes.addAll(extractVocabularyCodes(type.getPropertyAssignments()));
+        }
+        Collections.sort(vocabularyCodes);
+        assertEquals(vocabularyCodes.toString(), "[GENDER, ORGANISM]");
         v3api.logout(sessionToken);
     }
 
diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchMaterialTypeTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchMaterialTypeTest.java
index 1a47898e493..3b20d42d92d 100644
--- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchMaterialTypeTest.java
+++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchMaterialTypeTest.java
@@ -18,6 +18,7 @@ package ch.ethz.sis.openbis.systemtest.asapi.v3;
 
 import static org.testng.Assert.assertEquals;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
@@ -36,12 +37,12 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.sort.CodeComparator;
 public class SearchMaterialTypeTest extends AbstractTest
 {
     @Test
-    public void testSearchAll()
+    public void testSearchAllWithVocabularies()
     {
         String sessionToken = v3api.login(TEST_USER, PASSWORD);
         EntityTypeSearchCriteria searchCriteria = new EntityTypeSearchCriteria();
         MaterialTypeFetchOptions fetchOptions = new MaterialTypeFetchOptions();
-        fetchOptions.withPropertyAssignments();
+        fetchOptions.withPropertyAssignments().withVocabulary();
         SearchResult<MaterialType> searchResult = v3api.searchMaterialTypes(sessionToken, searchCriteria, fetchOptions);
 
         List<MaterialType> types = searchResult.getObjects();
@@ -49,6 +50,14 @@ public class SearchMaterialTypeTest extends AbstractTest
         Collections.sort(codes);
         assertEquals(codes.toString(), "[BACTERIUM, CELL_LINE, COMPOUND, CONTROL, DELETION_TEST, GENE, OTHER_REF, SELF_REF, SIRNA, SLOW_GENE, VIRUS]");
         assertEquals(types.get(0).getFetchOptions().hasPropertyAssignments(), true);
+        
+        List<String> vocabularyCodes = new ArrayList<String>();
+        for(MaterialType type:types) {
+        	vocabularyCodes.addAll(extractVocabularyCodes(type.getPropertyAssignments()));
+        }
+        Collections.sort(vocabularyCodes);
+        assertEquals(vocabularyCodes.toString(), "[ORGANISM, ORGANISM]");
+        
         v3api.logout(sessionToken);
     }
 
-- 
GitLab