test: cleanup usages of node builder where we actually need Shield loaded
Some tests are still using a node builder for nodes that need to load Shield, which is not currently supported by elasticsearch. This changes some to use a MockNode and awaits fix a tribe test that was previously testing nothing. Original commit: elastic/x-pack-elasticsearch@57d0c902b6
This commit is contained in:
parent
22edda4044
commit
44cd14d5f1
|
@ -17,7 +17,6 @@ import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.license.plugin.LicensePlugin;
|
import org.elasticsearch.license.plugin.LicensePlugin;
|
||||||
import org.elasticsearch.node.MockNode;
|
import org.elasticsearch.node.MockNode;
|
||||||
import org.elasticsearch.node.Node;
|
import org.elasticsearch.node.Node;
|
||||||
import org.elasticsearch.node.NodeBuilder;
|
|
||||||
import org.elasticsearch.shield.ShieldPlugin;
|
import org.elasticsearch.shield.ShieldPlugin;
|
||||||
import org.elasticsearch.shield.authc.RealmConfig;
|
import org.elasticsearch.shield.authc.RealmConfig;
|
||||||
import org.elasticsearch.shield.authc.activedirectory.ActiveDirectorySessionFactoryTests;
|
import org.elasticsearch.shield.authc.activedirectory.ActiveDirectorySessionFactoryTests;
|
||||||
|
@ -36,7 +35,6 @@ import java.nio.file.Path;
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import static org.elasticsearch.common.settings.Settings.builder;
|
|
||||||
import static org.elasticsearch.common.settings.Settings.settingsBuilder;
|
import static org.elasticsearch.common.settings.Settings.settingsBuilder;
|
||||||
import static org.elasticsearch.test.ShieldTestsUtils.assertAuthenticationException;
|
import static org.elasticsearch.test.ShieldTestsUtils.assertAuthenticationException;
|
||||||
import static org.hamcrest.Matchers.*;
|
import static org.hamcrest.Matchers.*;
|
||||||
|
|
|
@ -30,7 +30,6 @@ import java.nio.file.Path;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
import static org.elasticsearch.common.settings.Settings.settingsBuilder;
|
import static org.elasticsearch.common.settings.Settings.settingsBuilder;
|
||||||
import static org.elasticsearch.node.NodeBuilder.nodeBuilder;
|
|
||||||
import static org.elasticsearch.shield.test.ShieldTestUtils.createFolder;
|
import static org.elasticsearch.shield.test.ShieldTestUtils.createFolder;
|
||||||
import static org.elasticsearch.shield.test.ShieldTestUtils.writeFile;
|
import static org.elasticsearch.shield.test.ShieldTestUtils.writeFile;
|
||||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||||
|
@ -139,8 +138,9 @@ public class ServerTransportFilterIntegrationTests extends ShieldIntegTestCase {
|
||||||
.put(InternalCryptoService.FILE_SETTING, systemKeyFile)
|
.put(InternalCryptoService.FILE_SETTING, systemKeyFile)
|
||||||
.put("discovery.initial_state_timeout", "2s")
|
.put("discovery.initial_state_timeout", "2s")
|
||||||
.put("path.home", createTempDir())
|
.put("path.home", createTempDir())
|
||||||
|
.put("node.client", true)
|
||||||
.build();
|
.build();
|
||||||
try (Node node = nodeBuilder().client(true).settings(nodeSettings).build()) {
|
try (Node node = new MockNode(nodeSettings, Version.CURRENT, Arrays.asList(ShieldPlugin.class, licensePluginClass()))) {
|
||||||
node.start();
|
node.start();
|
||||||
|
|
||||||
// assert that node is not connected by waiting for the timeout
|
// assert that node is not connected by waiting for the timeout
|
||||||
|
|
|
@ -6,8 +6,10 @@
|
||||||
package org.elasticsearch.shield.tribe;
|
package org.elasticsearch.shield.tribe;
|
||||||
|
|
||||||
import org.apache.lucene.util.LuceneTestCase;
|
import org.apache.lucene.util.LuceneTestCase;
|
||||||
|
import org.elasticsearch.Version;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.license.plugin.LicensePlugin;
|
import org.elasticsearch.license.plugin.LicensePlugin;
|
||||||
|
import org.elasticsearch.node.MockNode;
|
||||||
import org.elasticsearch.node.Node;
|
import org.elasticsearch.node.Node;
|
||||||
import org.elasticsearch.node.NodeBuilder;
|
import org.elasticsearch.node.NodeBuilder;
|
||||||
import org.elasticsearch.plugins.PluginsService;
|
import org.elasticsearch.plugins.PluginsService;
|
||||||
|
@ -15,6 +17,8 @@ import org.elasticsearch.shield.ShieldPlugin;
|
||||||
import org.elasticsearch.test.ESTestCase;
|
import org.elasticsearch.test.ESTestCase;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
import static org.hamcrest.CoreMatchers.containsString;
|
import static org.hamcrest.CoreMatchers.containsString;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -25,11 +29,13 @@ import static org.hamcrest.CoreMatchers.containsString;
|
||||||
public class TribeShieldLoadedTests extends ESTestCase {
|
public class TribeShieldLoadedTests extends ESTestCase {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/13212")
|
||||||
|
// we really need to support loading plugins at the node level this way which should flow the plugins down to the tribe service, right now it doesnt!
|
||||||
public void testShieldLoadedOnBothTribeNodeAndClients() {
|
public void testShieldLoadedOnBothTribeNodeAndClients() {
|
||||||
//all good if the plugin is loaded on both tribe node and tribe clients, no matter how it gets loaded (manually or from classpath)
|
//all good if the plugin is loaded on both tribe node and tribe clients, no matter how it gets loaded (manually or from classpath)
|
||||||
Settings.Builder builder = defaultSettings();
|
Settings.Builder builder = defaultSettings();
|
||||||
|
|
||||||
try (Node node = NodeBuilder.nodeBuilder().settings(builder.build()).build()) {
|
try (Node node = new MockNode(builder.build(), Version.CURRENT, Arrays.asList(ShieldPlugin.class, LicensePlugin.class))) {
|
||||||
node.start();
|
node.start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -66,13 +72,15 @@ public class TribeShieldLoadedTests extends ESTestCase {
|
||||||
private static Settings.Builder defaultSettings() {
|
private static Settings.Builder defaultSettings() {
|
||||||
return addTribeSettings(Settings.builder()
|
return addTribeSettings(Settings.builder()
|
||||||
.put("node.name", "tribe_node")
|
.put("node.name", "tribe_node")
|
||||||
.put("path.home", createTempDir()), "t1");
|
.put("path.home", createTempDir())
|
||||||
|
.putArray("plugin.mandatory", ShieldPlugin.NAME, LicensePlugin.NAME), "t1");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Settings.Builder addTribeSettings(Settings.Builder settingsBuilder, String tribe) {
|
private static Settings.Builder addTribeSettings(Settings.Builder settingsBuilder, String tribe) {
|
||||||
String tribePrefix = "tribe." + tribe + ".";
|
String tribePrefix = "tribe." + tribe + ".";
|
||||||
return settingsBuilder.put(tribePrefix + "cluster.name", "non_existing_cluster")
|
return settingsBuilder.put(tribePrefix + "cluster.name", "non_existing_cluster")
|
||||||
.put(tribePrefix + "discovery.type", "local")
|
.put(tribePrefix + "discovery.type", "local")
|
||||||
.put(tribePrefix + "discovery.initial_state_timeout", 0);
|
.put(tribePrefix + "discovery.initial_state_timeout", 0)
|
||||||
|
.putArray(tribePrefix + "plugin.mandatory", ShieldPlugin.NAME, LicensePlugin.NAME);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue