Package org.elasticsearch.test
Class TestCluster
java.lang.Object
org.elasticsearch.test.TestCluster
- All Implemented Interfaces:
Closeable
,AutoCloseable
- Direct Known Subclasses:
ExternalTestCluster
,InternalTestCluster
Base test cluster that exposes the basis to run tests against any elasticsearch cluster, whose layout
(e.g. number of nodes) is predefined and cannot be changed during the tests execution
-
Field Summary
Modifier and TypeFieldDescriptionprotected final org.apache.logging.log4j.Logger
protected Random
protected double
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract void
This method should be executed during tear down, after each test (but after assertAfterTest)void
This method checks all the things that need to be checked after each testvoid
Assertions that should run before the cluster is wiped should be called in this methodvoid
beforeTest
(Random randomGenerator, double transportClientRatioValue) This method should be executed before each test to reset the cluster to its initial state.abstract Client
client()
Returns a client connected to any node in the clusterabstract void
close()
Closes the current clusterabstract void
Ensures that any breaker statistics are reset to 0.Returns anIterable
over all clients in this test clusterabstract String
Returns the cluster nameabstract NamedWriteableRegistry
Returns this clustersNamedWriteableRegistry
this is needed to deserialize binary content from this cluster that might include custom named writeablesabstract InetSocketAddress[]
Returns the http addresses of the nodes within the cluster.abstract int
Returns the number of data and master eligible nodes in the cluster.abstract int
Returns the number of data nodes in the cluster.long
seed()
abstract int
size()
Returns the number of nodes in the cluster.void
Wipes any data that a test can leave behind: indices, templates (except exclude templates) and repositoriesvoid
wipeAllTemplates
(Set<String> exclude) Removes all templates, except the templates defined in the excludevoid
wipeIndices
(String... indices) Deletes the given indices from the tests cluster.void
wipeRepositories
(String... repositories) Deletes repositories, supports wildcard notation.void
wipeTemplates
(String... templates) Deletes index templates, support wildcard notation.
-
Field Details
-
logger
protected final org.apache.logging.log4j.Logger logger -
random
-
transportClientRatio
protected double transportClientRatio
-
-
Constructor Details
-
TestCluster
public TestCluster(long seed)
-
-
Method Details
-
seed
public long seed() -
beforeTest
public void beforeTest(Random randomGenerator, double transportClientRatioValue) throws IOException, InterruptedException This method should be executed before each test to reset the cluster to its initial state.- Throws:
IOException
InterruptedException
-
wipe
Wipes any data that a test can leave behind: indices, templates (except exclude templates) and repositories -
beforeIndexDeletion
Assertions that should run before the cluster is wiped should be called in this method- Throws:
Exception
-
assertAfterTest
This method checks all the things that need to be checked after each test- Throws:
Exception
-
afterTest
This method should be executed during tear down, after each test (but after assertAfterTest)- Throws:
IOException
-
client
Returns a client connected to any node in the cluster -
size
public abstract int size()Returns the number of nodes in the cluster. -
numDataNodes
public abstract int numDataNodes()Returns the number of data nodes in the cluster. -
numDataAndMasterNodes
public abstract int numDataAndMasterNodes()Returns the number of data and master eligible nodes in the cluster. -
httpAddresses
Returns the http addresses of the nodes within the cluster. Can be used to run REST tests against the test cluster. -
close
Closes the current cluster- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
wipeIndices
Deletes the given indices from the tests cluster. If no index name is passed to this method all indices are removed. -
wipeAllTemplates
Removes all templates, except the templates defined in the exclude -
wipeTemplates
Deletes index templates, support wildcard notation. If no template name is passed to this method all templates are removed. -
wipeRepositories
Deletes repositories, supports wildcard notation. -
ensureEstimatedStats
public abstract void ensureEstimatedStats()Ensures that any breaker statistics are reset to 0. The implementation is specific to the test cluster, because the act of checking some breaker stats can increase them. -
getClusterName
Returns the cluster name -
getClients
Returns anIterable
over all clients in this test cluster -
getNamedWriteableRegistry
Returns this clustersNamedWriteableRegistry
this is needed to deserialize binary content from this cluster that might include custom named writeables
-