aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com/yahoo/schema/derived/SummaryTestCase.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/test/java/com/yahoo/schema/derived/SummaryTestCase.java')
-rw-r--r--config-model/src/test/java/com/yahoo/schema/derived/SummaryTestCase.java25
1 files changed, 21 insertions, 4 deletions
diff --git a/config-model/src/test/java/com/yahoo/schema/derived/SummaryTestCase.java b/config-model/src/test/java/com/yahoo/schema/derived/SummaryTestCase.java
index 5019ed0dd60..5e02f63ec39 100644
--- a/config-model/src/test/java/com/yahoo/schema/derived/SummaryTestCase.java
+++ b/config-model/src/test/java/com/yahoo/schema/derived/SummaryTestCase.java
@@ -25,6 +25,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
/**
* Tests summary extraction
@@ -226,9 +227,10 @@ public class SummaryTestCase extends AbstractSchemaTestCase {
assertOverride(schema, "documentid", SummaryTransform.DOCUMENT_ID.getName(), "", "bar");
}
- @Test
- void tokens_override() throws ParseException {
- var schema = buildSchema("field foo type string { indexing: summary }",
+ private void check_tokens_override(boolean index, boolean attribute, SummaryTransform exp) throws ParseException {
+ var schema = buildSchema("field foo type string { indexing: " +
+ (index ? "index | " : "") +
+ (attribute ? "attribute | " : "") + "summary }",
joinLines("document-summary bar {",
" summary baz {",
" source: foo ",
@@ -236,11 +238,26 @@ public class SummaryTestCase extends AbstractSchemaTestCase {
" }",
" from-disk",
"}"));
- assertOverride(schema, "baz", SummaryTransform.TOKENS.getName(), "foo", "bar");
+ assertOverride(schema, "baz", exp.getName(), "foo", "bar");
assert(!schema.getSummary("default").getSummaryFields().containsKey("baz"));
}
@Test
+ void tokens_override() throws ParseException {
+ try {
+ check_tokens_override(false, false, SummaryTransform.TOKENS);
+ fail("Expected IllegalArgumentException");
+ } catch (IllegalArgumentException e) {
+ assertEquals("For schema 'test', document-summary 'bar'" +
+ ", summary field 'baz', source field 'foo'" +
+ ": tokens summary field setting requires index or attribute for source field", e.getMessage());
+ }
+ check_tokens_override(false, true, SummaryTransform.ATTRIBUTE_TOKENS);
+ check_tokens_override(true, false, SummaryTransform.TOKENS);
+ check_tokens_override(true, true, SummaryTransform.TOKENS);
+ }
+
+ @Test
void documentid_summary_transform_requires_disk_access() {
assertFalse(SummaryTransform.DOCUMENT_ID.isInMemory());
}