From 82ef436a105ec70c68234bd58980f98ad3df4467 Mon Sep 17 00:00:00 2001 From: Arne H Juul Date: Mon, 13 Dec 2021 12:24:20 +0000 Subject: extend unit test * also test new-style config production --- .../yahoo/searchdefinition/derived/Deriver.java | 6 ++ .../test/examples/fieldoftypedocument-doctypes.cfg | 69 ++++++++++++++++++++++ .../FieldOfTypeDocumentTestCase.java | 4 ++ 3 files changed, 79 insertions(+) create mode 100644 config-model/src/test/examples/fieldoftypedocument-doctypes.cfg diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/Deriver.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/Deriver.java index 51dc9834f20..14e303522e0 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/Deriver.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/Deriver.java @@ -38,6 +38,12 @@ public class Deriver { return new DocumentManager().produce(getSearchBuilder(sds).getModel(), new DocumentmanagerConfig.Builder()); } + public static DocumentmanagerConfig.Builder getDocumentManagerConfig(List sds, boolean useV8DocManagerCfg) { + return new DocumentManager() + .useV8DocManagerCfg(useV8DocManagerCfg) + .produce(getSearchBuilder(sds).getModel(), new DocumentmanagerConfig.Builder()); + } + public static DocumenttypesConfig.Builder getDocumentTypesConfig(String sd) { return getDocumentTypesConfig(Collections.singletonList(sd)); } diff --git a/config-model/src/test/examples/fieldoftypedocument-doctypes.cfg b/config-model/src/test/examples/fieldoftypedocument-doctypes.cfg new file mode 100644 index 00000000000..a7a4c675311 --- /dev/null +++ b/config-model/src/test/examples/fieldoftypedocument-doctypes.cfg @@ -0,0 +1,69 @@ +enablecompression false +usev8geopositions false +doctype[0].name "document" +doctype[0].idx 10000 +doctype[0].contentstruct 10001 +doctype[0].primitivetype[0].idx 10002 +doctype[0].primitivetype[0].name "byte" +doctype[0].primitivetype[1].idx 10003 +doctype[0].primitivetype[1].name "int" +doctype[0].primitivetype[2].idx 10004 +doctype[0].primitivetype[2].name "long" +doctype[0].primitivetype[3].idx 10005 +doctype[0].primitivetype[3].name "string" +doctype[0].primitivetype[4].idx 10006 +doctype[0].primitivetype[4].name "raw" +doctype[0].primitivetype[5].idx 10008 +doctype[0].primitivetype[5].name "float" +doctype[0].primitivetype[6].idx 10009 +doctype[0].primitivetype[6].name "double" +doctype[0].primitivetype[7].idx 10011 +doctype[0].primitivetype[7].name "uri" +doctype[0].primitivetype[8].idx 10012 +doctype[0].primitivetype[8].name "predicate" +doctype[0].primitivetype[9].idx 10013 +doctype[0].primitivetype[9].name "bool" +doctype[0].primitivetype[10].idx 10014 +doctype[0].primitivetype[10].name "float16" +doctype[0].wsettype[0].idx 10007 +doctype[0].wsettype[0].elementtype 10005 +doctype[0].wsettype[0].createifnonexistent true +doctype[0].wsettype[0].removeifzero true +doctype[0].structtype[0].idx 10001 +doctype[0].structtype[0].name "document.header" +doctype[0].structtype[1].idx 10010 +doctype[0].structtype[1].name "position" +doctype[0].structtype[1].field[0].name "x" +doctype[0].structtype[1].field[0].internalid 914677694 +doctype[0].structtype[1].field[0].type 10003 +doctype[0].structtype[1].field[1].name "y" +doctype[0].structtype[1].field[1].internalid 900009410 +doctype[0].structtype[1].field[1].type 10003 +doctype[1].name "book" +doctype[1].idx 10015 +doctype[1].inherits[0].idx 10000 +doctype[1].contentstruct 10016 +doctype[1].fieldsets{[document]}.fields[0] "soundtrack" +doctype[1].structtype[0].idx 10016 +doctype[1].structtype[0].name "book.header" +doctype[1].structtype[0].field[0].name "soundtrack" +doctype[1].structtype[0].field[0].internalid 1258961213 +doctype[1].structtype[0].field[0].type 10017 +doctype[2].name "music" +doctype[2].idx 10017 +doctype[2].inherits[0].idx 10000 +doctype[2].contentstruct 10018 +doctype[2].fieldsets{[document]}.fields[0] "intfield" +doctype[2].fieldsets{[document]}.fields[1] "longfield" +doctype[2].fieldsets{[document]}.fields[2] "stringfield" +doctype[2].structtype[0].idx 10018 +doctype[2].structtype[0].name "music.header" +doctype[2].structtype[0].field[0].name "intfield" +doctype[2].structtype[0].field[0].internalid 435380425 +doctype[2].structtype[0].field[0].type 10003 +doctype[2].structtype[0].field[1].name "stringfield" +doctype[2].structtype[0].field[1].internalid 1182460484 +doctype[2].structtype[0].field[1].type 10005 +doctype[2].structtype[0].field[2].name "longfield" +doctype[2].structtype[0].field[2].internalid 1589309697 +doctype[2].structtype[0].field[2].type 10004 diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/FieldOfTypeDocumentTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/FieldOfTypeDocumentTestCase.java index fdd7fe95c45..bab56c9db2c 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/FieldOfTypeDocumentTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/FieldOfTypeDocumentTestCase.java @@ -31,6 +31,10 @@ public class FieldOfTypeDocumentTestCase extends AbstractSchemaTestCase { assertConfigFile("src/test/examples/fieldoftypedocument.cfg", new DocumentmanagerConfig(value).toString() + "\n"); + value = Deriver.getDocumentManagerConfig(sds, true); + assertConfigFile("src/test/examples/fieldoftypedocument-doctypes.cfg", + new DocumentmanagerConfig(value).toString() + "\n"); + DocumentTypeManager manager = new DocumentTypeManager(); DocumentTypeManagerConfigurer.configure(manager, "raw:" + new DocumentmanagerConfig(value).toString()); -- cgit v1.2.3