anchor.diff:  [source,java]
   -----------------------------------------
   @ClusterScope(scope=TEST, numNodes=1)
  -public class CustomSuggesterSearchTests extends ElasticsearchIntegrationTest {
  +public class CustomSuggesterSearchTests extends ESIntegTestCase {
     // ... tests go here
   }
   -----------------------------------------
  
positive.code: [[assertions]]
  === Assertions
  
  As many elasticsearch tests are checking for a similar output, like the amount of hits or the first hit or special highlighting, a couple of predefined assertions have been created. Those have been put into the `ElasticsearchAssertions` class.
  
  [horizontal]
  `assertHitCount()`::        Checks hit count of a search or count request
  
negative.code: `startNode(settings)`::             Create and start a new elasticsearch node
  
  
  [[changing-node-settings]]
  ==== Changing node settings
  
  If you want to ensure a certain configuration for the nodes, which are started as part of the `EsIntegTestCase`, you can override the `nodeSettings()` method
  
  [source,java]
  -----------------------------------------
  public class Mytests extends ESIntegTestCase {
  
    @Override
    protected Settings nodeSettings(int nodeOrdinal) {
        return settingsBuilder().put(super.nodeSettings(nodeOrdinal))
               .put("node.mode", "network")
               .build();
    }
  
  }
  -----------------------------------------
  
  
  [[accessing-clients]]
  ==== Accessing clients
  
  In order to execute any actions, you have to use a client. You can use the `ESIntegTestCase.client()` method to get back a random client. This client can be a `TransportClient` or a `NodeClient` - and usually you do not need to care as long as the action gets executed. There are several more methods for client selection inside of the `InternalTestCluster` class, which can be accessed using the `ESIntegTestCase.internalCluster()` method.
  
  [horizontal]
  `iterator()`::                  An iterator over all available clients
  