Setup creating group-vc in VirtualCorpusTestBase

instead of using SQL for testing

Change-Id: I053eb10edb6b5352302ed77287e1f7c0652dd28a
diff --git a/Changes b/Changes
index 479bec1..36550ed 100644
--- a/Changes
+++ b/Changes
@@ -7,6 +7,8 @@
   for testing 
 - Setup creating dory-vc in VirtualCorpusTestBase instead of using SQL 
   for testing 
+- Setup creating group-vc in VirtualCorpusTestBase instead of using SQL 
+  for testing 
 
 
 # version 0.76
diff --git a/src/main/resources/db/test/V3.1__insert_virtual_corpus.sql b/src/main/resources/db/test/V3.1__insert_virtual_corpus.sql
index 8c54862..3126057 100644
--- a/src/main/resources/db/test/V3.1__insert_virtual_corpus.sql
+++ b/src/main/resources/db/test/V3.1__insert_virtual_corpus.sql
@@ -65,9 +65,9 @@
 --	VALUES ("dory-vc", "PRIVATE", "VIRTUAL_CORPUS", "FREE", "dory", "test vc", "experimental",
 --	'{"collection": { "@type": "koral:docGroup", "operands": [ { "@type": "koral:doc", "key": "corpusSigle", "match": "match:eq", "value": "GOE" }, { "@type": "koral:doc", "key": "creationDate", "match": "match:geq", "type": "type:date", "value": "1820" } ], "operation": "operation:and" }}');
 
-INSERT INTO query(name, type, query_type, required_access, created_by, description, status, koral_query) 
-	VALUES ("group-vc", "PROJECT", "VIRTUAL_CORPUS", "PUB", "dory", "test vc", "experimental",
-	'{"collection": { "@type": "koral:docGroup", "operands": [ { "@type": "koral:doc", "key": "corpusSigle", "match": "match:eq", "value": "GOE" }, { "@type": "koral:doc", "key": "creationDate", "match": "match:leq", "type": "type:date", "value": "1810" } ], "operation": "operation:and" }}');
+--INSERT INTO query(name, type, query_type, required_access, created_by, description, status, koral_query) 
+--	VALUES ("group-vc", "PROJECT", "VIRTUAL_CORPUS", "PUB", "dory", "test vc", "experimental",
+--	'{"collection": { "@type": "koral:docGroup", "operands": [ { "@type": "koral:doc", "key": "corpusSigle", "match": "match:eq", "value": "GOE" }, { "@type": "koral:doc", "key": "creationDate", "match": "match:leq", "type": "type:date", "value": "1810" } ], "operation": "operation:and" }}');
 
 --INSERT INTO query(name, type, query_type, required_access, created_by, description, status, koral_query) 
 --	VALUES ("system-vc", "SYSTEM", "VIRTUAL_CORPUS", "ALL", "system", "test vc", "experimental",
diff --git a/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java b/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java
index 8445a20..f3015e8 100644
--- a/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java
+++ b/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java
@@ -31,7 +31,7 @@
                 null, QueryType.VIRTUAL_CORPUS);
         assertEquals(1, vcList.size());
         QueryDO vc = vcList.get(0);
-        assertEquals(2, vc.getId());
+        assertEquals(1, vc.getId());
         assertEquals("published-vc", vc.getName());
         assertEquals("marlin", vc.getCreatedBy());
         
@@ -92,17 +92,18 @@
     @Test
     public void retrieveVCByUserDory () throws KustvaktException {
     	createDoryVC();
-    	
+    	createDoryGroupVC();
         List<QueryDO> virtualCorpora = dao.retrieveQueryByUser("dory",
                 QueryType.VIRTUAL_CORPUS);
         assertEquals(3, virtualCorpora.size());
         // ordered by id
         Iterator<QueryDO> i = virtualCorpora.iterator();
-        assertEquals("group-vc", i.next().getName());
         assertEquals("system-vc", i.next().getName());
         assertEquals("dory-vc", i.next().getName());
+        assertEquals("group-vc", i.next().getName());
         
         deleteVC("dory-vc", "dory", "dory");
+        deleteVC("group-vc", "dory", "dory");
     }
 
     /**
diff --git a/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AccessTokenTest.java b/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AccessTokenTest.java
index 5158b46..0495355 100644
--- a/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AccessTokenTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2AccessTokenTest.java
@@ -17,7 +17,6 @@
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.exceptions.StatusCodes;
 import de.ids_mannheim.korap.utils.JsonUtils;
-import de.ids_mannheim.korap.web.controller.usergroup.UserGroupTestBase;
 import de.ids_mannheim.korap.web.controller.vc.VirtualCorpusTestBase;
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
@@ -81,7 +80,7 @@
                 .header(Attributes.AUTHORIZATION, "Bearer " + token).get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         node = JsonUtils.readTree(response.readEntity(String.class));
-        assertEquals(3, node.size());
+        assertEquals(2, node.size());
         
         revokeToken(token, confidentialClientId, clientSecret,
                 ACCESS_TOKEN_TYPE);
diff --git a/src/test/java/de/ids_mannheim/korap/web/controller/SearchPublicMetadataTest.java b/src/test/java/de/ids_mannheim/korap/web/controller/SearchPublicMetadataTest.java
index c3b9994..ede8de3 100644
--- a/src/test/java/de/ids_mannheim/korap/web/controller/SearchPublicMetadataTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/controller/SearchPublicMetadataTest.java
@@ -10,7 +10,6 @@
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.net.HttpHeaders;
 
-import de.ids_mannheim.korap.config.SpringJerseyTest;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.exceptions.StatusCodes;
 import de.ids_mannheim.korap.query.serialize.MetaQueryBuilder;
@@ -140,6 +139,7 @@
     public void testSearchPublicMetadataWithPrivateVC ()
             throws KustvaktException {
     	createDoryVC();
+    	createDoryGroupVC();
         Response response = target().path(API_VERSION).path("search")
                 .queryParam("q", "Sonne").queryParam("ql", "poliqarp")
                 .queryParam("cq", "referTo \"dory/dory-vc\"")
@@ -150,5 +150,6 @@
                 node.at("/errors/0/0").asInt());
         assertEquals(node.at("/errors/0/2").asText(), "guest");
         deleteVC("dory-vc", "dory", "dory");
+        deleteVC("group-vc", "dory", "dory");
     }
 }
diff --git a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusInfoTest.java b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusInfoTest.java
index 94f4129..875c818 100644
--- a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusInfoTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusInfoTest.java
@@ -82,7 +82,8 @@
     @Test
     public void testRetrieveProjectVC_member ()
             throws KustvaktException {
-        createDoryGroup();
+    	createDoryGroupVC();
+    	createDoryGroup();
         addMember(doryGroupName, "nemo", "dory");
         
         createAccess("dory", "group-vc", doryGroupName, "dory");
@@ -100,28 +101,33 @@
                 node.at("/type").asText());
         
         deleteGroupByName(doryGroupName, "dory");
+        deleteVC("group-vc", "dory", "dory");
     }
 
     @Test
     public void testRetrieveProjectVC_unauthorized ()
             throws KustvaktException {
+    	createDoryGroupVC();
         Response response = target().path(API_VERSION).path("vc").path("~dory")
                 .path("group-vc").request()
                 .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
                         .createBasicAuthorizationHeaderValue(testUser, "pass"))
                 .get();
         testResponseUnauthorized(response, testUser);
+        deleteVC("group-vc", "dory", "dory");
     }
 
     @Test
     public void testRetrieveProjectVC_nonActiveMember ()
             throws KustvaktException {
+    	createDoryGroupVC();
         Response response = target().path(API_VERSION).path("vc").path("~dory")
                 .path("group-vc").request()
                 .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
                         .createBasicAuthorizationHeaderValue("marlin", "pass"))
                 .get();
         testResponseUnauthorized(response, "marlin");
+        deleteVC("group-vc", "dory", "dory");
     }
 
     @Test
@@ -143,6 +149,7 @@
     @Test
     public void testRetrieveProjectVC_admin ()
             throws KustvaktException {
+    	createDoryGroupVC();
         Response response = target().path(API_VERSION).path("vc").path("~dory")
                 .path("group-vc").request()
                 .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
@@ -154,5 +161,6 @@
         assertEquals(node.at("/name").asText(), "group-vc");
         assertEquals(ResourceType.PROJECT.displayName(),
                 node.at("/type").asText());
+        deleteVC("group-vc", "dory", "dory");
     }
 }
diff --git a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusListTest.java b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusListTest.java
index 1effbc1..fea59c7 100644
--- a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusListTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusListTest.java
@@ -62,11 +62,15 @@
     public void testListVCDory ()
             throws ProcessingException, KustvaktException {
     	createDoryVC();
+    	createDoryGroupVC();
+    	
         JsonNode node = testListOwnerVC("dory");
         assertEquals(2, node.size());
         node = listVC("dory");
         assertEquals(3, node.size());
+        
         deleteVC("dory-vc", "dory", "dory");
+        deleteVC("group-vc", "dory", "dory");
     }
 
     @Test
diff --git a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusPublishedTest.java b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusPublishedTest.java
index 09ab24c..a0d9918 100644
--- a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusPublishedTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusPublishedTest.java
@@ -11,7 +11,6 @@
 import de.ids_mannheim.korap.constant.UserGroupStatus;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.exceptions.StatusCodes;
-import jakarta.ws.rs.ProcessingException;
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
@@ -96,7 +95,8 @@
     @Test
     public void testMarlinPublishedVC () throws KustvaktException {
         createDoryVC();
-    	
+    	createDoryGroupVC();
+        
         JsonNode node = testListOwnerVC("marlin");
         assertEquals(2, node.size());
         node = listVC("marlin");
@@ -125,6 +125,7 @@
         
         deleteGroupByName(marlinGroupName, "marlin");
         deleteVC("dory-vc", "dory", "dory");
+        deleteVC("group-vc", "dory", "dory");
     }
     
     private String testSharePublishedVC (String vcName) throws KustvaktException {
@@ -178,6 +179,8 @@
     
     @Test
     public void testPublishProjectVC () throws KustvaktException {
+    	createDoryGroupVC();
+    	
         String vcName = "group-vc";
         JsonNode node = retrieveVCInfo("dory", "dory", vcName);
         assertEquals(ResourceType.PROJECT.displayName(),
@@ -210,5 +213,7 @@
                 node.get(0).get("type").asText());
         
         testHiddenGroupNotFound(hiddenGroupName);
+        
+        deleteVC("group-vc", "dory", "dory");
     }
 }
diff --git a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusTestBase.java b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusTestBase.java
index 27fecab..3645df3 100644
--- a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusTestBase.java
+++ b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusTestBase.java
@@ -67,6 +67,17 @@
 		createVC(authHeader, "dory", "dory-vc", vcJson);
 	};
     
+	protected void createDoryGroupVC () throws KustvaktException {
+		String authHeader = HttpAuthorizationHandler
+				.createBasicAuthorizationHeaderValue("dory", "pass");
+
+		String vcJson = "{\"type\": \"PROJECT\""
+				+ ",\"queryType\": \"VIRTUAL_CORPUS\""
+				+ ",\"status\":\"experimental\""
+				+ ",\"corpusQuery\": \"corpusSigle=GOE AND creationDate since "
+				+ "1810\"}";
+		createVC(authHeader, "dory", "group-vc", vcJson);
+	}
     
     protected void createVC (String authHeader, String username, String vcName,
             String vcJson) throws KustvaktException {