summaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java')
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java
index 8f3fbfc9de9..69789d09dc2 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java
@@ -118,8 +118,13 @@ public class RankProfileTestCase extends SchemaTestCase {
@Test
public void requireThatSidewaysInheritanceIsImpossible() throws ParseException {
+ verifySidewaysInheritance(false);
+ verifySidewaysInheritance(true);
+ }
+ private void verifySidewaysInheritance(boolean enforce) throws ParseException {
RankProfileRegistry registry = new RankProfileRegistry();
- SearchBuilder builder = new SearchBuilder(registry, setupQueryProfileTypes());
+ SearchBuilder builder = new SearchBuilder(registry, setupQueryProfileTypes(),
+ new TestProperties().enforceRankProfileInheritance(enforce));
builder.importString(joinLines(
"schema child1 {",
" document child1 {",
@@ -163,7 +168,15 @@ public class RankProfileTestCase extends SchemaTestCase {
"}"));
try {
builder.build(true);
+ if (enforce) {
+ fail("Sideways inheritance should have been enforced");
+ } else {
+ assertNotNull(builder.getSearch("child2"));
+ assertNotNull(builder.getSearch("child1"));
+ assertTrue(registry.get("child1", "child").inherits("parent"));
+ }
} catch (IllegalArgumentException e) {
+ if (!enforce) fail("Sideways inheritance should have been allowed");
assertEquals("rank-profile 'child' inherits 'parent', but it does not exist anywhere in the inheritance of search 'child1'.", e.getMessage());
}
}