anchor.diff:  `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 `ElasticsearchIntegrationTest.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 `TestCluster` class, which can be accessed using the `ElasticsearchIntegrationTest.cluster()` method.
  +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
  
positive.code: 
  
  [[changing-node-configuration]]
  ==== Changing node configuration
  
  As elasticsearch is using JUnit 4, using the `@Before` and `@After` annotations is not a problem. However you should keep in mind, that this does not have any effect in your cluster setup, as the cluster is already up and running when those methods are run. So in case you want to configure settings - like loading a plugin on node startup - before the node is actually running, you should overwrite the `nodePlugins()` method from the `ESIntegTestCase` class and return the plugin classes each node should load.
  
  
negative.code:   return pluginList(CustomSuggesterPlugin.class);
  }
  -----------------------------------------
  
  [[randomized-testing]]
  === Randomized testing
  