Extend tribe integ test infra to test on master and client nodes

Original commit: elastic/x-pack-elasticsearch@5826fb4161
This commit is contained in:
Areek Zillur 2016-05-03 14:43:43 -04:00
parent 3f0acdd70e
commit bd04cc9d1f
3 changed files with 49 additions and 10 deletions

View File

@ -19,12 +19,26 @@ import static org.elasticsearch.license.plugin.TestUtils.generateSignedLicense;
public class LicenseTribeTests extends TribeTransportTestCase { public class LicenseTribeTests extends TribeTransportTestCase {
@Override
protected void verifyActionOnClientNode(Client client) throws Exception {
assertLicenseTransportActionsWorks(client);
}
@Override
protected void verifyActionOnMasterNode(Client masterClient) throws Exception {
assertLicenseTransportActionsWorks(masterClient);
}
@Override @Override
protected void verifyActionOnDataNode(Client dataNodeClient) throws Exception { protected void verifyActionOnDataNode(Client dataNodeClient) throws Exception {
dataNodeClient.execute(GetLicenseAction.INSTANCE, new GetLicenseRequest()).get(); assertLicenseTransportActionsWorks(dataNodeClient);
dataNodeClient.execute(PutLicenseAction.INSTANCE, new PutLicenseRequest() }
private static void assertLicenseTransportActionsWorks(Client client) throws Exception {
client.execute(GetLicenseAction.INSTANCE, new GetLicenseRequest()).get();
client.execute(PutLicenseAction.INSTANCE, new PutLicenseRequest()
.license(generateSignedLicense(TimeValue.timeValueHours(1)))); .license(generateSignedLicense(TimeValue.timeValueHours(1))));
dataNodeClient.execute(DeleteLicenseAction.INSTANCE, new DeleteLicenseRequest()); client.execute(DeleteLicenseAction.INSTANCE, new DeleteLicenseRequest());
} }
@Override @Override

View File

@ -11,7 +11,6 @@ import org.elasticsearch.action.admin.cluster.node.info.NodeInfo;
import org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse; import org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse;
import org.elasticsearch.client.Client; import org.elasticsearch.client.Client;
import org.elasticsearch.client.Requests; import org.elasticsearch.client.Requests;
import org.elasticsearch.client.transport.NoNodeAvailableException;
import org.elasticsearch.cluster.health.ClusterHealthStatus; import org.elasticsearch.cluster.health.ClusterHealthStatus;
import org.elasticsearch.cluster.node.DiscoveryNode; import org.elasticsearch.cluster.node.DiscoveryNode;
import org.elasticsearch.cluster.node.DiscoveryNodes; import org.elasticsearch.cluster.node.DiscoveryNodes;
@ -46,7 +45,7 @@ import static org.hamcrest.Matchers.anyOf;
import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.equalTo;
@ClusterScope(scope = Scope.TEST, transportClientRatio = 0, numClientNodes = 0, numDataNodes = 0) @ClusterScope(scope = Scope.TEST, transportClientRatio = 0, numClientNodes = 1, numDataNodes = 0)
public abstract class TribeTransportTestCase extends ESIntegTestCase { public abstract class TribeTransportTestCase extends ESIntegTestCase {
private static final Collection<String> ALL_FEATURES = Arrays.asList(Security.NAME, Monitoring.NAME, private static final Collection<String> ALL_FEATURES = Arrays.asList(Security.NAME, Monitoring.NAME,
@ -102,7 +101,7 @@ public abstract class TribeTransportTestCase extends ESIntegTestCase {
}; };
final InternalTestCluster cluster2 = new InternalTestCluster(InternalTestCluster.configuredNodeMode(), final InternalTestCluster cluster2 = new InternalTestCluster(InternalTestCluster.configuredNodeMode(),
randomLong(), createTempDir(), 2, 2, randomLong(), createTempDir(), 2, 2,
UUIDs.randomBase64UUID(random()), nodeConfigurationSource, 0, false, "tribe_node2", UUIDs.randomBase64UUID(random()), nodeConfigurationSource, 1, false, "tribe_node2",
getMockPlugins(), getClientWrapper()); getMockPlugins(), getClientWrapper());
cluster2.beforeTest(random(), 0.0); cluster2.beforeTest(random(), 0.0);
@ -155,12 +154,14 @@ public abstract class TribeTransportTestCase extends ESIntegTestCase {
}); });
logger.info(" --> verify transport actions for tribe node"); logger.info(" --> verify transport actions for tribe node");
verifyActionOnTribeNode(tribeClient); verifyActionOnTribeNode(tribeClient);
logger.info(" --> verify transport actions for data and master node"); logger.info(" --> verify transport actions for data node");
verifyActionOnDataNode((randomBoolean() ? internalCluster() : cluster2).dataNodeClient()); verifyActionOnDataNode((randomBoolean() ? internalCluster() : cluster2).dataNodeClient());
verifyActionOnDataNode((randomBoolean() ? internalCluster() : cluster2).masterClient()); logger.info(" --> verify transport actions for master node");
verifyActionOnMasterNode((randomBoolean() ? internalCluster() : cluster2).masterClient());
logger.info(" --> verify transport actions for client node");
verifyActionOnClientNode((randomBoolean() ? internalCluster() : cluster2).coordOnlyNodeClient());
try { try {
cluster2.wipe(Collections.<String>emptySet()); cluster2.wipe(Collections.<String>emptySet());
} catch (NoNodeAvailableException ignored) {
} finally { } finally {
cluster2.afterTest(); cluster2.afterTest();
} }
@ -168,6 +169,16 @@ public abstract class TribeTransportTestCase extends ESIntegTestCase {
cluster2.close(); cluster2.close();
} }
/**
* Verify transport action behaviour on client node
*/
protected abstract void verifyActionOnClientNode(Client client) throws Exception;
/**
* Verify transport action behaviour on master node
*/
protected abstract void verifyActionOnMasterNode(Client masterClient) throws Exception;
/** /**
* Verify transport action behaviour on data node * Verify transport action behaviour on data node
*/ */

View File

@ -22,12 +22,26 @@ public class MonitoringTribeTests extends TribeTransportTestCase {
return Collections.singletonList(Monitoring.NAME); return Collections.singletonList(Monitoring.NAME);
} }
@Override
protected void verifyActionOnClientNode(Client client) throws Exception {
assertMonitoringTransportActionsWorks(client);
}
@Override
protected void verifyActionOnMasterNode(Client masterClient) throws Exception {
assertMonitoringTransportActionsWorks(masterClient);
}
@Override @Override
protected void verifyActionOnDataNode(Client dataNodeClient) throws Exception { protected void verifyActionOnDataNode(Client dataNodeClient) throws Exception {
assertMonitoringTransportActionsWorks(dataNodeClient);
}
private static void assertMonitoringTransportActionsWorks(Client client) throws Exception {
MonitoringBulkDoc doc = new MonitoringBulkDoc(randomAsciiOfLength(2), randomAsciiOfLength(2)); MonitoringBulkDoc doc = new MonitoringBulkDoc(randomAsciiOfLength(2), randomAsciiOfLength(2));
doc.setType(randomAsciiOfLength(5)); doc.setType(randomAsciiOfLength(5));
doc.setSource(new BytesArray("{\"key\" : \"value\"}")); doc.setSource(new BytesArray("{\"key\" : \"value\"}"));
dataNodeClient.execute(MonitoringBulkAction.INSTANCE, new MonitoringBulkRequest()); client.execute(MonitoringBulkAction.INSTANCE, new MonitoringBulkRequest());
} }
@Override @Override