public class ElasticsearchResourceManager extends TestContainerResourceManager<GenericContainer<?>> implements org.apache.beam.it.common.ResourceManager
The class supports many indices per resource manager object.
The index name is formed using testId. The index name will be "{prefix}-{testId}-{ISO8601 time, microsecond precision}".
The class is thread-safe.
| Modifier and Type | Class and Description | 
|---|---|
| static class  | ElasticsearchResourceManager.BuilderBuilder for  ElasticsearchResourceManager. | 
HOST_IP, port| Modifier and Type | Method and Description | 
|---|---|
| static ElasticsearchResourceManager.Builder | builder(java.lang.String testId) | 
| void | cleanupAll()Deletes all created resources and cleans up the Elasticsearch client, making the manager object
 unusable. | 
| long | count(java.lang.String indexName)Gets the count of documents in an index. | 
| boolean | createIndex(java.lang.String indexName)Creates an index on Elasticsearch. | 
| java.util.List<java.util.Map<java.lang.String,java.lang.Object>> | fetchAll(java.lang.String indexName)Reads all the documents in an index. | 
| java.lang.String | getUri()Returns the URI connection string to the Elasticsearch service. | 
| boolean | insertDocuments(java.lang.String indexName,
               java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> documents)Inserts the given Documents into a collection. | 
getDockerImageName, getHost, getPortpublic static ElasticsearchResourceManager.Builder builder(java.lang.String testId)
public java.lang.String getUri()
public boolean createIndex(java.lang.String indexName)
                    throws ElasticsearchResourceManagerException
indexName - Name of the index to create.ElasticsearchResourceManagerException - if there is an error creating the collection in
     Elasticsearch.public boolean insertDocuments(java.lang.String indexName,
                               java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> documents)
                        throws ElasticsearchResourceManagerException
Note: Implementations may do collection creation here, if one does not already exist.
indexName - The name of the index to insert the documents into.documents - A map of (id, document) to insert into the collection.ElasticsearchResourceManagerException - if there is an error inserting the documents.public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> fetchAll(java.lang.String indexName)
                                                                          throws ElasticsearchResourceManagerException
indexName - The name of the index to read from.ElasticsearchResourceManagerException - if there is an error reading the data.public long count(java.lang.String indexName)
           throws ElasticsearchResourceManagerException
indexName - The name of the index to read from.ElasticsearchResourceManagerException - if there is an error reading the data.public void cleanupAll()
                throws ElasticsearchResourceManagerException
cleanupAll in interface org.apache.beam.it.common.ResourceManagercleanupAll in class TestContainerResourceManager<GenericContainer<?>>ElasticsearchResourceManagerException - if there is an error deleting the Elasticsearch
     resources.