Class ESSingleNodeTestCase

java.lang.Object
org.junit.Assert
org.apache.lucene.util.LuceneTestCase
org.elasticsearch.test.ESTestCase
org.elasticsearch.test.ESSingleNodeTestCase
Direct Known Subclasses:
AbstractThirdPartyRepositoryTestCase

public abstract class ESSingleNodeTestCase
extends ESTestCase
A test that keep a singleton node started for all tests that can be used to get references to Guice injectors in unit tests.
  • Constructor Details

    • ESSingleNodeTestCase

      public ESSingleNodeTestCase()
  • Method Details

    • startNode

      protected void startNode​(long seed) throws java.lang.Exception
      Throws:
      java.lang.Exception
    • setUp

      public void setUp() throws java.lang.Exception
      Overrides:
      setUp in class org.apache.lucene.util.LuceneTestCase
      Throws:
      java.lang.Exception
    • tearDown

      public void tearDown() throws java.lang.Exception
      Overrides:
      tearDown in class org.apache.lucene.util.LuceneTestCase
      Throws:
      java.lang.Exception
    • setUpClass

      public static void setUpClass() throws java.lang.Exception
      Throws:
      java.lang.Exception
    • tearDownClass

      public static void tearDownClass() throws java.lang.Exception
      Throws:
      java.lang.Exception
    • resetNodeAfterTest

      protected boolean resetNodeAfterTest()
      This method returns true if the node that is used in the background should be reset after each test. This is useful if the test changes the cluster state metadata etc. The default is false.
    • getPlugins

      protected java.util.Collection<java.lang.Class<? extends org.elasticsearch.plugins.Plugin>> getPlugins()
      The plugin classes that should be added to the node.
    • pluginList

      @SafeVarargs protected final java.util.Collection<java.lang.Class<? extends org.elasticsearch.plugins.Plugin>> pluginList​(java.lang.Class<? extends org.elasticsearch.plugins.Plugin>... plugins)
      Helper method to create list of plugins without specifying generic types.
    • nodeSettings

      protected org.elasticsearch.common.settings.Settings nodeSettings()
      Additional settings to add when creating the node. Also allows overriding the default settings.
    • addMockHttpTransport

      protected boolean addMockHttpTransport()
      True if a dummy http transport should be used, or false if the real http transport should be used.
    • client

      public org.elasticsearch.client.Client client()
      Returns a client to the single-node cluster.
    • wrapClient

      public org.elasticsearch.client.Client wrapClient​(org.elasticsearch.client.Client client)
    • node

      protected org.elasticsearch.node.Node node()
      Return a reference to the singleton node.
    • getInstanceFromNode

      protected <T> T getInstanceFromNode​(java.lang.Class<T> clazz)
      Get an instance for a particular class using the injector of the singleton node.
    • createIndex

      protected org.elasticsearch.index.IndexService createIndex​(java.lang.String index)
      Create a new index on the singleton node with empty index settings.
    • createIndex

      protected org.elasticsearch.index.IndexService createIndex​(java.lang.String index, org.elasticsearch.common.settings.Settings settings)
      Create a new index on the singleton node with the provided index settings.
    • createIndex

      protected org.elasticsearch.index.IndexService createIndex​(java.lang.String index, org.elasticsearch.common.settings.Settings settings, java.lang.String type, org.elasticsearch.common.xcontent.XContentBuilder mappings)
      Create a new index on the singleton node with the provided index settings.
    • createIndex

      protected org.elasticsearch.index.IndexService createIndex​(java.lang.String index, org.elasticsearch.common.settings.Settings settings, java.lang.String type, java.lang.Object... mappings)
      Create a new index on the singleton node with the provided index settings.
    • createIndex

      protected org.elasticsearch.index.IndexService createIndex​(java.lang.String index, org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder createIndexRequestBuilder)
    • resolveIndex

      public org.elasticsearch.index.Index resolveIndex​(java.lang.String index)
    • createSearchContext

      protected org.elasticsearch.search.internal.SearchContext createSearchContext​(org.elasticsearch.index.IndexService indexService)
      Create a new search context.
    • ensureGreen

      public org.elasticsearch.cluster.health.ClusterHealthStatus ensureGreen​(java.lang.String... indices)
      Ensures the cluster has a green state via the cluster health API. This method will also wait for relocations. It is useful to ensure that all action on the cluster have finished and all shards that were currently relocating are now allocated and started.
    • ensureGreen

      public org.elasticsearch.cluster.health.ClusterHealthStatus ensureGreen​(org.elasticsearch.common.unit.TimeValue timeout, java.lang.String... indices)
      Ensures the cluster has a green state via the cluster health API. This method will also wait for relocations. It is useful to ensure that all action on the cluster have finished and all shards that were currently relocating are now allocated and started.
      Parameters:
      timeout - time out value to set on ClusterHealthRequest
    • xContentRegistry

      protected org.elasticsearch.common.xcontent.NamedXContentRegistry xContentRegistry()
      Description copied from class: ESTestCase
      The NamedXContentRegistry to use for this test. Subclasses should override and use liberally.
      Overrides:
      xContentRegistry in class ESTestCase
    • forbidPrivateIndexSettings

      protected boolean forbidPrivateIndexSettings()
    • ensureNoInitializingShards

      protected void ensureNoInitializingShards() throws java.io.IOException
      waits until all shard initialization is completed. inspired by ESRestTestCase
      Throws:
      java.io.IOException