summaryrefslogtreecommitdiffstats
path: root/container-search/src/test/java/com/yahoo/search/query
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2020-11-10 23:32:31 +0100
committerJon Bratseth <bratseth@gmail.com>2020-11-10 23:32:31 +0100
commit094be744d6706e02c7299ac1c92b49a0b13a24c5 (patch)
tree297d1df9650694c26fc11aceff5444ed445e9096 /container-search/src/test/java/com/yahoo/search/query
parent0c68b00b2d3a9ddc191ed1733ba2f8699d1c3dc1 (diff)
Support setting specific variants unoverridable
Diffstat (limited to 'container-search/src/test/java/com/yahoo/search/query')
-rw-r--r--container-search/src/test/java/com/yahoo/search/query/profile/config/test/XmlReadingTestCase.java13
-rw-r--r--container-search/src/test/java/com/yahoo/search/query/profile/config/test/variants/default.xml4
-rw-r--r--container-search/src/test/java/com/yahoo/search/query/profile/config/test/variants/inherited.xml10
-rw-r--r--container-search/src/test/java/com/yahoo/search/query/profile/config/test/variants/main.xml4
-rw-r--r--container-search/src/test/java/com/yahoo/search/query/profile/test/QueryProfileTestCase.java15
-rw-r--r--container-search/src/test/java/com/yahoo/search/query/profile/types/test/OverrideTestCase.java3
6 files changed, 41 insertions, 8 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/query/profile/config/test/XmlReadingTestCase.java b/container-search/src/test/java/com/yahoo/search/query/profile/config/test/XmlReadingTestCase.java
index 445073ced3a..253c6bd8792 100644
--- a/container-search/src/test/java/com/yahoo/search/query/profile/config/test/XmlReadingTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/query/profile/config/test/XmlReadingTestCase.java
@@ -219,6 +219,19 @@ public class XmlReadingTestCase {
}
@Test
+ public void testQueryProfileVariantsWithOverridableFalse() {
+ QueryProfileXMLReader reader = new QueryProfileXMLReader();
+ CompiledQueryProfileRegistry registry = reader.read("src/test/java/com/yahoo/search/query/profile/config/test/variants/").compile();
+ CompiledQueryProfile profile = registry.findQueryProfile("default");
+
+ assertEquals("a.b.c-value", new Query("?d1=d1v", profile).properties().get("a.b.c"));
+ assertEquals("a.b.c-variant-value", new Query("?d1=d1v&d2=d2v", profile).properties().get("a.b.c"));
+
+ assertTrue(profile.isOverridable(new CompoundName("a.b.c"), Map.of("d1", "d1v")));
+ assertFalse(profile.isOverridable(new CompoundName("a.b.c"), Map.of("d1", "d1v", "d2", "d2v")));
+ }
+
+ @Test
public void testNewsFE1() {
CompiledQueryProfileRegistry registry=new QueryProfileXMLReader().read("src/test/java/com/yahoo/search/query/profile/config/test/newsfe").compile();
diff --git a/container-search/src/test/java/com/yahoo/search/query/profile/config/test/variants/default.xml b/container-search/src/test/java/com/yahoo/search/query/profile/config/test/variants/default.xml
new file mode 100644
index 00000000000..95ee7d3d484
--- /dev/null
+++ b/container-search/src/test/java/com/yahoo/search/query/profile/config/test/variants/default.xml
@@ -0,0 +1,4 @@
+<query-profile id="default">
+ <dimensions>d1</dimensions>
+ <field name="a.b"><ref>main</ref></field>
+</query-profile>
diff --git a/container-search/src/test/java/com/yahoo/search/query/profile/config/test/variants/inherited.xml b/container-search/src/test/java/com/yahoo/search/query/profile/config/test/variants/inherited.xml
new file mode 100644
index 00000000000..1c1102ab5db
--- /dev/null
+++ b/container-search/src/test/java/com/yahoo/search/query/profile/config/test/variants/inherited.xml
@@ -0,0 +1,10 @@
+<query-profile id="inherited">
+ <dimensions>d2</dimensions>
+
+ <field name="c">a.b.c-value</field>
+
+ <query-profile for="d2v">
+ <field name="c" overridable="false">a.b.c-variant-value</field>
+ </query-profile>
+
+</query-profile>
diff --git a/container-search/src/test/java/com/yahoo/search/query/profile/config/test/variants/main.xml b/container-search/src/test/java/com/yahoo/search/query/profile/config/test/variants/main.xml
new file mode 100644
index 00000000000..efad3c8dd5c
--- /dev/null
+++ b/container-search/src/test/java/com/yahoo/search/query/profile/config/test/variants/main.xml
@@ -0,0 +1,4 @@
+<query-profile id="main">
+ <dimensions>d1</dimensions>
+ <query-profile for="d1v" inherits="inherited" />
+</query-profile>
diff --git a/container-search/src/test/java/com/yahoo/search/query/profile/test/QueryProfileTestCase.java b/container-search/src/test/java/com/yahoo/search/query/profile/test/QueryProfileTestCase.java
index eb1584efe84..5598ae65990 100644
--- a/container-search/src/test/java/com/yahoo/search/query/profile/test/QueryProfileTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/query/profile/test/QueryProfileTestCase.java
@@ -6,6 +6,7 @@ import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.processing.request.CompoundName;
import com.yahoo.processing.request.Properties;
import com.yahoo.search.Query;
+import com.yahoo.search.query.profile.DimensionValues;
import com.yahoo.search.query.profile.QueryProfile;
import com.yahoo.search.query.profile.QueryProfileProperties;
import com.yahoo.search.query.profile.QueryProfileRegistry;
@@ -331,7 +332,7 @@ public class QueryProfileTestCase {
public void testInstanceOverridable() {
QueryProfile profile = new QueryProfile("root/unoverridableIndex");
profile.set("model.defaultIndex","default", null);
- profile.setOverridable("model.defaultIndex", false,null);
+ profile.setOverridable("model.defaultIndex", false, DimensionValues.empty);
assertFalse(profile.isDeclaredOverridable("model.defaultIndex",null));
@@ -351,7 +352,7 @@ public class QueryProfileTestCase {
QueryProfile profile = new QueryProfile("root/unoverridableIndex");
profile.setDimensions(new String[] {"x"});
profile.set("model.defaultIndex","default", null);
- profile.setOverridable("model.defaultIndex",false,null);
+ profile.setOverridable("model.defaultIndex", false, DimensionValues.empty);
assertFalse(profile.isDeclaredOverridable("model.defaultIndex",null));
@@ -370,7 +371,7 @@ public class QueryProfileTestCase {
QueryProfile profile=new QueryProfile("test");
profile.setDimensions(new String[] {"x"});
profile.set("a","original", null);
- profile.setOverridable("a",false,null);
+ profile.setOverridable("a", false, DimensionValues.empty);
assertFalse(profile.isDeclaredOverridable("a",null));
@@ -380,12 +381,12 @@ public class QueryProfileTestCase {
@Test
public void testSimpleInstanceOverridableWithVariants2() {
- QueryProfile profile=new QueryProfile("test");
+ QueryProfile profile = new QueryProfile("test");
profile.setDimensions(new String[] {"x"});
- profile.set("a","original",new String[] {"x1"}, null);
- profile.setOverridable("a",false,null);
+ profile.set("a", "original", new String[] {"x1"}, null);
+ profile.setOverridable("a", false, DimensionValues.empty);
- assertFalse(profile.isDeclaredOverridable("a",null));
+ assertFalse(profile.isDeclaredOverridable("a", null));
Query query = new Query(HttpRequest.createTestRequest("?x=x1&a=overridden", Method.GET), profile.compile(null));
assertEquals("original",query.properties().get("a"));
diff --git a/container-search/src/test/java/com/yahoo/search/query/profile/types/test/OverrideTestCase.java b/container-search/src/test/java/com/yahoo/search/query/profile/types/test/OverrideTestCase.java
index aa6049a45ec..c0f1dfeca0b 100644
--- a/container-search/src/test/java/com/yahoo/search/query/profile/types/test/OverrideTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/query/profile/types/test/OverrideTestCase.java
@@ -5,6 +5,7 @@ import com.yahoo.jdisc.http.HttpRequest.Method;
import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.component.ComponentId;
import com.yahoo.search.Query;
+import com.yahoo.search.query.profile.DimensionValues;
import com.yahoo.search.query.profile.QueryProfile;
import com.yahoo.search.query.profile.QueryProfileRegistry;
import com.yahoo.search.query.profile.compiled.CompiledQueryProfileRegistry;
@@ -168,7 +169,7 @@ public class OverrideTestCase {
QueryProfile test = new QueryProfile("test");
test.setType(type);
test.set("myInteger", 1, registry);
- test.setOverridable("myInteger", false, null);
+ test.setOverridable("myInteger", false, DimensionValues.empty);
registry.register(test);
QueryProfile profile=new QueryProfile("profile");