public class IntegrationTestingUtility
extends HBaseTestingUtility
HBaseTestingUtility
and adds-in the functionality needed by integration and system tests. This class understands
distributed and pseudo-distributed/local cluster deployments, and abstracts those from the tests
in this module.
IntegrationTestingUtility is constructed and used by the integration tests, but the tests
themselves should not assume a particular deployment. They can rely on the methods in this
class and HBaseCluster. Before the testing begins, the test should initialize the cluster by
calling initializeCluster(int)
.
The cluster that is used defaults to a mini cluster, but it can be forced to use a distributed
cluster by calling setUseDistributedCluster(Configuration)
. This method is invoked by
test drivers (maven, IntegrationTestsDriver, etc) before initializing the cluster
via initializeCluster(int)
. Individual tests should not directly call
setUseDistributedCluster(Configuration)
.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
IS_DISTRIBUTED_CLUSTER
Configuration that controls whether this utility assumes a running/deployed cluster.
|
Constructor and Description |
---|
IntegrationTestingUtility() |
IntegrationTestingUtility(Configuration conf) |
Modifier and Type | Method and Description |
---|---|
void |
checkNodeCount(int numSlaves)
Checks whether we have more than numSlaves nodes.
|
void |
createDistributedHBaseCluster() |
void |
initializeCluster(int numSlaves)
Initializes the state of the cluster.
|
boolean |
isDistributedCluster() |
void |
restoreCluster()
Restores the cluster to the initial state if it is a distributed cluster, otherwise, shutdowns the
mini cluster.
|
static void |
setUseDistributedCluster(Configuration conf)
Sets the configuration property to use a distributed cluster for the integration tests.
|
public static final java.lang.String IS_DISTRIBUTED_CLUSTER
public IntegrationTestingUtility()
public IntegrationTestingUtility(Configuration conf)
public void initializeCluster(int numSlaves) throws java.lang.Exception
numSlaves
- Number of slaves to start up if we are booting a mini cluster. Otherwise
we check whether this many nodes are available and throw an exception if not.java.lang.Exception
public void checkNodeCount(int numSlaves) throws java.lang.Exception
java.lang.Exception
public void restoreCluster() throws java.io.IOException
java.io.IOException
public static void setUseDistributedCluster(Configuration conf)
public boolean isDistributedCluster()
setUseDistributedCluster(Configuration)
public void createDistributedHBaseCluster() throws java.io.IOException
java.io.IOException