summaryrefslogtreecommitdiff
path: root/core/src/test/java/org/elasticsearch/common/settings
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/test/java/org/elasticsearch/common/settings')
-rw-r--r--core/src/test/java/org/elasticsearch/common/settings/SettingsTests.java4
-rw-r--r--core/src/test/java/org/elasticsearch/common/settings/loader/JsonSettingsLoaderTests.java37
-rw-r--r--core/src/test/java/org/elasticsearch/common/settings/loader/PropertiesSettingsLoaderTests.java36
-rw-r--r--core/src/test/java/org/elasticsearch/common/settings/loader/YamlSettingsLoaderTests.java66
4 files changed, 80 insertions, 63 deletions
diff --git a/core/src/test/java/org/elasticsearch/common/settings/SettingsTests.java b/core/src/test/java/org/elasticsearch/common/settings/SettingsTests.java
index e3f2bc1bb2..eb6cc56816 100644
--- a/core/src/test/java/org/elasticsearch/common/settings/SettingsTests.java
+++ b/core/src/test/java/org/elasticsearch/common/settings/SettingsTests.java
@@ -201,8 +201,8 @@ public class SettingsTests extends ESTestCase {
assertThat(settings.getAsArray("value"), arrayContaining("2", "3"));
settings = settingsBuilder()
- .put(new YamlSettingsLoader().load("value: 1"))
- .put(new YamlSettingsLoader().load("value: [ 2, 3 ]"))
+ .put(new YamlSettingsLoader(false).load("value: 1"))
+ .put(new YamlSettingsLoader(false).load("value: [ 2, 3 ]"))
.build();
assertThat(settings.getAsArray("value"), arrayContaining("2", "3"));
diff --git a/core/src/test/java/org/elasticsearch/common/settings/loader/JsonSettingsLoaderTests.java b/core/src/test/java/org/elasticsearch/common/settings/loader/JsonSettingsLoaderTests.java
index d7f10891f2..154ef8ee03 100644
--- a/core/src/test/java/org/elasticsearch/common/settings/loader/JsonSettingsLoaderTests.java
+++ b/core/src/test/java/org/elasticsearch/common/settings/loader/JsonSettingsLoaderTests.java
@@ -25,15 +25,14 @@ import org.elasticsearch.common.settings.SettingsException;
import org.elasticsearch.test.ESTestCase;
import static org.elasticsearch.common.settings.Settings.settingsBuilder;
+import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.Matchers.equalTo;
-/**
- *
- */
public class JsonSettingsLoaderTests extends ESTestCase {
+
public void testSimpleJsonSettings() throws Exception {
- String json = "/org/elasticsearch/common/settings/loader/test-settings.json";
- Settings settings = settingsBuilder()
+ final String json = "/org/elasticsearch/common/settings/loader/test-settings.json";
+ final Settings settings = settingsBuilder()
.loadFromStream(json, getClass().getResourceAsStream(json))
.build();
@@ -50,15 +49,23 @@ public class JsonSettingsLoaderTests extends ESTestCase {
}
public void testDuplicateKeysThrowsException() {
- String json = "{\"foo\":\"bar\",\"foo\":\"baz\"}";
- try {
- settingsBuilder()
- .loadFromSource(json)
- .build();
- fail("expected exception");
- } catch (SettingsException e) {
- assertEquals(e.getCause().getClass(), ElasticsearchParseException.class);
- assertTrue(e.toString().contains("duplicate settings key [foo] found at line number [1], column number [20], previous value [bar], current value [baz]"));
- }
+ final String json = "{\"foo\":\"bar\",\"foo\":\"baz\"}";
+ final SettingsException e = expectThrows(SettingsException.class, () -> settingsBuilder().loadFromSource(json).build());
+ assertEquals(e.getCause().getClass(), ElasticsearchParseException.class);
+ assertThat(
+ e.toString(),
+ containsString("duplicate settings key [foo] " +
+ "found at line number [1], " +
+ "column number [20], " +
+ "previous value [bar], " +
+ "current value [baz]"));
}
+
+ public void testNullValuedSettingThrowsException() {
+ final String json = "{\"foo\":null}";
+ final ElasticsearchParseException e =
+ expectThrows(ElasticsearchParseException.class, () -> new JsonSettingsLoader(false).load(json));
+ assertThat(e.toString(), containsString("null-valued setting found for key [foo] found at line number [1], column number [8]"));
+ }
+
}
diff --git a/core/src/test/java/org/elasticsearch/common/settings/loader/PropertiesSettingsLoaderTests.java b/core/src/test/java/org/elasticsearch/common/settings/loader/PropertiesSettingsLoaderTests.java
index 7a1897fbaf..c13ae7cc68 100644
--- a/core/src/test/java/org/elasticsearch/common/settings/loader/PropertiesSettingsLoaderTests.java
+++ b/core/src/test/java/org/elasticsearch/common/settings/loader/PropertiesSettingsLoaderTests.java
@@ -21,27 +21,37 @@ package org.elasticsearch.common.settings.loader;
import org.elasticsearch.ElasticsearchParseException;
import org.elasticsearch.test.ESTestCase;
+import org.junit.Before;
import java.io.IOException;
import java.nio.charset.Charset;
public class PropertiesSettingsLoaderTests extends ESTestCase {
+
+ private PropertiesSettingsLoader loader;
+
+ @Before
+ public void setUp() throws Exception {
+ super.setUp();
+ loader = new PropertiesSettingsLoader();
+ }
+
public void testDuplicateKeyFromStringThrowsException() throws IOException {
- PropertiesSettingsLoader loader = new PropertiesSettingsLoader();
- try {
- loader.load("foo=bar\nfoo=baz");
- fail("expected exception");
- } catch (ElasticsearchParseException e) {
- assertEquals(e.getMessage(), "duplicate settings key [foo] found, previous value [bar], current value [baz]");
- }
+ final ElasticsearchParseException e = expectThrows(ElasticsearchParseException.class, () -> loader.load("foo=bar\nfoo=baz"));
+ assertEquals(e.getMessage(), "duplicate settings key [foo] found, previous value [bar], current value [baz]");
}
public void testDuplicateKeysFromBytesThrowsException() throws IOException {
- PropertiesSettingsLoader loader = new PropertiesSettingsLoader();
- try {
- loader.load("foo=bar\nfoo=baz".getBytes(Charset.defaultCharset()));
- } catch (ElasticsearchParseException e) {
- assertEquals(e.getMessage(), "duplicate settings key [foo] found, previous value [bar], current value [baz]");
- }
+ final ElasticsearchParseException e = expectThrows(
+ ElasticsearchParseException.class,
+ () -> loader.load("foo=bar\nfoo=baz".getBytes(Charset.defaultCharset()))
+ );
+ assertEquals(e.getMessage(), "duplicate settings key [foo] found, previous value [bar], current value [baz]");
}
+
+ public void testThatNoDuplicatesPropertiesDoesNotAcceptNullValues() {
+ final PropertiesSettingsLoader.NoDuplicatesProperties properties = loader.new NoDuplicatesProperties();
+ expectThrows(NullPointerException.class, () -> properties.put("key", null));
+ }
+
}
diff --git a/core/src/test/java/org/elasticsearch/common/settings/loader/YamlSettingsLoaderTests.java b/core/src/test/java/org/elasticsearch/common/settings/loader/YamlSettingsLoaderTests.java
index 48703044ec..2e2a187da0 100644
--- a/core/src/test/java/org/elasticsearch/common/settings/loader/YamlSettingsLoaderTests.java
+++ b/core/src/test/java/org/elasticsearch/common/settings/loader/YamlSettingsLoaderTests.java
@@ -28,13 +28,11 @@ import static org.elasticsearch.common.settings.Settings.settingsBuilder;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.equalTo;
-/**
- *
- */
public class YamlSettingsLoaderTests extends ESTestCase {
+
public void testSimpleYamlSettings() throws Exception {
- String yaml = "/org/elasticsearch/common/settings/loader/test-settings.yml";
- Settings settings = settingsBuilder()
+ final String yaml = "/org/elasticsearch/common/settings/loader/test-settings.yml";
+ final Settings settings = settingsBuilder()
.loadFromStream(yaml, getClass().getResourceAsStream(yaml))
.build();
@@ -51,39 +49,41 @@ public class YamlSettingsLoaderTests extends ESTestCase {
}
public void testIndentation() {
- String yaml = "/org/elasticsearch/common/settings/loader/indentation-settings.yml";
- try {
- settingsBuilder()
- .loadFromStream(yaml, getClass().getResourceAsStream(yaml))
- .build();
- fail("Expected SettingsException");
- } catch(SettingsException e ) {
- assertThat(e.getMessage(), containsString("Failed to load settings"));
- }
+ final String yaml = "/org/elasticsearch/common/settings/loader/indentation-settings.yml";
+ final SettingsException e =
+ expectThrows(
+ SettingsException.class,
+ () -> settingsBuilder().loadFromStream(yaml, getClass().getResourceAsStream(yaml)).build());
+ assertThat(e.getMessage(), containsString("Failed to load settings"));
}
public void testIndentationWithExplicitDocumentStart() {
- String yaml = "/org/elasticsearch/common/settings/loader/indentation-with-explicit-document-start-settings.yml";
- try {
- settingsBuilder()
- .loadFromStream(yaml, getClass().getResourceAsStream(yaml))
- .build();
- fail("Expected SettingsException");
- } catch (SettingsException e) {
- assertThat(e.getMessage(), containsString("Failed to load settings"));
- }
+ final String yaml = "/org/elasticsearch/common/settings/loader/indentation-with-explicit-document-start-settings.yml";
+ final SettingsException e =
+ expectThrows(
+ SettingsException.class,
+ () -> settingsBuilder().loadFromStream(yaml, getClass().getResourceAsStream(yaml)).build());
+ assertThat(e.getMessage(), containsString("Failed to load settings"));
}
public void testDuplicateKeysThrowsException() {
- String yaml = "foo: bar\nfoo: baz";
- try {
- settingsBuilder()
- .loadFromSource(yaml)
- .build();
- fail("expected exception");
- } catch (SettingsException e) {
- assertEquals(e.getCause().getClass(), ElasticsearchParseException.class);
- assertTrue(e.toString().contains("duplicate settings key [foo] found at line number [2], column number [6], previous value [bar], current value [baz]"));
- }
+ final String yaml = "foo: bar\nfoo: baz";
+ final SettingsException e = expectThrows(SettingsException.class, () -> settingsBuilder().loadFromSource(yaml).build());
+ assertEquals(e.getCause().getClass(), ElasticsearchParseException.class);
+ assertThat(
+ e.toString(),
+ containsString("duplicate settings key [foo] " +
+ "found at line number [2], " +
+ "column number [6], " +
+ "previous value [bar], " +
+ "current value [baz]"));
+ }
+
+ public void testNullValuedSettingThrowsException() {
+ final String yaml = "foo:";
+ final ElasticsearchParseException e =
+ expectThrows(ElasticsearchParseException.class, () -> new YamlSettingsLoader(false).load(yaml));
+ assertThat(e.toString(), containsString("null-valued setting found for key [foo] found at line number [1], column number [5]"));
}
+
}