|
@@ -20,11 +20,13 @@
|
|
|
package org.elasticsearch.script;
|
|
|
|
|
|
import org.elasticsearch.common.Nullable;
|
|
|
+import org.elasticsearch.common.settings.Setting;
|
|
|
import org.elasticsearch.common.settings.Settings;
|
|
|
import org.elasticsearch.search.lookup.SearchLookup;
|
|
|
import org.elasticsearch.test.ESTestCase;
|
|
|
|
|
|
import java.util.Collections;
|
|
|
+import java.util.Iterator;
|
|
|
import java.util.Map;
|
|
|
|
|
|
import static org.hamcrest.Matchers.containsString;
|
|
@@ -64,6 +66,22 @@ public class ScriptSettingsTests extends ESTestCase {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public void testSettingsAreProperlyPropogated() {
|
|
|
+ ScriptEngineRegistry scriptEngineRegistry =
|
|
|
+ new ScriptEngineRegistry(Collections.singletonList(new CustomScriptEngineService()));
|
|
|
+ ScriptContextRegistry scriptContextRegistry = new ScriptContextRegistry(Collections.emptyList());
|
|
|
+ ScriptSettings scriptSettings = new ScriptSettings(scriptEngineRegistry, scriptContextRegistry);
|
|
|
+ boolean enabled = randomBoolean();
|
|
|
+ Settings s = Settings.builder().put("script.inline", enabled).build();
|
|
|
+ for (Iterator<Setting<Boolean>> iter = scriptSettings.getScriptLanguageSettings().iterator(); iter.hasNext();) {
|
|
|
+ Setting<Boolean> setting = iter.next();
|
|
|
+ if (setting.getKey().endsWith(".inline")) {
|
|
|
+ assertThat("inline settings should have propagated", setting.get(s), equalTo(enabled));
|
|
|
+ assertThat(setting.getDefaultRaw(s), equalTo(Boolean.toString(enabled)));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private static class CustomScriptEngineService implements ScriptEngineService {
|
|
|
|
|
|
public static final String NAME = "custom";
|