Setup creating nemo-vc in VirtualCorpusTestBase

instead of using SQL for testing

Change-Id: I2ab677ac30c1c2f88868ae233545f6be1cb823ea
diff --git a/Changes b/Changes
index 5825f43..4ea3238 100644
--- a/Changes
+++ b/Changes
@@ -2,7 +2,9 @@
 
 - Update statistics in VC info and list web-services to use VC cache (referTo) 
   instead of the original KoralQuery definitions (#791).
-- Setup system-vc in Initializator instead of using SQL for testing 
+- Setup system-vc in Initializator instead of using SQL for testing
+- Setup creating nemo-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 57b6797..6c22329 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
@@ -81,9 +81,9 @@
 	VALUES ("marlin-vc", "PRIVATE", "VIRTUAL_CORPUS", "FREE", "marlin", "marlin test share 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 ("nemo-vc", "PRIVATE", "VIRTUAL_CORPUS", "ALL", "nemo", "nemo test vc", "experimental",
-	'{"collection":{"@type":"koral:doc","value":"GOE","match":"match:eq","key":"corpusSigle"}}');	
+--INSERT INTO query(name, type, query_type, required_access, created_by, description, status, koral_query) 
+--	VALUES ("nemo-vc", "PRIVATE", "VIRTUAL_CORPUS", "ALL", "nemo", "nemo test vc", "experimental",
+--	'{"collection":{"@type":"koral:doc","value":"GOE","match":"match:eq","key":"corpusSigle"}}');	
 	
 -- virtual corpus access
 --INSERT INTO query_access(query_id, user_group_id, status, created_by) 
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 63f31ed..9deb763 100644
--- a/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java
+++ b/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java
@@ -6,20 +6,19 @@
 import java.util.Iterator;
 import java.util.List;
 
-import jakarta.persistence.PersistenceException;
-
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import de.ids_mannheim.korap.config.SpringJerseyTest;
 import de.ids_mannheim.korap.constant.QueryType;
 import de.ids_mannheim.korap.constant.ResourceType;
 import de.ids_mannheim.korap.entity.QueryDO;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.exceptions.StatusCodes;
 import de.ids_mannheim.korap.user.User;
+import de.ids_mannheim.korap.web.controller.vc.VirtualCorpusTestBase;
+import jakarta.persistence.PersistenceException;
 
-public class VirtualCorpusDaoTest extends SpringJerseyTest {
+public class VirtualCorpusDaoTest extends VirtualCorpusTestBase {
 
     @Autowired
     private QueryDao dao;
@@ -106,12 +105,16 @@
      */
     @Test
     public void retrieveVCByUserNemo () throws KustvaktException {
+    	createNemoVC();
+    	
         List<QueryDO> virtualCorpora = dao.retrieveQueryByUser("nemo",
                 QueryType.VIRTUAL_CORPUS);
         assertEquals(2, virtualCorpora.size());
         Iterator<QueryDO> i = virtualCorpora.iterator();
-        assertEquals("nemo-vc",i.next().getName());
         assertEquals("system-vc",i.next().getName());
+        assertEquals("nemo-vc",i.next().getName());
+        
+        deleteVC("nemo-vc", "nemo", "nemo");
     }
 
     /**
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 1315c95..c3191f7 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
@@ -1,18 +1,13 @@
 package de.ids_mannheim.korap.web.controller.vc;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
 
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import com.fasterxml.jackson.databind.JsonNode;
 
-import de.ids_mannheim.korap.cache.VirtualCorpusCache;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.user.User.CorpusAccess;
 import de.ids_mannheim.korap.util.QueryException;
@@ -24,12 +19,14 @@
     @Test
     public void testListVCNemo ()
             throws ProcessingException, KustvaktException {
+    	createNemoVC();
         JsonNode node = testListOwnerVC("nemo");
         assertEquals(1, node.size());
         node = listSystemVC("nemo");
         assertEquals(1, node.size());
         node = listVC("nemo");
         assertEquals(2, node.size());
+        deleteVC("nemo-vc", "nemo", "nemo");
     }
 
     @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 6fad6d7..a732de5 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
@@ -160,12 +160,12 @@
     private void testAddMemberAfterSharingPublishedVC (String hiddenGroupName)
             throws KustvaktException {
         JsonNode node = listVC("nemo");
-        assertEquals(2, node.size());
+        assertEquals(1, node.size());
 
         addMember(marlinGroupName, "nemo", "marlin");
 
         node = listVC("nemo");
-        assertEquals(3, node.size());
+        assertEquals(2, node.size());
 
         node = listRolesByGroup("admin", marlinGroupName);
         assertEquals(3, node.at("/0/members").size());
diff --git a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusSharingTest.java b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusSharingTest.java
index 5a1b900..96cfab2 100644
--- a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusSharingTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusSharingTest.java
@@ -62,6 +62,7 @@
         JsonNode node = listRolesByGroup("marlin", marlinGroupName);
         assertEquals(0, node.size());
 
+        createNemoVC();
         // share by member unauthorized
         Response response = shareVCByCreator("nemo", "nemo-vc",
                 marlinGroupName);
@@ -77,6 +78,7 @@
         node = listRolesByGroup("marlin", marlinGroupName);
         assertEquals(1, node.size());
         deleteGroupByName(marlinGroupName, "marlin");
+        deleteVC("nemo-vc", "nemo", "nemo");
     }
 
     private void testShareVC_redundant (String vcCreator, String vcName,
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 4babd96..5826a62 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
@@ -44,6 +44,18 @@
         return JsonUtils.readTree(entity);
     }
 
+    protected void createNemoVC() throws KustvaktException {
+    	String authHeader = HttpAuthorizationHandler
+                .createBasicAuthorizationHeaderValue("nemo", "pass");
+    	
+    	String vcJson = "{\"type\": \"PRIVATE\""
+                + ",\"queryType\": \"VIRTUAL_CORPUS\""
+    			+ ",\"status\":\"experimental\""
+                + ",\"corpusQuery\": \"corpusSigle=GOE\"}";
+    	createVC(authHeader, "nemo", "nemo-vc", vcJson);
+    };
+    
+    
     protected void createVC (String authHeader, String username, String vcName,
             String vcJson) throws KustvaktException {
         Response response = target().path(API_VERSION).path("vc")