Issue 11510: Throw Exception for missing settings file

An Exception will be thrown when the givven YAML-file doesn't exist.
This commit is contained in:
saschamarkus 2015-08-12 15:13:03 +02:00
parent 68cc5ddf65
commit e59bbf8e31
2 changed files with 14 additions and 1 deletions

View File

@ -1129,7 +1129,7 @@ public final class Settings implements ToXContent {
}
InputStream is = classLoader.getResourceAsStream(resourceName);
if (is == null) {
return this;
throw new SettingsException("Failed to load settings from [" + resourceName + "]");
}
return loadFromStream(resourceName, is);

View File

@ -63,4 +63,17 @@ public class YamlSettingsLoaderTests extends ESTestCase {
.loadFromClasspath("org/elasticsearch/common/settings/loader/indentation-with-explicit-document-start-settings.yml")
.build();
}
@Test
public void testYamlSettingsNoFile() throws Exception {
String invalidResourceName = "org/elasticsearch/common/settings/loader/no-test-settings.yml";
try {
Settings defaultSettings = settingsBuilder().loadFromClasspath(invalidResourceName).build();
fail("For a not exiting file an exception should be thrown.");
} catch (Exception e) {
assertTrue(e instanceof SettingsException);
assertThat(e.getMessage(), equalTo("Failed to load settings from [" + invalidResourceName + "]"));
}
}
}