summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2022-03-14 13:01:23 +0000
committerArne H Juul <arnej@yahooinc.com>2022-03-14 14:08:08 +0000
commit5e0381311287094dc2f47310fe246b17d46071e9 (patch)
treee206ee6e6493ce856a58cf5c102b05047f86a76b /config-model
parentfed4f6dddba35fe13b9d10dc79485fa7d4d97afb (diff)
add unit test (fails now)
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/test/derived/reference_from_several/bar.sd15
-rw-r--r--config-model/src/test/derived/reference_from_several/documentmanager.cfg81
-rw-r--r--config-model/src/test/derived/reference_from_several/foo.sd15
-rw-r--r--config-model/src/test/derived/reference_from_several/parent.sd7
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/derived/ReferenceFromSeveralTestCase.java31
5 files changed, 149 insertions, 0 deletions
diff --git a/config-model/src/test/derived/reference_from_several/bar.sd b/config-model/src/test/derived/reference_from_several/bar.sd
new file mode 100644
index 00000000000..68e1b22da3a
--- /dev/null
+++ b/config-model/src/test/derived/reference_from_several/bar.sd
@@ -0,0 +1,15 @@
+schema bar {
+ document bar {
+ field bpref type reference<parent> {
+ indexing: attribute
+ }
+ field bartitle type string {
+ indexing: attribute
+ }
+ }
+ import field bpref.x as barsximp {}
+ document-summary other {
+ summary bartitle type string {}
+ summary barsximp type int {}
+ }
+}
diff --git a/config-model/src/test/derived/reference_from_several/documentmanager.cfg b/config-model/src/test/derived/reference_from_several/documentmanager.cfg
new file mode 100644
index 00000000000..88dee077539
--- /dev/null
+++ b/config-model/src/test/derived/reference_from_several/documentmanager.cfg
@@ -0,0 +1,81 @@
+enablecompression false
+usev8geopositions false
+datatype[].id 1381038251
+datatype[].structtype[].name "position"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "y"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 427398467
+datatype[].referencetype[].target_type_id 1175161836
+datatype[].id -2026908534
+datatype[].structtype[].name "bar.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "bpref"
+datatype[].structtype[].field[].datatype 427398467
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "bartitle"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 93505813
+datatype[].documenttype[].name "bar"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -2026908534
+datatype[].documenttype[].bodystruct 0
+datatype[].documenttype[].fieldsets{[document]}.fields[] "bartitle"
+datatype[].documenttype[].fieldsets{[document]}.fields[] "bpref"
+datatype[].documenttype[].importedfield[].name "barsximp"
+datatype[].id -308552393
+datatype[].structtype[].name "foo.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "myref"
+datatype[].structtype[].field[].datatype 427398467
+datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "foo"
+datatype[].structtype[].field[].datatype 2
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 97614088
+datatype[].documenttype[].name "foo"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct -308552393
+datatype[].documenttype[].bodystruct 0
+datatype[].documenttype[].fieldsets{[document]}.fields[] "foo"
+datatype[].documenttype[].fieldsets{[document]}.fields[] "myref"
+datatype[].documenttype[].importedfield[].name "myx"
+datatype[].id 836075987
+datatype[].structtype[].name "parent.header"
+datatype[].structtype[].version 0
+datatype[].structtype[].compresstype NONE
+datatype[].structtype[].compresslevel 0
+datatype[].structtype[].compressthreshold 95
+datatype[].structtype[].compressminsize 800
+datatype[].structtype[].field[].name "x"
+datatype[].structtype[].field[].datatype 0
+datatype[].structtype[].field[].detailedtype ""
+datatype[].id 1175161836
+datatype[].documenttype[].name "parent"
+datatype[].documenttype[].version 0
+datatype[].documenttype[].inherits[].name "document"
+datatype[].documenttype[].inherits[].version 0
+datatype[].documenttype[].headerstruct 836075987
+datatype[].documenttype[].bodystruct 0
+datatype[].documenttype[].fieldsets{[document]}.fields[] "x"
diff --git a/config-model/src/test/derived/reference_from_several/foo.sd b/config-model/src/test/derived/reference_from_several/foo.sd
new file mode 100644
index 00000000000..bfc4eca28c2
--- /dev/null
+++ b/config-model/src/test/derived/reference_from_several/foo.sd
@@ -0,0 +1,15 @@
+schema foo {
+ document foo {
+ field myref type reference<parent> {
+ indexing: attribute
+ }
+ field foo type string {
+ indexing: attribute | summary
+ }
+ }
+ import field myref.x as myx {}
+ document-summary small {
+ summary myx type int {}
+ summary foo type string {}
+ }
+}
diff --git a/config-model/src/test/derived/reference_from_several/parent.sd b/config-model/src/test/derived/reference_from_several/parent.sd
new file mode 100644
index 00000000000..4b19c46ddec
--- /dev/null
+++ b/config-model/src/test/derived/reference_from_several/parent.sd
@@ -0,0 +1,7 @@
+schema parent {
+ document parent {
+ field x type int {
+ indexing: attribute
+ }
+ }
+}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/ReferenceFromSeveralTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/ReferenceFromSeveralTestCase.java
new file mode 100644
index 00000000000..17684306cce
--- /dev/null
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/ReferenceFromSeveralTestCase.java
@@ -0,0 +1,31 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.searchdefinition.derived;
+
+import com.yahoo.config.model.deploy.TestProperties;
+import com.yahoo.config.model.application.provider.MockFileRegistry;
+import com.yahoo.searchdefinition.derived.TestableDeployLogger;
+import com.yahoo.searchdefinition.ApplicationBuilder;
+import org.junit.Test;
+
+/**
+ * Tests deriving a configuration with references from multiple .sd files
+ *
+ * @author arnej
+ */
+public class ReferenceFromSeveralTestCase extends AbstractExportingTestCase {
+
+ @Override
+ boolean useV8DocManagerCfg() { return false; }
+
+ @Test
+ public void testDocManConfigs() throws Exception {
+ var logger = new TestableDeployLogger();
+ var props = new TestProperties().setExperimentalSdParsing(false).setUseV8DocManagerCfg(false);
+ ApplicationBuilder builder = ApplicationBuilder.createFromDirectory
+ ("src/test/derived/reference_from_several/", new MockFileRegistry(), logger, props);
+ derive("reference_from_several", builder, builder.getSchema("foo"));
+ assertCorrectConfigFiles("reference_from_several");
+ }
+
+}
+