Merge pull request #12833 from saschamarkus/saschamarkus_issue_11510_rebase

Throw Exception for missing settings file
This commit is contained in:
Adrien Grand 2015-08-13 14:26:03 +02:00
commit 75d84631da
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 + "]"));
}
}
}