Address several rewrite issues.
Update VirtualCorpusRewrite Remove Owner (#779)
Add source to QueryReferenceRewrite (#783) and VirtualCorpusRewrite
(#780)
Change-Id: I53fbae553758d8319d9438afe761f3cc7299cdd0
diff --git a/src/test/java/de/ids_mannheim/korap/misc/KoralNodeTest.java b/src/test/java/de/ids_mannheim/korap/misc/KoralNodeTest.java
index 7f923d6..dad58bd 100644
--- a/src/test/java/de/ids_mannheim/korap/misc/KoralNodeTest.java
+++ b/src/test/java/de/ids_mannheim/korap/misc/KoralNodeTest.java
@@ -29,7 +29,8 @@
ObjectNode node = JsonUtils.createObjectNode();
node.put("value_1", "setting_1");
KoralNode knode = KoralNode.wrapNode(node);
- knode.remove("value_1", null);
+ knode.remove("value_1",
+ new RewriteIdentifier("value_1", "", "settings_1"));
assertEquals(knode.rawNode().toString(), "{}");
}
diff --git a/src/test/java/de/ids_mannheim/korap/rewrite/QueryRewriteTest.java b/src/test/java/de/ids_mannheim/korap/rewrite/QueryRewriteTest.java
index 524dad5..5a3ee46 100644
--- a/src/test/java/de/ids_mannheim/korap/rewrite/QueryRewriteTest.java
+++ b/src/test/java/de/ids_mannheim/korap/rewrite/QueryRewriteTest.java
@@ -25,8 +25,8 @@
.request().get();
String ent = response.readEntity(String.class);
JsonNode node = JsonUtils.readTree(ent);
- assertEquals(node.at("/errors/0/1").asText(),
- "Query system/examplequery is not found.");
+ assertEquals("Query system/examplequery is not found.",
+ node.at("/errors/0/1").asText());
}
@Test
@@ -36,8 +36,19 @@
.resolveTemplate("q", "[orth=der]{#system-q} Baum").request()
.get();
String ent = response.readEntity(String.class);
- // System.out.println(ent);
JsonNode node = JsonUtils.readTree(ent);
+
+ node = node.at("/query/operands/1/rewrites");
+ assertEquals(3,node.size());
+ assertEquals("Kustvakt", node.at("/0/origin").asText());
+ assertEquals("operation:deletion", node.at("/0/operation").asText());
+ assertEquals("@type", node.at("/0/scope").asText());
+ assertEquals("koral:queryRef", node.at("/0/source").asText());
+
+ assertEquals("ref", node.at("/1/scope").asText());
+ assertEquals("system-q", node.at("/1/source").asText());
+
+ assertEquals("operation:injection", node.at("/2/operation").asText());
}
@Test
@@ -53,7 +64,16 @@
JsonNode node = JsonUtils.readTree(ent);
assertEquals(node.at("/query/operands/1/@type").asText(),
"koral:token");
- assertEquals(node.at("/query/operands/1/rewrites/0/scope").asText(),
- "@type(koral:queryRef)");
+
+ node = node.at("/query/operands/1/rewrites");
+ assertEquals("Kustvakt", node.at("/0/origin").asText());
+ assertEquals("operation:deletion", node.at("/0/operation").asText());
+ assertEquals("@type", node.at("/0/scope").asText());
+ assertEquals("koral:queryRef", node.at("/0/source").asText());
+
+ assertEquals("ref", node.at("/1/scope").asText());
+ assertEquals("dory/dory-q", node.at("/1/source").asText());
+
+ assertEquals("operation:injection", node.at("/2/operation").asText());
}
}
diff --git a/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusRewriteTest.java b/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusRewriteTest.java
index b3a308f..1f9c049 100644
--- a/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusRewriteTest.java
+++ b/src/test/java/de/ids_mannheim/korap/rewrite/VirtualCorpusRewriteTest.java
@@ -46,8 +46,9 @@
String ent = response.readEntity(String.class);
JsonNode node = JsonUtils.readTree(ent);
node = node.at("/collection");
- assertEquals(node.at("/@type").asText(), "koral:docGroup");
+ assertEquals("koral:docGroup", node.at("/@type").asText());
assertTrue(node.at("/operands/1/rewrites").isMissingNode());
+
testRefCachedVCWithUsername();
QueryDO vc = dao.retrieveQueryByName("named-vc1", "system");
dao.deleteQuery(vc);
@@ -68,9 +69,13 @@
node = node.at("/collection");
assertEquals(node.at("/@type").asText(), "koral:docGroup");
node = node.at("/operands/1/rewrites");
- assertEquals(2, node.size());
- assertEquals(node.at("/0/operation").asText(), "operation:deletion");
- assertEquals(node.at("/1/operation").asText(), "operation:injection");
+
+ assertEquals(1, node.size());
+ assertEquals("koral:rewrite", node.at("/0/@type").asText());
+ assertEquals("Kustvakt", node.at("/0/origin").asText());
+ assertEquals("operation:override", node.at("/0/operation").asText());
+ assertEquals("ref", node.at("/0/scope").asText());
+ assertEquals("system/named-vc1", node.at("/0/source").asText());
}
@Test
@@ -82,16 +87,23 @@
String ent = response.readEntity(String.class);
JsonNode node = JsonUtils.readTree(ent);
node = node.at("/collection");
- assertEquals(node.at("/@type").asText(), "koral:docGroup");
- assertEquals(node.at("/operands/0/@type").asText(), "koral:doc");
- assertEquals(node.at("/operands/1/@type").asText(), "koral:doc");
- assertEquals(node.at("/operands/1/value").asText(), "GOE");
- assertEquals(node.at("/operands/1/key").asText(), "corpusSigle");
+ assertEquals("koral:docGroup", node.at("/@type").asText());
+ assertEquals("koral:doc", node.at("/operands/0/@type").asText());
+ assertEquals("koral:doc", node.at("/operands/1/@type").asText());
+ assertEquals("GOE", node.at("/operands/1/value").asText());
+ assertEquals("corpusSigle", node.at("/operands/1/key").asText());
node = node.at("/operands/1/rewrites");
+
assertEquals(3, node.size());
- assertEquals(node.at("/0/operation").asText(), "operation:deletion");
- assertEquals(node.at("/1/operation").asText(), "operation:deletion");
- assertEquals(node.at("/2/operation").asText(), "operation:injection");
+ assertEquals("operation:deletion", node.at("/0/operation").asText());
+ assertEquals("@type", node.at("/0/scope").asText());
+ assertEquals("koral:docGroupRef", node.at("/0/source").asText());
+
+ assertEquals("operation:deletion", node.at("/1/operation").asText());
+ assertEquals("ref", node.at("/1/scope").asText());
+ assertEquals("system-vc", node.at("/1/source").asText());
+
+ assertEquals("operation:injection", node.at("/2/operation").asText());
}
@Test
@@ -105,13 +117,20 @@
String ent = response.readEntity(String.class);
JsonNode node = JsonUtils.readTree(ent);
node = node.at("/collection");
- assertEquals(node.at("/@type").asText(), "koral:docGroup");
- assertEquals(node.at("/operands/0/@type").asText(), "koral:docGroup");
+ assertEquals("koral:docGroup", node.at("/@type").asText());
+ assertEquals("koral:docGroup", node.at("/operands/0/@type").asText());
node = node.at("/operands/1/rewrites");
+
assertEquals(3, node.size());
- assertEquals(node.at("/0/operation").asText(), "operation:deletion");
- assertEquals(node.at("/1/operation").asText(), "operation:deletion");
- assertEquals(node.at("/2/operation").asText(), "operation:injection");
+ assertEquals("operation:deletion", node.at("/0/operation").asText());
+ assertEquals("@type", node.at("/0/scope").asText());
+ assertEquals("koral:docGroupRef", node.at("/0/source").asText());
+
+ assertEquals("operation:deletion", node.at("/1/operation").asText());
+ assertEquals("ref", node.at("/1/scope").asText());
+ assertEquals("system/system-vc", node.at("/1/source").asText());
+
+ assertEquals("operation:injection", node.at("/2/operation").asText());
}
@Test
@@ -126,7 +145,7 @@
String ent = response.readEntity(String.class);
JsonNode node = JsonUtils.readTree(ent);
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(3, node.size());
}
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 cd5e617..92b0ced 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
@@ -125,11 +125,16 @@
assertEquals(node.at("/key").asText(), "corpusSigle");
assertEquals(node.at("/rewrites/0/operation").asText(),
"operation:deletion");
- assertEquals(node.at("/rewrites/0/scope").asText(),
- "@type(koral:docGroupRef)");
+ assertEquals(node.at("/rewrites/0/scope").asText(), "@type");
+ assertEquals(node.at("/rewrites/0/source").asText(),
+ "koral:docGroupRef");
+
assertEquals(node.at("/rewrites/1/operation").asText(),
"operation:deletion");
- assertEquals(node.at("/rewrites/1/scope").asText(), "ref(system-vc)");
+ assertEquals(node.at("/rewrites/1/scope").asText(), "ref");
+ assertEquals(node.at("/rewrites/1/source").asText(), "system-vc");
+
+
assertEquals(node.at("/rewrites/2/operation").asText(),
"operation:injection");
}
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 76377a2..1394d30 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
@@ -190,9 +190,13 @@
node = node.at("/collection/operands/1/rewrites");
assertEquals(3, node.size());
assertEquals(node.at("/0/operation").asText(), "operation:deletion");
- assertEquals(node.at("/0/scope").asText(), "@type(koral:docGroupRef)");
+ assertEquals(node.at("/0/scope").asText(), "@type");
+ assertEquals(node.at("/0/source").asText(), "koral:docGroupRef");
+
assertEquals(node.at("/1/operation").asText(), "operation:deletion");
- assertEquals(node.at("/1/scope").asText(), "ref(marlin/published-vc)");
+ assertEquals(node.at("/1/scope").asText(), "ref");
+ assertEquals(node.at("/1/source").asText(), "marlin/published-vc");
+
assertEquals(node.at("/2/operation").asText(), "operation:injection");
}