summaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/test/java/com')
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/SchemaTestCase.java7
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/derived/AbstractExportingTestCase.java45
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/derived/ExportingTestCase.java12
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/derived/ImportedFieldsTestCase.java10
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/derived/MailTestCase.java2
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/derived/ReferenceFieldsTestCase.java2
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/derived/SimpleInheritTestCase.java6
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/derived/TestableDeployLogger.java30
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java8
-rwxr-xr-xconfig-model/src/test/java/com/yahoo/vespa/model/routing/test/RoutingTestCase.java2
10 files changed, 90 insertions, 34 deletions
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/SchemaTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/SchemaTestCase.java
index 7f3ea7d14bc..2e0fc3b4f98 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/SchemaTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/SchemaTestCase.java
@@ -16,9 +16,12 @@ public abstract class SchemaTestCase {
assertSerializedConfigFileEquals(filename, cfg);
}
- protected static void assertConfigFiles(String expectedFile, String cfgFile, boolean updateOnAssert) throws IOException {
+ protected static void assertConfigFiles(String expectedFile,
+ String cfgFile,
+ boolean orderMatters,
+ boolean updateOnAssert) throws IOException {
try {
- assertSerializedConfigEquals(readAndCensorIndexes(expectedFile), readAndCensorIndexes(cfgFile));
+ assertSerializedConfigEquals(readAndCensorIndexes(expectedFile), readAndCensorIndexes(cfgFile), orderMatters);
} catch (AssertionError e) {
if (updateOnAssert) {
BufferedWriter writer = IOUtils.createWriter(expectedFile, false);
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/AbstractExportingTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/AbstractExportingTestCase.java
index a345cabe909..6b6af95a8d2 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/derived/AbstractExportingTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/AbstractExportingTestCase.java
@@ -1,7 +1,7 @@
// Copyright 2017 Yahoo Holdings. 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.application.provider.BaseDeployLogger;
+import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.config.model.deploy.TestProperties;
import com.yahoo.document.DocumenttypesConfig;
import com.yahoo.document.config.DocumentmanagerConfig;
@@ -26,21 +26,25 @@ public abstract class AbstractExportingTestCase extends SchemaTestCase {
private static final String tempDir = "temp/";
private static final String searchDefRoot = "src/test/derived/";
- private DerivedConfiguration derive(String dirName, String searchDefinitionName, TestProperties properties) throws IOException, ParseException {
+ private DerivedConfiguration derive(String dirName,
+ String searchDefinitionName,
+ TestProperties properties,
+ DeployLogger logger) throws IOException, ParseException {
File toDir = new File(tempDir + dirName);
toDir.mkdirs();
deleteContent(toDir);
- SearchBuilder builder = SearchBuilder.createFromDirectory(searchDefRoot + dirName + "/");
- return derive(dirName, searchDefinitionName, properties, builder);
+ SearchBuilder builder = SearchBuilder.createFromDirectory(searchDefRoot + dirName + "/", logger);
+ return derive(dirName, searchDefinitionName, properties, builder, logger);
}
private DerivedConfiguration derive(String dirName,
String searchDefinitionName,
TestProperties properties,
- SearchBuilder builder) throws IOException {
+ SearchBuilder builder,
+ DeployLogger logger) throws IOException {
DerivedConfiguration config = new DerivedConfiguration(builder.getSearch(searchDefinitionName),
- new BaseDeployLogger(),
+ logger,
properties,
builder.getRankProfileRegistry(),
builder.getQueryProfileRegistry(),
@@ -80,15 +84,23 @@ public abstract class AbstractExportingTestCase extends SchemaTestCase {
* @throws IOException if file access failed.
*/
protected DerivedConfiguration assertCorrectDeriving(String dirName) throws IOException, ParseException {
- return assertCorrectDeriving(dirName, null);
+ return assertCorrectDeriving(dirName, new TestableDeployLogger());
+ }
+ protected DerivedConfiguration assertCorrectDeriving(String dirName, DeployLogger logger) throws IOException, ParseException {
+ return assertCorrectDeriving(dirName, null, logger);
}
- protected DerivedConfiguration assertCorrectDeriving(String dirName, String searchDefinitionName) throws IOException, ParseException {
- return assertCorrectDeriving(dirName, searchDefinitionName, new TestProperties());
+ protected DerivedConfiguration assertCorrectDeriving(String dirName,
+ String searchDefinitionName,
+ DeployLogger logger) throws IOException, ParseException {
+ return assertCorrectDeriving(dirName, searchDefinitionName, new TestProperties(), logger);
}
- protected DerivedConfiguration assertCorrectDeriving(String dirName, String searchDefinitionName, TestProperties properties) throws IOException, ParseException {
- DerivedConfiguration derived = derive(dirName, searchDefinitionName, properties);
+ protected DerivedConfiguration assertCorrectDeriving(String dirName,
+ String searchDefinitionName,
+ TestProperties properties,
+ DeployLogger logger) throws IOException, ParseException {
+ DerivedConfiguration derived = derive(dirName, searchDefinitionName, properties, logger);
assertCorrectConfigFiles(dirName);
return derived;
}
@@ -97,9 +109,9 @@ public abstract class AbstractExportingTestCase extends SchemaTestCase {
* Asserts config is correctly derived given a builder.
* This will fail if the builder contains multiple search definitions.
*/
- protected DerivedConfiguration assertCorrectDeriving(SearchBuilder builder, String dirName) throws IOException {
+ protected DerivedConfiguration assertCorrectDeriving(SearchBuilder builder, String dirName, DeployLogger logger) throws IOException {
builder.build();
- DerivedConfiguration derived = derive(dirName, null, new TestProperties(), builder);
+ DerivedConfiguration derived = derive(dirName, null, new TestProperties(), builder, logger);
assertCorrectConfigFiles(dirName);
return derived;
}
@@ -121,13 +133,14 @@ public abstract class AbstractExportingTestCase extends SchemaTestCase {
if (files == null) return;
for (File file : files) {
if ( ! file.getName().endsWith(".cfg")) continue;
- assertEqualFiles(file.getPath(), tempDir + name + "/" + file.getName());
+ boolean orderMatters = file.getName().equals("ilscripts.cfg");
+ assertEqualFiles(file.getPath(), tempDir + name + "/" + file.getName(), orderMatters);
}
}
- static void assertEqualFiles(String correctFileName, String checkFileName) throws IOException {
+ static void assertEqualFiles(String correctFileName, String checkFileName, boolean orderMatters) throws IOException {
// Set updateOnAssert to true if you want update the files with correct answer.
- assertConfigFiles(correctFileName, checkFileName, false);
+ assertConfigFiles(correctFileName, checkFileName, orderMatters, false);
}
void deleteContent(File dir) {
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/ExportingTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/ExportingTestCase.java
index 71cca20f8fa..770bea55af2 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/derived/ExportingTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/ExportingTestCase.java
@@ -1,13 +1,14 @@
// Copyright 2017 Yahoo Holdings. 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.searchdefinition.SearchBuilder;
import com.yahoo.searchdefinition.parser.ParseException;
import org.junit.Test;
import java.io.IOException;
+import static org.junit.Assert.assertEquals;
+
/**
* Tests exporting
*
@@ -158,7 +159,14 @@ public class ExportingTestCase extends AbstractExportingTestCase {
@Test
public void testRankProfileInheritance() throws IOException, ParseException {
- assertCorrectDeriving("rankprofileinheritance", "child");
+ assertCorrectDeriving("rankprofileinheritance", "child", new TestableDeployLogger());
+ }
+
+ @Test
+ public void testLanguage() throws IOException, ParseException {
+ TestableDeployLogger logger = new TestableDeployLogger();
+ assertCorrectDeriving("language", logger);
+ assertEquals(0, logger.warnings.size());
}
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/ImportedFieldsTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/ImportedFieldsTestCase.java
index a0dd89229dd..f61143833c9 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/derived/ImportedFieldsTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/ImportedFieldsTestCase.java
@@ -13,26 +13,26 @@ public class ImportedFieldsTestCase extends AbstractExportingTestCase {
@Test
public void configs_for_imported_fields_are_derived() throws IOException, ParseException {
- assertCorrectDeriving("importedfields", "child");
+ assertCorrectDeriving("importedfields", "child", new TestableDeployLogger());
}
@Test
public void configs_for_imported_struct_fields_are_derived() throws IOException, ParseException {
- assertCorrectDeriving("imported_struct_fields", "child");
+ assertCorrectDeriving("imported_struct_fields", "child", new TestableDeployLogger());
}
@Test
public void configs_for_imported_position_field_are_derived() throws IOException, ParseException {
- assertCorrectDeriving("imported_position_field", "child");
+ assertCorrectDeriving("imported_position_field", "child", new TestableDeployLogger());
}
@Test
public void configs_for_imported_position_field_summary_are_derived() throws IOException, ParseException {
- assertCorrectDeriving("imported_position_field_summary", "child");
+ assertCorrectDeriving("imported_position_field_summary", "child", new TestableDeployLogger());
}
@Test
public void derives_configs_for_imported_fields_when_reference_fields_are_inherited() throws IOException, ParseException {
- assertCorrectDeriving("imported_fields_inherited_reference", "child_c");
+ assertCorrectDeriving("imported_fields_inherited_reference", "child_c", new TestableDeployLogger());
}
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/MailTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/MailTestCase.java
index 187e766c315..5e45102a626 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/derived/MailTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/MailTestCase.java
@@ -18,7 +18,7 @@ public class MailTestCase extends AbstractExportingTestCase {
String dir = "src/test/derived/mail/";
SearchBuilder sb = new SearchBuilder();
sb.importFile(dir + "mail.sd");
- assertCorrectDeriving(sb, dir);
+ assertCorrectDeriving(sb, dir, new TestableDeployLogger());
}
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/ReferenceFieldsTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/ReferenceFieldsTestCase.java
index 073a15b0525..1f1c905e0bf 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/derived/ReferenceFieldsTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/ReferenceFieldsTestCase.java
@@ -13,6 +13,6 @@ public class ReferenceFieldsTestCase extends AbstractExportingTestCase {
@Test
public void configs_related_to_reference_fields_are_derived() throws IOException, ParseException {
- assertCorrectDeriving("reference_fields", "ad");
+ assertCorrectDeriving("reference_fields", "ad", new TestableDeployLogger());
}
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/SimpleInheritTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/SimpleInheritTestCase.java
index 45a6240d3ba..83e11c365f8 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/derived/SimpleInheritTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/SimpleInheritTestCase.java
@@ -45,10 +45,8 @@ public class SimpleInheritTestCase extends AbstractExportingTestCase {
private void checkDir(String toDirName, String expectedResultsDirName) throws IOException {
File[] files = new File(expectedResultsDirName).listFiles();
for (File file : files) {
- if (!file.getName().endsWith(".cfg")) {
- continue;
- }
- assertEqualFiles(file.getPath(), toDirName + "/" + file.getName());
+ if ( ! file.getName().endsWith(".cfg")) continue;
+ assertEqualFiles(file.getPath(), toDirName + "/" + file.getName(), false);
}
}
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/TestableDeployLogger.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/TestableDeployLogger.java
new file mode 100644
index 00000000000..a23c8024872
--- /dev/null
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/TestableDeployLogger.java
@@ -0,0 +1,30 @@
+// Copyright Verizon Media. 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.application.api.DeployLogger;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ * @author bratseth
+ */
+public class TestableDeployLogger implements DeployLogger {
+
+ private static final Logger log = Logger.getLogger("DeployLogger");
+
+ public List<String> warnings = new ArrayList<>();
+ public List<String> info = new ArrayList<>();
+
+ @Override
+ public final void log(Level level, String message) {
+ log.log(level, message);
+ if (level.equals(Level.WARNING))
+ warnings.add(message);
+ if (level.equals(Level.INFO))
+ info.add(message);
+ }
+
+}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java
index 1567a4c3b5e..8861432d97b 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java
@@ -9,6 +9,7 @@ import com.yahoo.searchdefinition.*;
import com.yahoo.searchdefinition.derived.DerivedConfiguration;
import com.yahoo.searchdefinition.derived.AttributeFields;
import com.yahoo.searchdefinition.derived.RawRankProfile;
+import com.yahoo.searchdefinition.derived.TestableDeployLogger;
import com.yahoo.searchdefinition.parser.ParseException;
import ai.vespa.rankingexpression.importer.configmodelview.ImportedMlModels;
import org.junit.Test;
@@ -25,7 +26,8 @@ public class RankingExpressionsTestCase extends SchemaTestCase {
public void testFunctions() throws IOException, ParseException {
RankProfileRegistry rankProfileRegistry = new RankProfileRegistry();
Search search = SearchBuilder.createFromDirectory("src/test/examples/rankingexpressionfunction",
- rankProfileRegistry).getSearch();
+ rankProfileRegistry,
+ new TestableDeployLogger()).getSearch();
RankProfile functionsRankProfile = rankProfileRegistry.get(search, "macros");
Map<String, RankProfile.RankingExpressionFunction> functions = functionsRankProfile.getFunctions();
assertEquals(2, functions.get("titlematch$").function().arguments().size());
@@ -63,7 +65,9 @@ public class RankingExpressionsTestCase extends SchemaTestCase {
@Test(expected = IllegalArgumentException.class)
public void testThatIncludingFileInSubdirFails() throws IOException, ParseException {
RankProfileRegistry registry = new RankProfileRegistry();
- Search search = SearchBuilder.createFromDirectory("src/test/examples/rankingexpressioninfile", registry).getSearch();
+ Search search = SearchBuilder.createFromDirectory("src/test/examples/rankingexpressioninfile",
+ registry,
+ new TestableDeployLogger()).getSearch();
new DerivedConfiguration(search, new BaseDeployLogger(), new TestProperties(), registry, new QueryProfileRegistry(), new ImportedMlModels()); // rank profile parsing happens during deriving
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/routing/test/RoutingTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/routing/test/RoutingTestCase.java
index 31d0084570a..9e7370a933c 100755
--- a/config-model/src/test/java/com/yahoo/vespa/model/routing/test/RoutingTestCase.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/routing/test/RoutingTestCase.java
@@ -159,7 +159,7 @@ public class RoutingTestCase {
fail("Expected file '" + fileName + "' not found.");
return;
}
- assertSerializedConfigEquals(IOUtils.readFile(files.get(fileName)), configString);
+ assertSerializedConfigEquals(IOUtils.readFile(files.get(fileName)), configString, false);
}
/**