Setup creating dory-vc in VirtualCorpusTestBase

instead of using SQL for testing

Change-Id: I0664742f4a6819412e64910c5b0cb2eeef450e12
diff --git a/Changes b/Changes
index 4ea3238..479bec1 100644
--- a/Changes
+++ b/Changes
@@ -5,6 +5,9 @@
 - Setup system-vc in Initializator instead of using SQL for testing
 - Setup creating nemo-vc in VirtualCorpusTestBase instead of using SQL 
   for testing 
+- Setup creating dory-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 6c22329..8c54862 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
@@ -61,10 +61,10 @@
 
 		
 -- virtual corpora
-INSERT INTO query(name, type, query_type, required_access, created_by, description, status, koral_query) 
-	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 ("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" }}');
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 9deb763..8445a20 100644
--- a/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java
+++ b/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java
@@ -25,13 +25,17 @@
 
     @Test
     public void testListVCByType () throws KustvaktException {
+    	createDoryVC();
+    	
         List<QueryDO> vcList = dao.retrieveQueryByType(ResourceType.PUBLISHED,
                 null, QueryType.VIRTUAL_CORPUS);
         assertEquals(1, vcList.size());
         QueryDO vc = vcList.get(0);
-        assertEquals(3, vc.getId());
+        assertEquals(2, vc.getId());
         assertEquals("published-vc", vc.getName());
         assertEquals("marlin", vc.getCreatedBy());
+        
+        deleteVC("dory-vc", "dory", "dory");
     }
 
     @Test
@@ -87,14 +91,18 @@
      */
     @Test
     public void retrieveVCByUserDory () throws KustvaktException {
+    	createDoryVC();
+    	
         List<QueryDO> virtualCorpora = dao.retrieveQueryByUser("dory",
                 QueryType.VIRTUAL_CORPUS);
         assertEquals(3, virtualCorpora.size());
         // ordered by id
         Iterator<QueryDO> i = virtualCorpora.iterator();
-        assertEquals("dory-vc", i.next().getName());
         assertEquals("group-vc", i.next().getName());
         assertEquals("system-vc", i.next().getName());
+        assertEquals("dory-vc", i.next().getName());
+        
+        deleteVC("dory-vc", "dory", "dory");
     }
 
     /**
diff --git a/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusReferenceRewriteTest.java b/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusReferenceRewriteTest.java
index b813c31..c5ae661 100644
--- a/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusReferenceRewriteTest.java
+++ b/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusReferenceRewriteTest.java
@@ -22,12 +22,13 @@
 import de.ids_mannheim.korap.init.NamedVCLoader;
 import de.ids_mannheim.korap.util.QueryException;
 import de.ids_mannheim.korap.utils.JsonUtils;
+import de.ids_mannheim.korap.web.controller.vc.VirtualCorpusTestBase;
 import jakarta.ws.rs.core.Response;
 
 /**
  * @author margaretha
  */
-public class VirtualCorpusReferenceRewriteTest extends SpringJerseyTest {
+public class VirtualCorpusReferenceRewriteTest extends VirtualCorpusTestBase {
 
     @Autowired
     private NamedVCLoader vcLoader;
@@ -101,7 +102,6 @@
 //        assertEquals("match:eq", node.at("/operands/1/match").asText());
 //        assertEquals("corpusSigle", node.at("/operands/1/key").asText());
 //        
-        System.out.println(node.toPrettyString());
         node = node.at("/rewrites/0");
         assertEquals("operation:override", node.at("/operation").asText());
         assertEquals("koral:docGroupRef", node.at("/original/@type").asText());
@@ -151,6 +151,8 @@
     @Test
     public void testRewriteWithDoryVCRef ()
             throws KustvaktException, IOException, QueryException {
+    	createDoryVC();
+    	
         Response response = target().path(API_VERSION).path("search")
                 .queryParam("q", "Fisch").queryParam("ql", "poliqarp")
                 .queryParam("cq", "referTo \"dory/dory-vc\"").request()
@@ -173,5 +175,6 @@
         assertEquals("koral:docGroupRef", node.at("/original/@type").asText());
         assertEquals("dory/dory-vc", node.at("/original/ref").asText());
         
+        deleteVC("dory-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 d537584..5158b46 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
@@ -18,10 +18,11 @@
 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;
 
-public class OAuth2AccessTokenTest extends UserGroupTestBase {
+public class OAuth2AccessTokenTest extends VirtualCorpusTestBase {
 
     private String userAuthHeader;
 
@@ -61,6 +62,8 @@
 
     @Test
     public void testCustomScope () throws KustvaktException {
+    	createDoryVC();
+    	
         Response response = requestAuthorizationCode("code",
                 confidentialClientId, "", OAuth2Scope.VC_INFO.toString(), "",
                 userAuthHeader);
@@ -84,6 +87,8 @@
                 ACCESS_TOKEN_TYPE);
         revokeToken(refreshToken, confidentialClientId, clientSecret,
                 REFRESH_TOKEN_TYPE);
+        
+        deleteVC("dory-vc", "dory", "dory");
     }
 
     @Test
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 5517c75..c3b9994 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
@@ -16,11 +16,12 @@
 import de.ids_mannheim.korap.query.serialize.MetaQueryBuilder;
 import de.ids_mannheim.korap.query.serialize.QuerySerializer;
 import de.ids_mannheim.korap.utils.JsonUtils;
+import de.ids_mannheim.korap.web.controller.vc.VirtualCorpusTestBase;
 import jakarta.ws.rs.client.Entity;
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
-public class SearchPublicMetadataTest extends SpringJerseyTest {
+public class SearchPublicMetadataTest extends VirtualCorpusTestBase {
 
     @Test
     public void testSearchPublicMetadata () throws KustvaktException {
@@ -138,6 +139,7 @@
     @Test
     public void testSearchPublicMetadataWithPrivateVC ()
             throws KustvaktException {
+    	createDoryVC();
         Response response = target().path(API_VERSION).path("search")
                 .queryParam("q", "Sonne").queryParam("ql", "poliqarp")
                 .queryParam("cq", "referTo \"dory/dory-vc\"")
@@ -147,5 +149,6 @@
         assertEquals(StatusCodes.AUTHORIZATION_FAILED,
                 node.at("/errors/0/0").asInt());
         assertEquals(node.at("/errors/0/2").asText(), "guest");
+        deleteVC("dory-vc", "dory", "dory");
     }
 }
diff --git a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusControllerTest.java b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusControllerTest.java
index fad276a..9f53164 100644
--- a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusControllerTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusControllerTest.java
@@ -42,10 +42,12 @@
 
     @Test
     public void testDeleteVC_unauthorized () throws KustvaktException {
+    	createDoryVC();
         Response response = target().path(API_VERSION).path("vc").path("~dory")
                 .path("dory-vc").request()
                 .header(Attributes.AUTHORIZATION, authHeader).delete();
         testResponseUnauthorized(response, testUser);
+        deleteVC("dory-vc", "dory", "dory");
     }
     
     private void testDeleteSystemVC (String vcName) throws KustvaktException {
@@ -405,6 +407,7 @@
 
     @Test
     public void testEditVC () throws KustvaktException {
+    	createDoryVC();
         // 1st edit
         String json = "{\"description\": \"edited vc\"}";
         editVC("dory", "dory", "dory-vc", json);
@@ -417,6 +420,7 @@
         // check VC
         node = retrieveVCInfo("dory", "dory", "dory-vc");
         assertEquals(node.at("/description").asText(), "test vc");
+        deleteVC("dory-vc", "dory", "dory");
     }
 
     @Test
@@ -438,6 +442,7 @@
     @Test
     public void testEditCorpusQuery ()
             throws ProcessingException, KustvaktException {
+    	createDoryVC();
         JsonNode node = testRetrieveKoralQuery("dory", "dory-vc");
         assertEquals(node.at("/collection/@type").asText(), "koral:docGroup");
         assertEquals(node.at("/collection/operation").asText(),
@@ -463,6 +468,8 @@
         assertEquals(node.at("/collection/operands/1/key").asText(),
                 "creationDate");
         assertEquals(node.at("/collection/operands/1/value").asText(), "1820");
+        
+        deleteVC("dory-vc", "dory", "dory");
     }
 
     private JsonNode testRetrieveKoralQuery (String username, String vcName)
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 552026f..94f4129 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
@@ -4,7 +4,6 @@
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.junit.jupiter.api.Test;
-import org.mozilla.javascript.Node;
 
 import com.fasterxml.jackson.databind.JsonNode;
 
@@ -57,23 +56,27 @@
     @Test
     public void testRetrievePrivateVC ()
             throws KustvaktException {
+    	createDoryVC();
         JsonNode node = retrieveVCInfo("dory", "dory", "dory-vc");
         assertEquals(node.at("/name").asText(), "dory-vc");
         assertEquals(ResourceType.PRIVATE.displayName(),
                 node.at("/type").asText());
         
         testStatistics(node);
+        deleteVC("dory-vc", "dory", "dory");
     }
 
     @Test
     public void testRetrievePrivateVC_unauthorized ()
             throws KustvaktException {
+    	createDoryVC();
         Response response = target().path(API_VERSION).path("vc").path("~dory")
                 .path("dory-vc").request()
                 .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
                         .createBasicAuthorizationHeaderValue(testUser, "pass"))
                 .get();
         testResponseUnauthorized(response, testUser);
+        deleteVC("dory-vc", "dory", "dory");
     }
 
     @Test
@@ -124,6 +127,7 @@
     @Test
     public void testRetrievePrivateVC_admin ()
             throws KustvaktException {
+    	createDoryVC();
         Response response = target().path(API_VERSION).path("vc").path("~dory")
                 .path("dory-vc").request()
                 .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
@@ -132,8 +136,8 @@
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
         JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(1, node.at("/id").asInt());
         assertEquals(node.at("/name").asText(), "dory-vc");
+        deleteVC("dory-vc", "dory", "dory");
     }
 
     @Test
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 c3191f7..1effbc1 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
@@ -61,10 +61,12 @@
     @Test
     public void testListVCDory ()
             throws ProcessingException, KustvaktException {
+    	createDoryVC();
         JsonNode node = testListOwnerVC("dory");
         assertEquals(2, node.size());
         node = listVC("dory");
         assertEquals(3, node.size());
+        deleteVC("dory-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 a732de5..09ab24c 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
@@ -95,7 +95,8 @@
     
     @Test
     public void testMarlinPublishedVC () throws KustvaktException {
-        
+        createDoryVC();
+    	
         JsonNode node = testListOwnerVC("marlin");
         assertEquals(2, node.size());
         node = listVC("marlin");
@@ -123,6 +124,7 @@
         assertEquals(0, node.size());
         
         deleteGroupByName(marlinGroupName, "marlin");
+        deleteVC("dory-vc", "dory", "dory");
     }
     
     private String testSharePublishedVC (String vcName) throws KustvaktException {
@@ -187,7 +189,7 @@
         
         // check VC type
         node = testListOwnerVC("dory");
-        JsonNode n = node.get(1);
+        JsonNode n = node.get(0);
         assertEquals(ResourceType.PUBLISHED.displayName(),
                 n.get("type").asText());
         
@@ -205,7 +207,7 @@
         editVC("dory", "dory", vcName, json);
         node = testListOwnerVC("dory");
         assertEquals(ResourceType.PROJECT.displayName(),
-                node.get(1).get("type").asText());
+                node.get(0).get("type").asText());
         
         testHiddenGroupNotFound(hiddenGroupName);
     }
diff --git a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusReferenceTest.java b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusReferenceTest.java
index ad0ba98..4dc67e7 100644
--- a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusReferenceTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusReferenceTest.java
@@ -161,6 +161,7 @@
 
     @Test
     public void testRefNotAuthorized () throws KustvaktException {
+    	createDoryVC();
         Response response = target().path(API_VERSION).path("search")
                 .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
                 .queryParam("cq", "referTo \"dory/dory-vc\"").request().get();
@@ -169,6 +170,7 @@
         assertEquals(StatusCodes.AUTHORIZATION_FAILED,
                 node.at("/errors/0/0").asInt());
         assertEquals(node.at("/errors/0/2").asText(), "guest");
+        deleteVC("dory-vc", "dory", "dory");
     }
 
     @Test
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 5826a62..27fecab 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
@@ -55,6 +55,18 @@
     	createVC(authHeader, "nemo", "nemo-vc", vcJson);
     };
     
+	protected void createDoryVC () throws KustvaktException {
+		String authHeader = HttpAuthorizationHandler
+				.createBasicAuthorizationHeaderValue("dory", "pass");
+
+		String vcJson = "{\"type\": \"PRIVATE\""
+				+ ",\"queryType\": \"VIRTUAL_CORPUS\""
+				+ ",\"status\":\"experimental\""
+				+ ",\"corpusQuery\": \"corpusSigle=GOE AND creationDate since "
+				+ "1820\"}";
+		createVC(authHeader, "dory", "dory-vc", vcJson);
+	};
+    
     
     protected void createVC (String authHeader, String username, String vcName,
             String vcJson) throws KustvaktException {
diff --git a/src/test/resources/kustvakt-icc.conf b/src/test/resources/kustvakt-icc.conf
index 9714955..9e851c9 100644
--- a/src/test/resources/kustvakt-icc.conf
+++ b/src/test/resources/kustvakt-icc.conf
@@ -6,7 +6,7 @@
 krill.index.commit.auto = 500
 krill.index.relations.max = 100
 # Directory path of virtual corpora to cache
-#krill.namedVC = vc
+krill.namedVC = vc
 krill.test = true
 
 # LDAP