public Collection<NodeInfo> load() {
    NodeStatsResponse response = esClient.nodesStats();

    List<NodeInfo> result = new ArrayList<>();
    response.getNodeStats().forEach(nodeStat -> result.add(toNodeInfo(nodeStat)));
    return result;
  }
@Test
  public void return_info_from_elasticsearch_api() {
    Collection<NodeInfo> nodes = underTest.load();

    assertThat(nodes).hasSize(1);
    NodeInfo node = nodes.iterator().next();
    assertThat(node.getName()).isNotEmpty();
    assertThat(node.getHost()).isNotEmpty();
    assertThat(node.getSections()).hasSize(1);
    ProtobufSystemInfo.Section stateSection = node.getSections().get(0);

    assertThat(stateSection.getAttributesList())
      .extracting(ProtobufSystemInfo.Attribute::getKey)
      .contains(
        "Disk Available", "Store Size",
        "JVM Heap Usage", "JVM Heap Used", "JVM Heap Max", "JVM Non Heap Used",
        "JVM Threads",
        "Field Data Memory", "Field Data Circuit Breaker Limit", "Field Data Circuit Breaker Estimation",
        "Request Circuit Breaker Limit", "Request Circuit Breaker Estimation",
        "Query Cache Memory", "Request Cache Memory");
  }