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")