You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streams.apache.org by sb...@apache.org on 2016/12/17 19:58:55 UTC
[2/9] incubator-streams-examples git commit: switch
elasticsearch-reindex to testng
switch elasticsearch-reindex to testng
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-examples/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-examples/commit/e234e248
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-examples/tree/e234e248
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-examples/diff/e234e248
Branch: refs/heads/master
Commit: e234e2480c6816fb9e202273a711e48d6d4e91e2
Parents: 47f159e
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Thu Dec 15 12:27:58 2016 -0600
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Thu Dec 15 12:30:29 2016 -0600
----------------------------------------------------------------------
local/elasticsearch-reindex/pom.xml | 67 ++++++++++----------
.../streams/example/ElasticsearchReindex.java | 9 +--
.../test/ElasticsearchReindexChildIT.java | 26 ++++----
.../example/test/ElasticsearchReindexIT.java | 44 ++++++-------
.../test/ElasticsearchReindexParentIT.java | 40 ++++++------
.../apache/streams/example/test/ReindexITs.java | 38 -----------
.../src/test/resources/testng.xml | 36 +++++++++++
7 files changed, 128 insertions(+), 132 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-examples/blob/e234e248/local/elasticsearch-reindex/pom.xml
----------------------------------------------------------------------
diff --git a/local/elasticsearch-reindex/pom.xml b/local/elasticsearch-reindex/pom.xml
index 348564b..626c6b9 100644
--- a/local/elasticsearch-reindex/pom.xml
+++ b/local/elasticsearch-reindex/pom.xml
@@ -39,30 +39,36 @@
<dependencies>
<!-- Test includes -->
- <dependency>
- <groupId>org.apache.lucene</groupId>
- <artifactId>lucene-test-framework</artifactId>
- <version>${lucene.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.lucene</groupId>
- <artifactId>lucene-codecs</artifactId>
- <version>${lucene.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.elasticsearch</groupId>
- <artifactId>elasticsearch</artifactId>
- <version>${elasticsearch.version}</version>
- <type>test-jar</type>
- </dependency>
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-all</artifactId>
- <version>1.3</version>
- <scope>test</scope>
- </dependency>
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-test-framework</artifactId>
+ <version>${lucene.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-codecs</artifactId>
+ <version>${lucene.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.elasticsearch</groupId>
+ <artifactId>elasticsearch</artifactId>
+ <version>${elasticsearch.version}</version>
+ <type>test-jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <version>${testng.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-all</artifactId>
+ <version>1.3</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>com.typesafe</groupId>
<artifactId>config</artifactId>
@@ -244,19 +250,14 @@
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<!-- Run integration test suite rather than individual tests. -->
- <excludes>
- <exclude>**/*Test.java</exclude>
- <exclude>**/*Tests.java</exclude>
- <exclude>**/*IT.java</exclude>
- </excludes>
- <includes>
- <include>**/*ITs.java</include>
- </includes>
+ <suiteXmlFiles>
+ <suiteXmlFile>target/test-classes/testng.xml</suiteXmlFile>
+ </suiteXmlFiles>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
- <artifactId>surefire-junit47</artifactId>
+ <artifactId>surefire-testng</artifactId>
<version>${failsafe.plugin.version}</version>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/incubator-streams-examples/blob/e234e248/local/elasticsearch-reindex/src/main/java/org/apache/streams/example/ElasticsearchReindex.java
----------------------------------------------------------------------
diff --git a/local/elasticsearch-reindex/src/main/java/org/apache/streams/example/ElasticsearchReindex.java b/local/elasticsearch-reindex/src/main/java/org/apache/streams/example/ElasticsearchReindex.java
index dfb2a98..676a272 100644
--- a/local/elasticsearch-reindex/src/main/java/org/apache/streams/example/ElasticsearchReindex.java
+++ b/local/elasticsearch-reindex/src/main/java/org/apache/streams/example/ElasticsearchReindex.java
@@ -18,14 +18,15 @@
package org.apache.streams.example;
-import com.google.common.collect.Maps;
import org.apache.streams.config.ComponentConfigurator;
import org.apache.streams.config.StreamsConfigurator;
import org.apache.streams.core.StreamBuilder;
import org.apache.streams.elasticsearch.ElasticsearchPersistReader;
import org.apache.streams.elasticsearch.ElasticsearchPersistWriter;
-import org.apache.streams.example.ElasticsearchReindexConfiguration;
import org.apache.streams.local.builders.LocalStreamBuilder;
+
+import com.google.common.collect.Maps;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -73,8 +74,8 @@ public class ElasticsearchReindex implements Runnable {
streamConfig.put(LocalStreamBuilder.TIMEOUT_KEY, 7 * 24 * 60 * 1000);
StreamBuilder builder = new LocalStreamBuilder(1000, streamConfig);
- builder.newPerpetualStream(ElasticsearchPersistReader.STREAMS_ID, elasticsearchPersistReader);
- builder.addStreamsPersistWriter(ElasticsearchPersistWriter.STREAMS_ID, elasticsearchPersistWriter, 1, ElasticsearchPersistReader.STREAMS_ID);
+ builder.newPerpetualStream(ElasticsearchPersistReader.class.getCanonicalName(), elasticsearchPersistReader);
+ builder.addStreamsPersistWriter(ElasticsearchPersistWriter.class.getCanonicalName(), elasticsearchPersistWriter, 1, ElasticsearchPersistReader.class.getCanonicalName());
builder.start();
}
}
http://git-wip-us.apache.org/repos/asf/incubator-streams-examples/blob/e234e248/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ElasticsearchReindexChildIT.java
----------------------------------------------------------------------
diff --git a/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ElasticsearchReindexChildIT.java b/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ElasticsearchReindexChildIT.java
index 631a084..3260949 100644
--- a/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ElasticsearchReindexChildIT.java
+++ b/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ElasticsearchReindexChildIT.java
@@ -18,15 +18,17 @@
package org.apache.streams.example.test;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
-import com.typesafe.config.ConfigParseOptions;
import org.apache.streams.config.ComponentConfigurator;
import org.apache.streams.elasticsearch.ElasticsearchClientManager;
import org.apache.streams.example.ElasticsearchReindex;
import org.apache.streams.example.ElasticsearchReindexConfiguration;
import org.apache.streams.jackson.StreamsJacksonMapper;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.typesafe.config.Config;
+import com.typesafe.config.ConfigFactory;
+import com.typesafe.config.ConfigParseOptions;
+
import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest;
import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsRequest;
@@ -36,15 +38,15 @@ import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.Requests;
import org.elasticsearch.cluster.health.ClusterHealthStatus;
-import org.junit.Before;
-import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
import java.io.File;
-import static junit.framework.TestCase.assertTrue;
-import static org.junit.Assert.assertEquals;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertNotEquals;
/**
@@ -61,7 +63,7 @@ public class ElasticsearchReindexChildIT {
private int count = 0;
- @Before
+ @BeforeClass
public void prepareTest() throws Exception {
Config reference = ConfigFactory.load();
@@ -70,7 +72,7 @@ public class ElasticsearchReindexChildIT {
Config testResourceConfig = ConfigFactory.parseFileAnySyntax(conf_file, ConfigParseOptions.defaults().setAllowMissing(false));
Config typesafe = testResourceConfig.withFallback(reference).resolve();
testConfiguration = new ComponentConfigurator<>(ElasticsearchReindexConfiguration.class).detectConfiguration(typesafe);
- testClient = new ElasticsearchClientManager(testConfiguration.getSource()).getClient();
+ testClient = ElasticsearchClientManager.getInstance(testConfiguration.getSource()).client();
ClusterHealthRequest clusterHealthRequest = Requests.clusterHealthRequest();
ClusterHealthResponse clusterHealthResponse = testClient.admin().cluster().health(clusterHealthRequest).actionGet();
@@ -78,7 +80,7 @@ public class ElasticsearchReindexChildIT {
IndicesExistsRequest indicesExistsRequest = Requests.indicesExistsRequest(testConfiguration.getSource().getIndexes().get(0));
IndicesExistsResponse indicesExistsResponse = testClient.admin().indices().exists(indicesExistsRequest).actionGet();
- assertTrue(indicesExistsResponse.isExists());
+ assertThat(indicesExistsResponse.isExists(), is(true));
SearchRequestBuilder countRequest = testClient
.prepareSearch(testConfiguration.getSource().getIndexes().get(0))
@@ -104,7 +106,7 @@ public class ElasticsearchReindexChildIT {
.setTypes(testConfiguration.getDestination().getType());
SearchResponse countResponse = countRequest.execute().actionGet();
- assertEquals(count, (int)countResponse.getHits().getTotalHits());
+ assertThat((int)countResponse.getHits().getTotalHits(), is(count));
}
http://git-wip-us.apache.org/repos/asf/incubator-streams-examples/blob/e234e248/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ElasticsearchReindexIT.java
----------------------------------------------------------------------
diff --git a/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ElasticsearchReindexIT.java b/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ElasticsearchReindexIT.java
index 9ef2573..a324e24 100644
--- a/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ElasticsearchReindexIT.java
+++ b/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ElasticsearchReindexIT.java
@@ -18,17 +18,16 @@
package org.apache.streams.example.test;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
-import com.typesafe.config.ConfigParseOptions;
import org.apache.streams.config.ComponentConfigurator;
-import org.apache.streams.config.StreamsConfiguration;
-import org.apache.streams.config.StreamsConfigurator;
import org.apache.streams.elasticsearch.ElasticsearchClientManager;
import org.apache.streams.example.ElasticsearchReindex;
import org.apache.streams.example.ElasticsearchReindexConfiguration;
import org.apache.streams.jackson.StreamsJacksonMapper;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.typesafe.config.Config;
+import com.typesafe.config.ConfigFactory;
+import com.typesafe.config.ConfigParseOptions;
import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest;
import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsRequest;
@@ -38,19 +37,16 @@ import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.Requests;
import org.elasticsearch.cluster.health.ClusterHealthStatus;
-import org.junit.Before;
-import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.util.Properties;
-import static junit.framework.TestCase.assertTrue;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.core.Is.is;
+import static org.hamcrest.core.IsNot.not;
/**
* Test copying documents between two indexes on same cluster
@@ -66,7 +62,7 @@ public class ElasticsearchReindexIT {
private int count = 0;
- @Before
+ @BeforeClass
public void prepareTest() throws Exception {
Config reference = ConfigFactory.load();
@@ -75,24 +71,24 @@ public class ElasticsearchReindexIT {
Config testResourceConfig = ConfigFactory.parseFileAnySyntax(conf_file, ConfigParseOptions.defaults().setAllowMissing(false));
Config typesafe = testResourceConfig.withFallback(reference).resolve();
testConfiguration = new ComponentConfigurator<>(ElasticsearchReindexConfiguration.class).detectConfiguration(typesafe);
- testClient = new ElasticsearchClientManager(testConfiguration.getSource()).getClient();
+ testClient = ElasticsearchClientManager.getInstance(testConfiguration.getSource()).client();
ClusterHealthRequest clusterHealthRequest = Requests.clusterHealthRequest();
ClusterHealthResponse clusterHealthResponse = testClient.admin().cluster().health(clusterHealthRequest).actionGet();
- assertNotEquals(clusterHealthResponse.getStatus(), ClusterHealthStatus.RED);
+ assertThat(clusterHealthResponse.getStatus(), not(ClusterHealthStatus.RED));
IndicesExistsRequest indicesExistsRequest = Requests.indicesExistsRequest(testConfiguration.getSource().getIndexes().get(0));
IndicesExistsResponse indicesExistsResponse = testClient.admin().indices().exists(indicesExistsRequest).actionGet();
- assertTrue(indicesExistsResponse.isExists());
+ assertThat(indicesExistsResponse.isExists(), is(true));
SearchRequestBuilder countRequest = testClient
- .prepareSearch(testConfiguration.getSource().getIndexes().get(0))
- .setTypes(testConfiguration.getSource().getTypes().get(0));
+ .prepareSearch(testConfiguration.getSource().getIndexes().get(0))
+ .setTypes(testConfiguration.getSource().getTypes().get(0));
SearchResponse countResponse = countRequest.execute().actionGet();
count = (int)countResponse.getHits().getTotalHits();
- assertNotEquals(count, 0);
+ assertThat(count, not(0));
}
@@ -105,11 +101,11 @@ public class ElasticsearchReindexIT {
// assert lines in file
SearchRequestBuilder countRequest = testClient
- .prepareSearch(testConfiguration.getDestination().getIndex())
- .setTypes(testConfiguration.getDestination().getType());
+ .prepareSearch(testConfiguration.getDestination().getIndex())
+ .setTypes(testConfiguration.getDestination().getType());
SearchResponse countResponse = countRequest.execute().actionGet();
- assertEquals(count, (int)countResponse.getHits().getTotalHits());
+ assertThat((int)countResponse.getHits().getTotalHits(), is(count));
}
}
http://git-wip-us.apache.org/repos/asf/incubator-streams-examples/blob/e234e248/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ElasticsearchReindexParentIT.java
----------------------------------------------------------------------
diff --git a/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ElasticsearchReindexParentIT.java b/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ElasticsearchReindexParentIT.java
index ccc73c6..988852a 100644
--- a/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ElasticsearchReindexParentIT.java
+++ b/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ElasticsearchReindexParentIT.java
@@ -18,19 +18,19 @@
package org.apache.streams.example.test;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
-import com.typesafe.config.ConfigParseOptions;
import org.apache.streams.config.ComponentConfigurator;
-import org.apache.streams.config.StreamsConfiguration;
-import org.apache.streams.config.StreamsConfigurator;
import org.apache.streams.elasticsearch.ElasticsearchClientManager;
+import org.apache.streams.elasticsearch.test.ElasticsearchParentChildWriterIT;
import org.apache.streams.example.ElasticsearchReindex;
import org.apache.streams.example.ElasticsearchReindexConfiguration;
-import org.apache.streams.elasticsearch.test.ElasticsearchParentChildWriterIT;
import org.apache.streams.jackson.StreamsJacksonMapper;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.typesafe.config.Config;
+import com.typesafe.config.ConfigFactory;
+import com.typesafe.config.ConfigParseOptions;
+
import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest;
import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsRequest;
@@ -41,20 +41,18 @@ import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.Requests;
import org.elasticsearch.cluster.health.ClusterHealthStatus;
-import org.junit.Before;
-import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
import java.net.URL;
-import java.util.Properties;
-import static junit.framework.TestCase.assertTrue;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.core.Is.is;
+import static org.hamcrest.core.IsNot.not;
+import static org.testng.Assert.assertTrue;
/**
* Test copying parent/child associated documents between two indexes on same cluster
@@ -70,7 +68,7 @@ public class ElasticsearchReindexParentIT {
private int count = 0;
- @Before
+ @BeforeClass
public void prepareTest() throws Exception {
Config reference = ConfigFactory.load();
@@ -79,11 +77,11 @@ public class ElasticsearchReindexParentIT {
Config testResourceConfig = ConfigFactory.parseFileAnySyntax(conf_file, ConfigParseOptions.defaults().setAllowMissing(false));
Config typesafe = testResourceConfig.withFallback(reference).resolve();
testConfiguration = new ComponentConfigurator<>(ElasticsearchReindexConfiguration.class).detectConfiguration(typesafe);
- testClient = new ElasticsearchClientManager(testConfiguration.getSource()).getClient();
+ testClient = ElasticsearchClientManager.getInstance(testConfiguration.getSource()).client();
ClusterHealthRequest clusterHealthRequest = Requests.clusterHealthRequest();
ClusterHealthResponse clusterHealthResponse = testClient.admin().cluster().health(clusterHealthRequest).actionGet();
- assertNotEquals(clusterHealthResponse.getStatus(), ClusterHealthStatus.RED);
+ assertThat(clusterHealthResponse.getStatus(), not(ClusterHealthStatus.RED));
IndicesExistsRequest indicesExistsRequest = Requests.indicesExistsRequest(testConfiguration.getSource().getIndexes().get(0));
IndicesExistsResponse indicesExistsResponse = testClient.admin().indices().exists(indicesExistsRequest).actionGet();
@@ -104,7 +102,7 @@ public class ElasticsearchReindexParentIT {
testClient.admin().indices().putTemplate(putTemplateRequestBuilder.request()).actionGet();
- assertNotEquals(count, 0);
+ assertThat(count, not(0));
}
@@ -121,7 +119,7 @@ public class ElasticsearchReindexParentIT {
.setTypes(testConfiguration.getDestination().getType());
SearchResponse countResponse = countRequest.execute().actionGet();
- assertEquals(count, (int)countResponse.getHits().getTotalHits());
+ assertThat((int)countResponse.getHits().getTotalHits(), is(count));
}
http://git-wip-us.apache.org/repos/asf/incubator-streams-examples/blob/e234e248/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ReindexITs.java
----------------------------------------------------------------------
diff --git a/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ReindexITs.java b/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ReindexITs.java
deleted file mode 100644
index d3aed0f..0000000
--- a/local/elasticsearch-reindex/src/test/java/org/apache/streams/example/test/ReindexITs.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.streams.example.test;
-
-import org.apache.streams.elasticsearch.test.ElasticsearchParentChildWriterIT;
-import org.apache.streams.elasticsearch.test.ElasticsearchPersistWriterIT;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
- ElasticsearchPersistWriterIT.class,
- ElasticsearchParentChildWriterIT.class,
- ElasticsearchReindexIT.class,
- ElasticsearchReindexParentIT.class,
- ElasticsearchReindexChildIT.class
-})
-
-public class ReindexITs {
- // the class remains empty,
- // used only as a holder for the above annotations
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-streams-examples/blob/e234e248/local/elasticsearch-reindex/src/test/resources/testng.xml
----------------------------------------------------------------------
diff --git a/local/elasticsearch-reindex/src/test/resources/testng.xml b/local/elasticsearch-reindex/src/test/resources/testng.xml
new file mode 100644
index 0000000..2ca81e4
--- /dev/null
+++ b/local/elasticsearch-reindex/src/test/resources/testng.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
+
+<suite name="ExampleITs">
+
+ <test name="ElasticsearchPersistWriterIT">
+ <classes>
+ <class name="org.apache.streams.elasticsearch.test.ElasticsearchPersistWriterIT" />
+ </classes>
+ </test>
+
+ <test name="ElasticsearchParentChildWriterIT">
+ <classes>
+ <class name="org.apache.streams.elasticsearch.test.ElasticsearchParentChildWriterIT" />
+ </classes>
+ </test>
+
+ <test name="ElasticsearchReindexIT">
+ <classes>
+ <class name="org.apache.streams.example.test.ElasticsearchReindexIT" />
+ </classes>
+ </test>
+
+ <test name="ElasticsearchReindexParentIT">
+ <classes>
+ <class name="org.apache.streams.example.test.ElasticsearchReindexParentIT" />
+ </classes>
+ </test>
+
+ <test name="ElasticsearchReindexChildIT">
+ <classes>
+ <class name="org.apache.streams.example.test.ElasticsearchReindexChildIT" />
+ </classes>
+ </test>
+
+</suite>
\ No newline at end of file