package io.searchbox.cluster; import com.google.gson.JsonObject; import io.searchbox.client.JestResult; import io.searchbox.common.AbstractIntegrationTest; import org.elasticsearch.test.ESIntegTestCase; import org.junit.Test; import java.io.IOException; @ESIntegTestCase.ClusterScope(scope = ESIntegTestCase.Scope.SUITE, numDataNodes = 1) public class StatsIntegrationTest extends AbstractIntegrationTest { @Test public void clusterStats() throws IOException { JestResult result = client.execute(new Stats.Builder().build()); assertTrue(result.getErrorMessage(), result.isSucceeded()); JsonObject resultJson = result.getJsonObject(); assertNotNull(resultJson); assertNotNull(resultJson.getAsJsonPrimitive("timestamp")); assertNotNull(resultJson.getAsJsonPrimitive("cluster_name")); assertNotNull(resultJson.getAsJsonPrimitive("status")); assertNotNull(resultJson.getAsJsonObject("indices")); assertNotNull(resultJson.getAsJsonObject("nodes")); assertEquals(internalCluster().size(), resultJson.getAsJsonObject("nodes").getAsJsonObject("count").get("total").getAsInt()); } @Test public void clusterStatsWithSpecificNodes() throws IOException { final String localNodeName = clusterService().localNode().getName(); JestResult result = client.execute(new Stats.Builder().addNode(localNodeName).build()); assertTrue(result.getErrorMessage(), result.isSucceeded()); JsonObject resultJson = result.getJsonObject(); assertNotNull(resultJson); assertNotNull(resultJson.getAsJsonPrimitive("timestamp")); assertNotNull(resultJson.getAsJsonPrimitive("cluster_name")); assertNotNull(resultJson.getAsJsonObject("indices")); assertNotNull(resultJson.getAsJsonObject("nodes")); assertEquals(1, resultJson.getAsJsonObject("nodes").getAsJsonObject("count").get("total").getAsInt()); } }