Hi Otavio, as you know, big +1 on that idea.
As a strategy I'm thinking about: 1. try to contribute to TestContainers to make it easy to configure some common tasks the implementations they ship and eventually provide some new ones. 2. create some new modules, don't ask me for a name, with the core infrastructure code and some specific impl. 3. see if we can easily hook such service in the camel-test* and eventually deprecate camel-testcontainers* --- Luca Burgazzoli On Fri, Sep 11, 2020 at 3:49 PM Otavio Rodolfo Piske <angusyo...@gmail.com> wrote: > Hello everyone! > > Luca B, Andrea T. and I had a brief discussion / brainstorm today about > adjusting part of our testing infrastructure code so that it is easier for > all the projects to levage testing bits used throughout the project. The > issue that led to this idea can be found here [1]. > > As it is common these days, a lot of projects use TestContainers [2] to set > up the test infrastructure required for the tests to run. This is how the > integration tests for the Camel Kafka Connector work [3]. > > In the Camel Kafka Connector, the test infrastructure contains > "AbstractServices". They can be resolved either to containers managed by > TestContainers or remote instances of the services. These services are > injected into the test code using JUnit 5 extensions. It uses a generic > approach and it is not tightly coupled to Kafka Connect or the Camel Kafka > Connector project. > > In more concrete terms, the idea is to make this test infrastructure more > easily accessible for other projects. This would involve moving this code > to another project (Camel? Where?), adjusting the few parts that may be > coupled (if any at all) and moving the part of the testing documentation > [4] (check the "Simulating the Test Infrastructure" part). > > A few potential benefits of this idea are reducing our effort in handling > the test infrastructure throughout the code base and simplifying how we > assert the behavior of each project for each infrastructure (ie.: we may > want to make sure that components behave the same way across all projects). > > What do you think? > > 1. https://github.com/apache/camel-quarkus/issues/1783 > 2. https://www.testcontainers.org/ > 3. https://github.com/apache/camel-kafka-connector/tree/master/tests > 4. https://camel.apache.org/camel-kafka-connector/latest/testing.html > > Kind regards > -- > Otavio R. Piske > http://orpiske.net >