Setup system-vc in Initializator instead of using SQL for testing

Change-Id: Id9ec7c74530a90706bfbab39b7d46cd794d0dcd6
diff --git a/src/main/java/de/ids_mannheim/korap/entity/QueryDO.java b/src/main/java/de/ids_mannheim/korap/entity/QueryDO.java
index 6b39bd4..3a5ebde 100644
--- a/src/main/java/de/ids_mannheim/korap/entity/QueryDO.java
+++ b/src/main/java/de/ids_mannheim/korap/entity/QueryDO.java
@@ -73,7 +73,8 @@
         return "id=" + id + ", name= " + name + ", type= " + type + ", status= "
                 + status + ", description=" + description + ", requiredAccess="
                 + requiredAccess + ", koralQuery= " + koralQuery
-                + ", definition= " + definition + ", createdBy= " + createdBy;
+                + ", definition= " + definition + ", createdBy= " + createdBy 
+                + ", isCached ="+isCached;
     }
 
     @Override
diff --git a/src/main/java/de/ids_mannheim/korap/init/Initializator.java b/src/main/java/de/ids_mannheim/korap/init/Initializator.java
index fbcca0e..b633e8e 100644
--- a/src/main/java/de/ids_mannheim/korap/init/Initializator.java
+++ b/src/main/java/de/ids_mannheim/korap/init/Initializator.java
@@ -52,14 +52,16 @@
         t.start();
     }
 
-    public void initTest () throws IOException, KustvaktException {
-        VirtualCorpusCache.CACHE_LOCATION = KustvaktConfiguration.DATA_FOLDER
-                + "/vc-cache";
-        setInitialAccessScope();
-        if (config.createInitialSuperClient()) {
-            clientService.createInitialTestSuperClient();
-        }
-    }
+	public void initTest ()
+			throws IOException, KustvaktException, QueryException {
+		VirtualCorpusCache.CACHE_LOCATION = KustvaktConfiguration.DATA_FOLDER
+				+ "/vc-cache";
+		setInitialAccessScope();
+		if (config.createInitialSuperClient()) {
+			clientService.createInitialTestSuperClient();
+		}
+		vcLoader.loadVCToCache("system-vc", "/vc/system-vc.jsonld");
+	}
 
     public void initResourceTest () throws IOException, KustvaktException {
         setInitialAccessScope();
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 26a7243..57b6797 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
@@ -69,9 +69,9 @@
 	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",
-	'{"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 ("system-vc", "SYSTEM", "VIRTUAL_CORPUS", "ALL", "system", "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 ("published-vc", "PUBLISHED", "VIRTUAL_CORPUS", "ALL", "marlin", "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 b46ff3a..63f31ed 100644
--- a/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java
+++ b/src/test/java/de/ids_mannheim/korap/dao/VirtualCorpusDaoTest.java
@@ -30,9 +30,9 @@
                 null, QueryType.VIRTUAL_CORPUS);
         assertEquals(1, vcList.size());
         QueryDO vc = vcList.get(0);
-        assertEquals(4, vc.getId());
-        assertEquals(vc.getName(), "published-vc");
-        assertEquals(vc.getCreatedBy(), "marlin");
+        assertEquals(3, vc.getId());
+        assertEquals("published-vc", vc.getName());
+        assertEquals("marlin", vc.getCreatedBy());
     }
 
     @Test
@@ -93,9 +93,9 @@
         assertEquals(3, virtualCorpora.size());
         // ordered by id
         Iterator<QueryDO> i = virtualCorpora.iterator();
-        assertEquals(i.next().getName(), "dory-vc");
-        assertEquals(i.next().getName(), "group-vc");
-        assertEquals(i.next().getName(), "system-vc");
+        assertEquals("dory-vc", i.next().getName());
+        assertEquals("group-vc", i.next().getName());
+        assertEquals("system-vc", i.next().getName());
     }
 
     /**
@@ -110,8 +110,8 @@
                 QueryType.VIRTUAL_CORPUS);
         assertEquals(2, virtualCorpora.size());
         Iterator<QueryDO> i = virtualCorpora.iterator();
-        assertEquals(i.next().getName(), "system-vc");
-        assertEquals(i.next().getName(), "nemo-vc");
+        assertEquals("nemo-vc",i.next().getName());
+        assertEquals("system-vc",i.next().getName());
     }
 
     /**
@@ -126,9 +126,9 @@
                 QueryType.VIRTUAL_CORPUS);
         assertEquals(3, virtualCorpora.size());
         Iterator<QueryDO> i = virtualCorpora.iterator();
-        assertEquals(i.next().getName(), "system-vc");
-        assertEquals(i.next().getName(), "published-vc");
-        assertEquals(i.next().getName(), "marlin-vc");
+        assertEquals("published-vc",i.next().getName());
+        assertEquals("marlin-vc",i.next().getName());
+        assertEquals("system-vc",i.next().getName());
     }
 
     /**
@@ -143,6 +143,6 @@
                 QueryType.VIRTUAL_CORPUS);
         assertEquals(1, virtualCorpora.size());
         Iterator<QueryDO> i = virtualCorpora.iterator();
-        assertEquals(i.next().getName(), "system-vc");
+        assertEquals("system-vc",i.next().getName());
     }
 }
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 3cb9156..b813c31 100644
--- a/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusReferenceRewriteTest.java
+++ b/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusReferenceRewriteTest.java
@@ -93,12 +93,16 @@
         assertEquals("koral:doc", node.at("/operands/0/@type").asText());
         assertEquals("CC.*", node.at("/operands/0/value").asText());
         
-        assertEquals("koral:doc", node.at("/operands/1/@type").asText());
-        assertEquals("GOE", node.at("/operands/1/value").asText());
-        assertEquals("match:eq", node.at("/operands/1/match").asText());
-        assertEquals("corpusSigle", node.at("/operands/1/key").asText());
-        
-        node = node.at("/operands/1/rewrites/0");
+        assertEquals("koral:docGroupRef", node.at("/operands/1/@type").asText());
+        assertEquals("system-vc", node.at("/operands/1/ref").asText());
+//      
+//        assertEquals("koral:doc", node.at("/operands/1/@type").asText());
+//        assertEquals("GOE", node.at("/operands/1/value").asText());
+//        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());
         assertEquals("system-vc", node.at("/original/ref").asText());    
@@ -129,12 +133,16 @@
         assertEquals("ACA.*", availability.at("/1/operands/0/value").asText());
         assertEquals("QAO-NC", availability.at("/1/operands/1/value").asText());
         
-        assertEquals("koral:doc", node.at("/operands/1/@type").asText());
-        assertEquals("GOE", node.at("/operands/1/value").asText());
-        assertEquals("match:eq", node.at("/operands/1/match").asText());
-        assertEquals("corpusSigle", node.at("/operands/1/key").asText());
+		assertEquals("koral:docGroupRef",
+				node.at("/operands/1/@type").asText());
+		assertEquals("system-vc", node.at("/operands/1/ref").asText());
+//      
+//        assertEquals("koral:doc", node.at("/operands/1/@type").asText());
+//        assertEquals("GOE", node.at("/operands/1/value").asText());
+//        assertEquals("match:eq", node.at("/operands/1/match").asText());
+//        assertEquals("corpusSigle", node.at("/operands/1/key").asText());
         
-        node = node.at("/operands/1/rewrites/0");
+        node = node.at("/rewrites/0");
         assertEquals("operation:override", node.at("/operation").asText());
         assertEquals("koral:docGroupRef", node.at("/original/@type").asText());
         assertEquals("system/system-vc", node.at("/original/ref").asText());
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 0ca1efc..5517c75 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
@@ -118,19 +118,21 @@
                 .queryParam("access-rewrite-disabled", "true").request().get();
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
         String entity = response.readEntity(String.class);
-        JsonNode node = JsonUtils.readTree(entity);
-        assertEquals(node.at("/collection/operation").asText(),
-                "operation:and");
-        node = node.at("/collection/operands/1");
-        assertEquals(node.at("/@type").asText(), "koral:doc");
-        assertEquals(node.at("/value").asText(), "GOE");
-        assertEquals(node.at("/match").asText(), "match:eq");
-        assertEquals(node.at("/key").asText(), "corpusSigle");
-        assertEquals(node.at("/rewrites/0/operation").asText(),
-                "operation:override");
+        JsonNode node = JsonUtils.readTree(entity).at("/collection");
+        assertEquals("operation:and",node.at("/operation").asText());
+        
+        assertEquals("operation:override", node.at("/rewrites/0/operation").asText());
         assertEquals("koral:docGroupRef",
                 node.at("/rewrites/0/original/@type").asText());
         assertEquals("system-vc", node.at("/rewrites/0/original/ref").asText());
+        
+        node = node.at("/operands/1");
+        assertEquals("koral:docGroupRef", node.at("/@type").asText());
+        assertEquals("system-vc", node.at("/ref").asText());
+//        assertEquals(node.at("/value").asText(), "GOE");
+//        assertEquals(node.at("/match").asText(), "match:eq");
+//        assertEquals(node.at("/key").asText(), "corpusSigle");
+        
     }
 
     @Test
diff --git a/src/test/resources/vc/system-vc.jsonld b/src/test/resources/vc/system-vc.jsonld
new file mode 100644
index 0000000..4dbd606
--- /dev/null
+++ b/src/test/resources/vc/system-vc.jsonld
@@ -0,0 +1 @@
+{"collection":{"@type":"koral:doc","value":"GOE","match":"match:eq","key":"corpusSigle"}}
\ No newline at end of file