summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2021-12-13 12:24:20 +0000
committerArne H Juul <arnej@yahooinc.com>2021-12-13 12:24:20 +0000
commit82ef436a105ec70c68234bd58980f98ad3df4467 (patch)
tree349a67af669c55fbd9b5798b6184ff0e0cbd6136
parent2d6b6bdcf051e55e14a1b842c53c961801930877 (diff)
extend unit test
* also test new-style config production
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/derived/Deriver.java6
-rw-r--r--config-model/src/test/examples/fieldoftypedocument-doctypes.cfg69
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/FieldOfTypeDocumentTestCase.java4
3 files changed, 79 insertions, 0 deletions
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<String> 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());