Improved delete VC tests.
Change-Id: I729def71deb700118c1bd0cfd5c82c10a42ab471
diff --git a/Changes b/Changes
index 0049d3c..4f55980 100644
--- a/Changes
+++ b/Changes
@@ -12,6 +12,7 @@
- Setup creating marlin-vc and published-vc in VirtualCorpusTestBase
instead of using SQL for testing
- Fixed request URI at OAuth2 token request API.
+- Improved delete VC tests.
# version 0.76
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 c5ae661..188dbcd 100644
--- a/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusReferenceRewriteTest.java
+++ b/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusReferenceRewriteTest.java
@@ -1,23 +1,19 @@
package de.ids_mannheim.korap.rewrite;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
+
import com.fasterxml.jackson.databind.JsonNode;
import com.google.common.net.HttpHeaders;
import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
import de.ids_mannheim.korap.cache.VirtualCorpusCache;
import de.ids_mannheim.korap.config.Attributes;
-import de.ids_mannheim.korap.config.SpringJerseyTest;
-import de.ids_mannheim.korap.dao.QueryDao;
-import de.ids_mannheim.korap.entity.QueryDO;
import de.ids_mannheim.korap.exceptions.KustvaktException;
import de.ids_mannheim.korap.init.NamedVCLoader;
import de.ids_mannheim.korap.util.QueryException;
@@ -33,9 +29,6 @@
@Autowired
private NamedVCLoader vcLoader;
- @Autowired
- private QueryDao dao;
-
@Test
public void testRefCachedVC ()
throws KustvaktException, IOException, QueryException {
@@ -46,20 +39,14 @@
.queryParam("cq", "referTo named-vc1").request().get();
String ent = response.readEntity(String.class);
JsonNode node = JsonUtils.readTree(ent);
- node = node.at("/collection");
- assertEquals("koral:docGroup", node.at("/@type").asText());
+ assertEquals("koral:docGroup", node.at("/collection/@type").asText());
assertTrue(node.at("/operands/1/rewrites").isMissingNode());
testRefCachedVCWithUsername();
- QueryDO vc = dao.retrieveQueryByName("named-vc1", "system");
- dao.deleteQuery(vc);
- vc = dao.retrieveQueryByName("named-vc1", "system");
- assertNull(vc);
- VirtualCorpusCache.delete("named-vc1");
- assertFalse(VirtualCorpusCache.contains("named-vc1"));
+ testDeleteVC("named-vc1","system",admin);
}
- private void testRefCachedVCWithUsername ()
+ private void testRefCachedVCWithUsername ()
throws KustvaktException, IOException, QueryException {
Response response = target().path(API_VERSION).path("search")
.queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
@@ -67,8 +54,9 @@
.get();
String ent = response.readEntity(String.class);
JsonNode node = JsonUtils.readTree(ent);
+ assertTrue(node.at("/matches").size()>0);
node = node.at("/collection");
- assertEquals(node.at("/@type").asText(), "koral:docGroup");
+ assertEquals("koral:docGroup", node.at("/@type").asText());
node = node.at("/operands/1/rewrites");
assertEquals(1, node.size());
diff --git a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusFieldTest.java b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusFieldTest.java
index a56c34d..48e9c6b 100644
--- a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusFieldTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusFieldTest.java
@@ -7,14 +7,11 @@
import org.apache.http.entity.ContentType;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
+
import com.fasterxml.jackson.databind.JsonNode;
import com.google.common.net.HttpHeaders;
-import jakarta.ws.rs.ProcessingException;
-import jakarta.ws.rs.core.Response;
-import jakarta.ws.rs.core.Response.Status;
import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
-import de.ids_mannheim.korap.cache.VirtualCorpusCache;
import de.ids_mannheim.korap.config.Attributes;
import de.ids_mannheim.korap.dao.QueryDao;
import de.ids_mannheim.korap.entity.QueryDO;
@@ -23,6 +20,9 @@
import de.ids_mannheim.korap.init.NamedVCLoader;
import de.ids_mannheim.korap.util.QueryException;
import de.ids_mannheim.korap.utils.JsonUtils;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
public class VirtualCorpusFieldTest extends VirtualCorpusTestBase {
@@ -85,9 +85,7 @@
testRetrieveUnknownTokens();
testRetrieveProhibitedField("system", "named-vc1", "tokens");
testRetrieveProhibitedField("system", "named-vc1", "base");
- VirtualCorpusCache.delete("named-vc1");
-
- deleteVC("named-vc1", "system", "admin");
+ testDeleteVC("named-vc1", "system", "admin");
}
private void testRetrieveUnknownTokens ()
@@ -103,8 +101,7 @@
vcLoader.loadVCToCache("named-vc2", "/vc/named-vc2.jsonld");
JsonNode n = testRetrieveField("system", "named-vc2", "textSigle");
assertEquals(2, n.at("/corpus/value").size());
- VirtualCorpusCache.delete("named-vc2");
- deleteVcFromDB("named-vc2");
+ testDeleteVC("named-vc2", "system", admin);
}
@Test
@@ -115,8 +112,7 @@
n = n.at("/corpus/value");
assertEquals(1, n.size());
assertEquals(n.get(0).asText(), "GOE/AGI/00000");
- VirtualCorpusCache.delete("named-vc3");
- deleteVcFromDB("named-vc3");
+ testDeleteVC("named-vc3", "system", admin);
}
@Test
@@ -137,7 +133,6 @@
node.at("/errors/0/0").asInt());
assertEquals(node.at("/errors/0/1").asText(),
"Unauthorized operation for user: dory");
- VirtualCorpusCache.delete("named-vc3");
- deleteVcFromDB("named-vc3");
+ testDeleteVC("named-vc3", "system", admin);
}
}
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 21833c6..c7a3eec 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
@@ -1,8 +1,6 @@
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.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
@@ -16,8 +14,6 @@
import de.ids_mannheim.korap.cache.VirtualCorpusCache;
import de.ids_mannheim.korap.config.Attributes;
import de.ids_mannheim.korap.constant.UserGroupStatus;
-import de.ids_mannheim.korap.dao.QueryDao;
-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.init.NamedVCLoader;
@@ -31,9 +27,6 @@
@Autowired
private NamedVCLoader vcLoader;
- @Autowired
- private QueryDao dao;
-
/**
* VC data exists, but it has not been cached, so it is not found
* in the DB.
@@ -64,19 +57,9 @@
assertTrue(VirtualCorpusCache.contains("named-vc2"));
node = testSearchWithRef_VC2();
assertEquals(numOfMatches, node.at("/matches").size());
- VirtualCorpusCache.delete("named-vc2");
- assertFalse(VirtualCorpusCache.contains("named-vc2"));
- QueryDO vc = dao.retrieveQueryByName("named-vc1", "system");
- dao.deleteQuery(vc);
- vc = dao.retrieveQueryByName("named-vc1", "system");
- assertNull(vc);
- vc = dao.retrieveQueryByName("named-vc2", "system");
- dao.deleteQuery(vc);
- vc = dao.retrieveQueryByName("named-vc2", "system");
- assertNull(vc);
- VirtualCorpusCache.delete("named-vc1");
- assertFalse(VirtualCorpusCache.contains("named-vc1"));
+ testDeleteVC("named-vc1", "system", admin);
+ testDeleteVC("named-vc2", "system", admin);
}
private int testSearchWithoutRef_VC1 () throws KustvaktException {
@@ -122,16 +105,13 @@
return JsonUtils.readTree(ent);
}
- @Test
- public void testStatisticsWithRef () throws KustvaktException {
+ private void testStatisticsWithRef () throws KustvaktException {
String corpusQuery = "availability = /CC.*/ & referTo named-vc1";
Response response = target().path(API_VERSION).path("statistics")
.queryParam("cq", corpusQuery).request().get();
String ent = response.readEntity(String.class);
JsonNode node = JsonUtils.readTree(ent);
assertEquals(2, node.at("/documents").asInt());
- VirtualCorpusCache.delete("named-vc1");
- assertFalse(VirtualCorpusCache.contains("named-vc1"));
}
@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 8843e51..f3d92de 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
@@ -4,6 +4,7 @@
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
import java.util.List;
import java.util.Map.Entry;
@@ -16,6 +17,7 @@
import com.google.common.net.HttpHeaders;
import de.ids_mannheim.korap.authentication.http.HttpAuthorizationHandler;
+import de.ids_mannheim.korap.cache.VirtualCorpusCache;
import de.ids_mannheim.korap.config.Attributes;
import de.ids_mannheim.korap.constant.ResourceType;
import de.ids_mannheim.korap.exceptions.KustvaktException;
@@ -244,6 +246,24 @@
// assertEquals(Status.OK.getStatusCode(), response.getStatus());
return response;
}
+
+ protected void testDeleteVC (String vcName, String vcCreator,
+ String deletedBy) throws KustvaktException {
+ deleteVC(vcName, vcCreator, deletedBy);
+
+ Response response = target().path(API_VERSION).path("search")
+ .queryParam("q", "[orth=der]").queryParam("ql", "poliqarp")
+ .queryParam("cq", "referTo "+vcName).request().get();
+
+ String ent = response.readEntity(String.class);
+ JsonNode node = JsonUtils.readTree(ent);
+ assertEquals(StatusCodes.NO_RESOURCE_FOUND,
+ node.at("/errors/0/0").asInt());
+ assertEquals("Virtual corpus "+vcCreator+"/"+vcName+" is not found.",
+ node.at("/errors/0/1").asText());
+ assertFalse(VirtualCorpusCache.contains(vcName));
+
+ }
protected void testResponseUnauthorized (Response response, String username)
throws KustvaktException {