GithubHelp home page GithubHelp logo

elasticsearch-test's Introduction

elasticsearch-test, a framework that makes ElasticSearch unit testing a breeze.

Warning: Since 0.90.7, the Elasticsearch team provides a JAR file containing all the test classes. This JAR can be included in third party projects. See the pull request for more information.

Here you will find:

  • a simple Java API that can be used to easily set up ElasticSearch in your unit tests
  • some Java annotations that simplifies JUnit testing with ElasticSearch

Versions

elasticsearch-test ElasticSearch
master (1.2.2-SNAPSHOT) 1.2.2
1.2.1 1.2.1
1.1.0 1.1.0
0.90.6 0.90.6
0.90.5 0.90.5
0.0.10 0.90.3
0.0.9 0.90.1
0.0.8 0.90.0.Beta1
0.0.7 0.20.1
0.0.6 0.20.0
0.0.5 0.19.11
0.0.4 0.19.8
0.0.3 0.19.7
0.0.2 0.19.4
0.0.1 0.19.4

Maven dependency

Add a new dependency in your Maven POM file:

<dependency>
  <groupId>com.github.tlrx</groupId>
  <artifactId>elasticsearch-test</artifactId>
  <version>1.2.1</version>
</dependency>

Using the Java API

The EsSetup class helps to start and stop a local ElasticSearch node. Then, the EsSetup.execute() method
can be used to create indices (with mappings, settings and templates support) and import test data.

The usage of EsSetup is pretty self explanatory:


import static com.github.tlrx.elasticsearch.test.EsSetup.*;

public class MyTest {
EsSetup esSetup;
@Before public void setUp() throws Exception {
// Instantiates a local node & client
esSetup = new EsSetup();
// Clean all, and creates some indices
esSetup.execute(
deleteAll(),
createIndex(“my_index_1”),
createIndex(“my_index_2”)
.withSettings(fromClassPath(“path/to/settings.json”))
.withMapping(“type1”, fromClassPath(“path/to/mapping/of/type1.json”))
.withData(fromClassPath(“path/to/bulk.json”)),
createTemplate(“template-1”)
.withSource(fromClassPath(“path/to/template1.json”)),
);
}
@Test public void testMethod() {
// check if the index exists
assertTrue(esSetup.exists(“my_index_2”));
// Index a new document
esSetup.execute(index(“my_index_2”, “type1”, “1”).withSource(“{ \”field1\" : \“value1\” }"));
// Count the number of documents
Long nb = esSetup.countAll();
// Delete a document
esSetup.execute(delete(“my_index_2”, “type1”, “1”));
// Clean all indices
esSetup.execute(deleteAll());
}
@After public void tearDown() throws Exception {
// This will stop and clean the local node
esSetup.terminate();
}
}


More usages can be found in BasicTest.java

Using with JUnit

Define the JUnit Runner to use in your test classes with the annotation @RunWith(ElasticsearchRunner.class) :

package com.github.tlrx.elasticsearch.samples.core;

@RunWith(ElasticsearchRunner.class)
public class VersionTest {
	...
}

Annotations

The library provides the following annotations:

Annotation
@ElasticsearchNode Instantiate an elasticsearch Node
@ElasticsearchClient Instantiate an elasticsearch Client
@ElasticsearchAdminClient Instantiate an elasticsearch AdminClient
@ElasticsearchTransportClient Instantiate an elasticsearch TransportClient
@ElasticsearchIndexes Used to create multiple index
@ElasticsearchIndex Creates an index
@ElasticsearchMapping Defines a mapping for an index and a document type
@ElasticsearchMappingField Defines field properties in a mapping
@ElasticsearchSetting Defines settings (at node or index level)
@ElasticsearchBulkRequest Used to import data
@ElasticsearchAnalysis Used to define analysis settings of an ElasticsearchIndex
@ElasticsearchAnalyzer Used to define an analyzer
@ElasticsearchFilter Used to define an analysis filter

@ElasticsearchNode

Used to instantiate an elasticsearch Node in a unit test class.

Simple node has default name “elasticsearch-test-node” and is part of default cluster name “elasticsearch-test-cluster”. Node is local and can hold data.

package com.github.tlrx.elasticsearch.samples.core;

@RunWith(ElasticsearchRunner.class)
public class VersionTest {

        @ElasticsearchNode
	Node node;
	
        @Test
	public void test(){
                // Use of node
	}
}

Example with custom cluster and node names, and local set to true and data set to false:

@ElasticsearchNode(name = "node3", clusterName = "fourth-cluster-name", local = true, data = false)
Node node3;

Example with custom settings:

@ElasticsearchNode(name = "node0", settings = {
	@ElasticsearchSetting(name = "http.enabled", value = "false"),
	@ElasticsearchSetting(name = "node.zone", value = "zone_one") })
Node node;

@ElasticsearchClient

Used to instantiate an elasticsearch Client from a Node. The nodeName parameter of the annotation is used to retrieve the node from which the client will be instantiated. If no nodeName is defined, a default node will be instantiated.

Example with default node:

@ElasticsearchClient
Client client;

Example with a predefined node:

@ElasticsearchNode(name = "node1")
Node node1;

@ElasticsearchClient(nodeName = "node1")
Client client1;

@ElasticsearchAdminClient

Same as ElasticsearchClient but instantiates an AdminClient.

@ElasticsearchAdminClient
AdminClient adminClient0;

@ElasticsearchNode(name = "node1")
Node node1;

@ElasticsearchAdminClient(nodeName = "node1")
AdminClient adminClient1;

@ElasticsearchTransportClient

Used to instantiate an elasticsearch TransportClient. By default the TransportClient will try to join localhost:9200.

Connect to a remote node with a TransportClient:

@ElasticsearchTransportClient(local = false, clusterName = "external",
					hostnames = {"host1", "host2"},
					ports= {9300, 9300})
	Client client;

@ElasticsearchIndex, @ElasticsearchIndexes

Used to creates one or many index before a test method. A node must be instantiated before using this annotation.

This example will create an index with default name test:

@ElasticsearchAdminClient
AdminClient adminClient;

@Test
@ElasticsearchIndex
public void test(){...}

This example will create an index “people”:

@Test
@ElasticsearchIndex(indexName = "people")
public void test(){
        ...
}

This example will create 2 indexs with settings:

@Test
@ElasticsearchIndexes(indexes = {
			@ElasticsearchIndex(indexName = "library", 
					forceCreate = true,
					settings = {
						@ElasticsearchSetting(name = "number_of_shards", value = "2"),
						@ElasticsearchSetting(name = "number_of_replicas", value = "1") }),
				@ElasticsearchIndex(indexName = "people") })
public void test(){
        ...
}

This example will create an index with settings:

@Test
@Test
@ElasticsearchIndex(indexName = "documents", settingsFile = "path/to/settings.json")
public void test() {
        ...
}

Load data from JSON file with @ElasticsearchBulkRequest

@Test
@ElasticsearchIndex(indexName = "documents", forceCreate = true)
@ElasticsearchBulkRequest(dataFile = "com/tlrx/elasticsearch/test/annotations/documents/bulk1.json")
public void test() {
   // Data from JSON file are indexed
}

@ElasticsearchMapping, @ElasticsearchMappingField and @ElasticsearchSetting

Used to define the mappings and settings of an index

This example will create 2 indexs, “people” and “library”, with a mapping for document type “book”:

@ElasticsearchNode
Node node;

@Test
@ElasticsearchIndexes(indexes = {
@ElasticsearchIndex(indexName = “people”, settings = {
@ElasticsearchSetting(name = “number_of_shards”, value = “2”),
@ElasticsearchSetting(name = “number_of_replicas”, value = “1”)
}),
@ElasticsearchIndex(indexName = “library”,
mappings = {
@ElasticsearchMapping(typeName = “book”,
properties = {
@ElasticsearchMappingField(name = “title”, store = Store.Yes, type = Types.String),
@ElasticsearchMappingField(name = “author”, store = Store.Yes, type = Types.String)
})
})
})
public void test(){

}

You can also look at the unit tests for some inspiration

elasticsearch-test's People

Contributors

phjardas avatar svenmeys avatar synhershko avatar tlrx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

elasticsearch-test's Issues

client() on LocalClientProvider does not instantiate a Node

I'm using elasticsearch-test in the context of CDI and in my tests I want to inject the client into my beans. I wrote a @produces method which calls esSetup.client(). My problem is that client() does not call open() to start a node. Is that intended behaviour?

In my fork I'm calling open() in client() - I can prepare a PR if you like..

es-test 0.0.9 / es-0.90.3 incompatibility in DeleteTemplates

elasticsearch-test 0.0.9 can not be used with elasticsearch-0.90.3

java.lang.NoSuchMethodError: org.elasticsearch.cluster.metadata.MetaData.getTemplates()Lorg/elasticsearch/common/collect/ImmutableMap;
    at com.github.tlrx.elasticsearch.test.request.DeleteTemplates.getTemplates(DeleteTemplates.java:78)
    at com.github.tlrx.elasticsearch.test.request.DeleteTemplates.execute(DeleteTemplates.java:89)
    at com.github.tlrx.elasticsearch.test.request.DeleteTemplates.execute(DeleteTemplates.java:40)
    at com.github.tlrx.elasticsearch.test.EsSetup.doExecute(EsSetup.java:148)
    at com.github.tlrx.elasticsearch.test.EsSetup.execute(EsSetup.java:132)

@ElasticsearchBulkRequest : Geo_point

Hi,

Is it possible to use @ElasticsearchBulkRequest with Geo_point ? I try different syntax but it doen't work and there is no geo_point type ?

Thanks Alexandre

Data files fail to load all data when no new line

This gotcha cost me a few minutes so I thought it worth raising.

Reproducible in the unit tests, remove the last blank line from any of the data files,

com/github/tlrx/elasticsearch/test/annotations/documents/bulk1.json
com/github/tlrx/elasticsearch/test/annotations/documents/bulk2.json
com/github/tlrx/elasticsearch/test/annotations/data/product.json

When I get a few moments I'll have a poke around and submit a PR. Thanks again for the great library.

0.19.x support branch

Do you intend to provide a 0.19.x support with latest addition on a separate branch and maven artefact ?
Would be very useful for project that use ES but have not (yet?) planned migration

Test Failure in 0.0.11-SNAPSHOT

Results :

Tests in error: 
  testLocalTransportClient(com.github.tlrx.elasticsearch.test.annotations.ElasticsearchTransportClientAnnotationTest): No node available

Tests run: 32, Failures: 0, Errors: 1, Skipped: 0

Surefire report...

elasticsearch-test$less target/surefire-reports/com.github.tlrx.elasticsearch.test.annotations.ElasticsearchTransportClientAnnotationTest.txt 

-------------------------------------------------------------------------------
Test set: com.github.tlrx.elasticsearch.test.annotations.ElasticsearchTransportClientAnnotationTest
-------------------------------------------------------------------------------
Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 6.44 sec <<< FAILURE!
testLocalTransportClient(com.github.tlrx.elasticsearch.test.annotations.ElasticsearchTransportClientAnnotationTest)  Time elapsed: 0.044 sec  <<< ERROR!
org.elasticsearch.client.transport.NoNodeAvailableException: No node available
        at org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:205)
        at org.elasticsearch.client.transport.support.InternalTransportClusterAdminClient.execute(InternalTransportClusterAdminClient.java:85)
        at org.elasticsearch.client.support.AbstractClusterAdminClient.nodesInfo(AbstractClusterAdminClient.java:147)
        at org.elasticsearch.action.admin.cluster.node.info.NodesInfoRequestBuilder.doExecute(NodesInfoRequestBuilder.java:123)
        at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:85)
        at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:59)
        at com.github.tlrx.elasticsearch.test.annotations.ElasticsearchTransportClientAnnotationTest.testLocalTransportClient(ElasticsearchTransportClientAnnotationTest.java:58)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
        at com.github.tlrx.elasticsearch.test.support.junit.rules.AbstractElasticsearchRule$1.evaluate(AbstractElasticsearchRule.java:62)
        at org.junit.rules.RunRules.evaluate(RunRules.java:18)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
        at com.github.tlrx.elasticsearch.test.support.junit.rules.AbstractElasticsearchRule$1.evaluate(AbstractElasticsearchRule.java:62)
        at org.junit.rules.RunRules.evaluate(RunRules.java:18)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
        at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
        at com.sun.proxy.$Proxy0.invoke(Unknown Source)
        at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
        at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)

Reproduces via mvn test and via Eclipse.

Great library BTW!

ElasticsearchBulkRequestAnnotationTest fails

I am trying to execute the test and for the ElasticsearchBulkRequestAnnotationTest I get the following:
Dec 09, 2014 5:25:52 PM com.github.tlrx.elasticsearch.test.support.junit.handlers.annotations.ElasticsearchBulkRequestAnnotationHandler handleBefore INFO: Bulk request for data file 'bulk1.json' executed in 149 ms with no failures

java.lang.AssertionError: Expected :6 Actual :5

Is there a particular reason for this?

Can you please have someone else help you with the repo?

This is such a good tool for unit tests involving Elasticsearch, but since the supporting version has been outdated, my coworker had to maintain the repo on his own so we can continue using it. I see that there are a couple pull requests pending, and I believe that there're more people out there that are willing to contribute to this project.
I understand that you are probably really busy and don't have extra time to maintain it, can you allow someone else you trust to help you?

Thanks,
Yanan

NPE Caused By JDK 7 Bug on OS X

I was getting NPE from this line:
https://github.com/tlrx/elasticsearch-test/blob/master/src/main/java/com/github/tlrx/elasticsearch/test/provider/LocalClientProvider.java#L91

java.lang.NullPointerException
    at com.github.tlrx.elasticsearch.test.provider.LocalClientProvider.buildNodeSettings(LocalClientProvider.java:88)
    at com.github.tlrx.elasticsearch.test.provider.LocalClientProvider.open(LocalClientProvider.java:53)
    at com.github.tlrx.elasticsearch.test.EsSetup.execute(EsSetup.java:130)

Related to an obscure bug in JDK 7 on OS X using a DHCP IP:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7180557

The fix is really easy since the cluster.name isn't critical, it could either:

  • Hard set "elasticsearch-test-localhost"
  • try/catch around the getLocalAddress and set "localhost" by default

If you'd like me to submit a PR, I can try, but my Java skills aren't the best.

License?

What's the license for this project?

Most of the time test fails with: Failed to execute phase [query_fetch], all shards failed

Hi,

I noticed a strange behavior if using EsSetup for my UnitTests. I've created a simple Maven project with one test executed 6 times with setUp and tearDown after each test. The most of the time at least one of the test methods fails (may need some runs).
I am not sure if this is really a problem with the test framework, but may be some one has a hint to solve the problem.

Link to the maven project: https://docs.google.com/file/d/0B6hsQXmR9ZrsNkZweDQ1UEFvNW8/edit?usp=sharing

Intermittent issue testing lastest master with 0.90.0RC's

Hi there,

I've been using elasticsearch-test over the past while for testing my app. I've recently upgraded to 0.90.0RC1 and am seeing some intermittent issues with unit tests (no stability to the tests - sometimes they pass, sometimes fail based on the expected outcome of ES based count/searches).

I pulled the latest master and ran the tests and all worked fine. When i updated the pom 'elasticsearch.version' variable to be 0.90.0RC1, 1 of the tests fails:
Tests in error:
testElasticsearchForceCreate(com.github.tlrx.elasticsearch.test.annotations.ElasticsearchIndexAnnotationTest): Failed to execute phase [query_fetch], total failure; shardFailures {[na][people][0]: No active shards}

Tests run: 32, Failures: 0, Errors: 1, Skipped: 0

If i run the test standalone (mvn clean test -Dtest=ElasticsearchIndexAnnotationTest), it works fine so it seems to be some delay related issue (based on previous test?). If i run all the tests in eclipse, everything seems to work ok also.

Not sure if a localised vs specific issue but thought i would mention here.

Thanks,

Derry

Valid JSON data

The data json file is not a valid JSON data structure.

We have a situation that we need to produce data dynamically. What about introducing array or something to make JSON structure a valid one. Or may be I am missing something here.

Consider a solution without using @RunWith()

Sometimes it is impossible to use the RunWith annotation. For example, when you're already using it for parameterized tests, or when writing unit tests for Play Framework. I had both problems.

Using EsSetup was not an option for me either, because I needed a Client object to inject into my code.

Eventually I did the following:

LocalClientProvider provider = new LocalClientProvider();
provider.open();
Client client = provider.client();

// (inject client into code and perform tests)

provider.close()

If this is the recommended way to do this, you should document it.

DeleteAll doesn't delete

For some reason when I execute 'DeleteAll', it doesn't delete everything in EL, is this how it works? I should mention my EL server is not running locally, if that matters.

Support for Templates

We are currently using index templates file in our main elasticsearch env.

We would like to reuse these template file within elasticsearch-test for consistency.
A new annotation with a settingFile to be handled by calling IndicesAdminClient templates related methods would be great.

Support for parent/child mappings?

Hi, thanks for the great project. Just wondering if there is support for parent/child mappings in @ElasticsearchMapping? Something like:

@ElasticsearchMappingField(name = "_parent", type = "parentTypeName")

Thanks!

Tutorial

Can you recommend to me a tutorial to learn elasticsearch-test?
Thanks in advance

Reduce wait time for tests?

I've written some tests using es-test, but I require to wait ~1000ms after, say, inserting a document for the index to update. Does es-test run in memory, or can it be made to do so, and do I need to flush the node, or configure it to flush after every operation?

I notice a /data dir is created during the tests. Is it possible to run the test in memory such that a directory isn't needed, or if not change the location of the /data directory (to somewhere under /target).

Thanks.

Removing sysout in favor of logger (JUL?)

Do you mind replacing Sytem.out calls with a logging library?
If you prefer to remains without much dependencies, I suppose java.util.logging would be the best choice.
If you agree on JUL and if needed I can issue a pull request.
Merci

I did not browse the full code, only found out in ElasticsearchBulkRequestAnnotationHandler that annoyed me a little with a missing \n

DFS queries on multiple shards with numerical terms facets gives shard failures

Here is a test that demonstrates the failure. I've tried to keep it minimal.
Tested with elasticsearch 0.90.x (multiple versions), and every elasticsearch-test from 0.0.7 to 0.90.6.

The necessary prerequisites for the failure:

  • 2 or more shards
  • Any of the DFS search types
  • A terms facet on a field with a "long" type in the mapping

I have not been able to reproduce this on a standalone ES cluster, only through elasticsearch-test.

@RunWith(ElasticsearchRunner.class)
public class MyTest {

    @ElasticsearchNode(name = "es-test", settings = {@ElasticsearchSetting( name = "index.number_of_shards", value = "2" )})
    private Node node;

    @ElasticsearchClient(nodeName = "es-test")
    private Client client;

    @Test
    public void demonstrateFailure() throws Exception {
        IndexResponse indexResponse = client
                .prepareIndex("test-index", "test-type")
                .setSource("{ \"id\": 123, \"test-value\": 321 }")
                .setRefresh(true)
                .execute()
                .actionGet();

        SearchResponse searchResponse = client
                .prepareSearch("test-index")
                .setQuery(new MatchAllQueryBuilder())
                .addFacet(new TermsFacetBuilder("test-facet").field("test-value"))
                .setSearchType(SearchType.DFS_QUERY_AND_FETCH)
                .execute()
                .actionGet();

        assertThat(searchResponse.getFailedShards()).isEqualTo(0); // Failing!
    }
}

NoSuchMethodError for prepareExists using version 0.0.5 with 0.19.11

   private static final String INDEX = "items";

   @ElasticsearchNode(name = "someNodeName", clusterName = "some-cluster-name", local = true, data = true)
   Node someNodeName;
   @ElasticsearchClient(nodeName = "someNodeName") 
   Client client;

   @Test
   @ElasticsearchIndex(indexName = "items", forceCreate = true) 
   @ElasticsearchBulkRequest(dataFile = "documents/bulk1.json") 
   public void testSomething() throws IOException {

       SearchResponse response = client.prepareSearch(INDEX).setQuery(QueryBuilders.matchAllQuery()).execute().actionGet();
       assertEquals(7L, response.hits().totalHits());
   }

is causing this error

java.lang.NoSuchMethodError: org.elasticsearch.client.IndicesAdminClient.prepareExists([Ljava/lang/String;)Lorg/elasticsearch/action/admin/indices/exists/indices/IndicesExistsRequestBuilder;
at com.github.tlrx.elasticsearch.test.support.junit.handlers.annotations.ElasticsearchIndexAnnotationHandler.buildIndex(ElasticsearchIndexAnnotationHandler.java:139)
at com.github.tlrx.elasticsearch.test.support.junit.handlers.annotations.ElasticsearchIndexAnnotationHandler.handleBefore(ElasticsearchIndexAnnotationHandler.java:42)
at com.github.tlrx.elasticsearch.test.support.junit.rules.ElasticsearchTestRule.executeBeforeOrAfterMethodHandlers(ElasticsearchTestRule.java:62)
at com.github.tlrx.elasticsearch.test.support.junit.rules.ElasticsearchTestRule.before(ElasticsearchTestRule.java:38)
at com.github.tlrx.elasticsearch.test.support.junit.rules.AbstractElasticsearchRule$1.evaluate(AbstractElasticsearchRule.java:59)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at com.github.tlrx.elasticsearch.test.support.junit.rules.AbstractElasticsearchRule$1.evaluate(AbstractElasticsearchRule.java:62)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.