diff options
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.java | 15 |
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()); } } |