aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com/yahoo/schema
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2023-02-07 12:42:23 +0100
committerJon Bratseth <bratseth@gmail.com>2023-02-07 12:42:23 +0100
commit5bd8b14640a35e37aad01b40f3da1e2f867d5ec9 (patch)
tree3fed1838fb9ff4fc2538a2fb1dd0ff5996cc2e44 /config-model/src/test/java/com/yahoo/schema
parentaf166ac69fea497bd0ada48390dc00e28a30de12 (diff)
Handle schema files with no content
Diffstat (limited to 'config-model/src/test/java/com/yahoo/schema')
-rw-r--r--config-model/src/test/java/com/yahoo/schema/IndexingParsingTestCase.java11
-rw-r--r--config-model/src/test/java/com/yahoo/schema/SchemaParsingTestCase.java32
-rw-r--r--config-model/src/test/java/com/yahoo/schema/parser/IntermediateCollectionTestCase.java15
3 files changed, 27 insertions, 31 deletions
diff --git a/config-model/src/test/java/com/yahoo/schema/IndexingParsingTestCase.java b/config-model/src/test/java/com/yahoo/schema/IndexingParsingTestCase.java
index fcbea179810..f06b1a73e8e 100644
--- a/config-model/src/test/java/com/yahoo/schema/IndexingParsingTestCase.java
+++ b/config-model/src/test/java/com/yahoo/schema/IndexingParsingTestCase.java
@@ -2,9 +2,13 @@
package com.yahoo.schema;
import com.yahoo.schema.parser.ParseException;
+import com.yahoo.yolean.Exceptions;
import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
/**
* Tests that indexing statements are parsed correctly.
@@ -22,10 +26,9 @@ public class IndexingParsingTestCase extends AbstractSchemaTestCase {
void requireThatParseExceptionPositionIsCorrect() throws Exception {
try {
ApplicationBuilder.buildFromFile("src/test/examples/indexing_invalid_expression.sd");
- } catch (ParseException e) {
- if (!e.getMessage().contains("at line 5, column 57.")) {
- throw e;
- }
+ fail();
+ } catch (IllegalArgumentException e) {
+ assertTrue(Exceptions.toMessageString(e).contains("at line 5, column 57."));
}
}
diff --git a/config-model/src/test/java/com/yahoo/schema/SchemaParsingTestCase.java b/config-model/src/test/java/com/yahoo/schema/SchemaParsingTestCase.java
index c8657df23ce..04c78773831 100644
--- a/config-model/src/test/java/com/yahoo/schema/SchemaParsingTestCase.java
+++ b/config-model/src/test/java/com/yahoo/schema/SchemaParsingTestCase.java
@@ -5,9 +5,11 @@ import java.io.IOException;
import com.yahoo.schema.parser.ParseException;
+import com.yahoo.yolean.Exceptions;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
/**
@@ -27,10 +29,8 @@ public class SchemaParsingTestCase extends AbstractSchemaTestCase {
void requireThatParseExceptionPositionIsCorrect() throws Exception {
try {
ApplicationBuilder.buildFromFile("src/test/examples/invalid_sd_construct.sd");
- } catch (ParseException e) {
- if (!e.getMessage().contains("at line 5, column 36.")) {
- throw e;
- }
+ } catch (IllegalArgumentException e) {
+ assertTrue(Exceptions.toMessageString(e).contains("at line 5, column 36."));
}
}
@@ -38,10 +38,8 @@ public class SchemaParsingTestCase extends AbstractSchemaTestCase {
void requireThatParserHandlesLexicalError() throws Exception {
try {
ApplicationBuilder.buildFromFile("src/test/examples/invalid_sd_lexical_error.sd");
- } catch (ParseException e) {
- if (!e.getMessage().contains("at line 7, column 27.")) {
- throw e;
- }
+ } catch (IllegalArgumentException e) {
+ assertTrue(Exceptions.toMessageString(e).contains("at line 7, column 27."));
}
}
@@ -50,10 +48,8 @@ public class SchemaParsingTestCase extends AbstractSchemaTestCase {
try {
ApplicationBuilder.buildFromFile("src/test/examples/invalid_sd_junk_at_end.sd");
fail("Illegal junk at end of SD passed");
- } catch (ParseException e) {
- if (!e.getMessage().contains("at line 10, column 1")) {
- throw e;
- }
+ } catch (IllegalArgumentException e) {
+ assertTrue(Exceptions.toMessageString(e).contains("at line 10, column 1"));
}
}
@@ -62,10 +58,8 @@ public class SchemaParsingTestCase extends AbstractSchemaTestCase {
try {
ApplicationBuilder.buildFromFile("src/test/examples/invalid_sd_no_closing_bracket.sd");
fail("SD without closing bracket passed");
- } catch (ParseException e) {
- if (!e.getMessage().contains("Encountered \"<EOF>\" at line 8, column 1")) {
- throw e;
- }
+ } catch (IllegalArgumentException e) {
+ assertTrue(Exceptions.toMessageString(e).contains("Encountered \"<EOF>\" at line 8, column 1"));
}
}
@@ -74,10 +68,8 @@ public class SchemaParsingTestCase extends AbstractSchemaTestCase {
try {
ApplicationBuilder.buildFromFile("src/test/examples/invalid-name.sd");
fail("Name with dash passed");
- } catch (ParseException e) {
- if (!e.getMessage().contains("invalid-name")) {
- throw e;
- }
+ } catch (IllegalArgumentException e) {
+ assertTrue(Exceptions.toMessageString(e).contains("invalid-name"));
}
}
diff --git a/config-model/src/test/java/com/yahoo/schema/parser/IntermediateCollectionTestCase.java b/config-model/src/test/java/com/yahoo/schema/parser/IntermediateCollectionTestCase.java
index 6ebfea41d84..72af294d384 100644
--- a/config-model/src/test/java/com/yahoo/schema/parser/IntermediateCollectionTestCase.java
+++ b/config-model/src/test/java/com/yahoo/schema/parser/IntermediateCollectionTestCase.java
@@ -10,6 +10,7 @@ import java.io.File;
import java.io.FileReader;
import java.util.List;
+import com.yahoo.yolean.Exceptions;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
@@ -131,24 +132,24 @@ public class IntermediateCollectionTestCase {
var collection = new IntermediateCollection();
var ex = assertThrows(IllegalArgumentException.class, () ->
collection.addSchemaFromReader(readerOf("src/test/cfg/application/sdfilenametest/schemas/notmusic.sd")));
- assertEquals("The file containing schema 'music' must be named 'music.sd', was 'notmusic.sd'",
+ assertEquals("The file containing schema 'music' must be named 'music.sd', but is 'notmusic.sd'",
ex.getMessage());
}
@Test
void bad_parse_throws() throws Exception {
var collection = new IntermediateCollection();
- var ex = assertThrows(ParseException.class, () ->
+ var ex1 = assertThrows(IllegalArgumentException.class, () ->
collection.addSchemaFromFile("src/test/examples/badparse.sd"));
- assertTrue(ex.getMessage().startsWith("Failed parsing schema from src/test/examples/badparse.sd: Encountered"));
- ex = assertThrows(ParseException.class, () ->
+ assertTrue(Exceptions.toMessageString(ex1).startsWith("Failed parsing schema from 'src/test/examples/badparse.sd': Encountered"), ex1.getMessage());
+ var ex2 = assertThrows(IllegalArgumentException.class, () ->
collection.addSchemaFromReader(readerOf("src/test/examples/badparse.sd")));
- assertTrue(ex.getMessage().startsWith("Failed parsing schema from src/test/examples/badparse.sd: Encountered"));
+ assertTrue(Exceptions.toMessageString(ex2).startsWith("Failed parsing schema from 'src/test/examples/badparse.sd': Encountered"), ex2.getMessage());
collection.addSchemaFromFile("src/test/derived/rankprofilemodularity/test.sd");
collection.addRankProfileFile("test", "src/test/derived/rankprofilemodularity/test/outside_schema1.profile");
- ex = assertThrows(ParseException.class, () ->
+ var ex3 = assertThrows(ParseException.class, () ->
collection.addRankProfileFile("test", "src/test/examples/badparse.sd"));
- assertTrue(ex.getMessage().startsWith("Failed parsing rank-profile from src/test/examples/badparse.sd: Encountered"));
+ assertTrue(Exceptions.toMessageString(ex3).startsWith("Failed parsing rank-profile from 'src/test/examples/badparse.sd': Encountered"), ex3.getMessage());
}
@Test