Rene Cordier created JAMES-2717: ----------------------------------- Summary: [ES] Replace EmbeddedElasticSearch by Docker ES Key: JAMES-2717 URL: https://issues.apache.org/jira/browse/JAMES-2717 Project: James Server Issue Type: New Feature Components: elasticsearch Reporter: Rene Cordier Fix For: 3.4.0
EmbeddedElasticSearch is used for creating ES 'org.elasticsearch.client.Client' from embedded ES node. The job is done in 'TestingClientProvider'. It can be replaced by 'ClientProviderImpl' connects to a docker ES. There are places where EmbeddedElasticSearch is used: * server/protocols/webadmin-integration-test UnauthorizedEndpointsTest * server/protocols/jmap-integration-testing: CassandraStepdefs, RabbitMQStepdefs * mpt/impl/imap-mailbox/elasticsearch ElasticSearchUidSearchOnIndexTest * backends-common/elasticsearch ElasticSearchIndexerTest * mailbox/elasticsearch ElasticSearchIntegrationTest * mailbox/plugin/quota-search-elasticsearch ElasticSearchQuotaMailboxListenerTest * server/container/guice/cassandra-guice many places _Steps_: * Extract a DockerElasticSearch based a DockerGenericContainer instance (& associated singleton) + wait strategy * Provide junit 4 rules & junit 5 extension - allowing test to retrieve clients * Expose a method for awaiting an ES docker is up + await indexation is done (akka flush) * Define a test isolation strategy. Proposal: random index & aliases names, no data removal. Alternative: list then delete index & aliases. _Note_: * Need to optimize ES docker life cycle management (e.g: using Singleton instance like DockerCassandraSingleton) -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org