diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSampleTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSampleTest.java
index 88572a7c19952e473df8197c7635ebc6c015325b..52e16cbe5c74b45dee64b66b40363b7e5ab137a7 100644
--- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSampleTest.java
+++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSampleTest.java
@@ -103,6 +103,54 @@ public class SearchSampleTest extends AbstractSampleTest
         testSearch(TEST_USER, criteria, "/CISD/RP1-A2X");
     }
 
+    @Test
+    public void testSearchWithCodeThatEqualsWithStarWildcard()
+    {
+        SampleSearchCriteria criteria = new SampleSearchCriteria();
+        criteria.withCode().thatEquals("RP1-*X");
+        testSearch(TEST_USER, criteria, "/CISD/RP1-A2X", "/CISD/RP1-B1X");
+    }
+
+    @Test
+    public void testSearchWithCodeThatEqualsWithQuestionMarkWildcard()
+    {
+        SampleSearchCriteria criteria = new SampleSearchCriteria();
+        criteria.withCode().thatEquals("CP???1");
+        testSearch(TEST_USER, criteria, "/CISD/CP1-A1", "/CISD/CP1-B1", "/CISD/CP2-A1");
+    }
+
+    @Test
+    public void testSearchWithCodeThatStartsWithStarWildcard()
+    {
+        SampleSearchCriteria criteria = new SampleSearchCriteria();
+        criteria.withCode().thatStartsWith("PLATE_WELLSEARCH:W*L-");
+        testSearch(TEST_USER, criteria, "/CISD/PLATE_WELLSEARCH:WELL-A01", "/CISD/PLATE_WELLSEARCH:WELL-A02");
+    }
+
+    @Test
+    public void testSearchWithCodeThatStartsWithQuestionMarkWildcard()
+    {
+        SampleSearchCriteria criteria = new SampleSearchCriteria();
+        criteria.withCode().thatStartsWith("CP?-");
+        testSearch(TEST_USER, criteria, "/CISD/CP1-A1", "/CISD/CP1-A2", "/CISD/CP1-B1", "/CISD/CP2-A1");
+    }
+
+    @Test
+    public void testSearchWithCodeThatEndsWithStarWildcard()
+    {
+        SampleSearchCriteria criteria = new SampleSearchCriteria();
+        criteria.withCode().thatEndsWith("NOR*L");
+        testSearch(TEST_USER, criteria, "/TEST-SPACE/EV-PARENT-NORMAL");
+    }
+
+    @Test
+    public void testSearchWithCodeThatEndsWithQuestionMarkWildcard()
+    {
+        SampleSearchCriteria criteria = new SampleSearchCriteria();
+        criteria.withCode().thatEndsWith("-??2");
+        testSearch(TEST_USER, criteria, "/CISD/PLATE_WELLSEARCH:WELL-A02");
+    }
+
     @Test
     public void testSearchForAll()
     {
@@ -188,7 +236,7 @@ public class SearchSampleTest extends AbstractSampleTest
         criteria.withType().withCode().thatEquals("REINFECT_PLATE");
         testSearch(TEST_USER, criteria, "/CISD/RP1-A2X", "/CISD/RP1-B1X", "/CISD/RP2-A1X");
     }
-    
+
     @Test
     public void testSearchWithTypeWithCodeWithWildcard()
     {