Use testcontainers for multi-broker integration tests and benchmarks#939
Merged
seglo merged 14 commits intoOct 23, 2019
Merged
Conversation
seglo
commented
Oct 17, 2019
8 tasks
Merged
seglo
force-pushed
the
seglo/integration-test-hardening-testcontainers
branch
from
October 18, 2019 19:53
f635b02 to
bf4a4fd
Compare
seglo
force-pushed
the
seglo/integration-test-hardening-testcontainers
branch
4 times, most recently
from
October 18, 2019 21:26
0e3294f to
a83bd42
Compare
seglo
force-pushed
the
seglo/integration-test-hardening-testcontainers
branch
7 times, most recently
from
October 19, 2019 14:28
a9a0348 to
2a42967
Compare
seglo
force-pushed
the
seglo/integration-test-hardening-testcontainers
branch
from
October 19, 2019 14:28
2a42967 to
dd8908a
Compare
seglo
force-pushed
the
seglo/integration-test-hardening-testcontainers
branch
2 times, most recently
from
October 20, 2019 01:12
046191b to
5548ab1
Compare
seglo
force-pushed
the
seglo/integration-test-hardening-testcontainers
branch
from
October 20, 2019 01:39
5548ab1 to
06f4c24
Compare
bsideup
reviewed
Oct 20, 2019
10 tasks
ennru
reviewed
Oct 22, 2019
ennru
left a comment
Contributor
There was a problem hiding this comment.
This looks really powerful and much more structured than the former solution with lots of moving parts.
With this competent Testcontainers support, we should create a separate documentation page for it with a proper separation of Scala and Java.
An overview table of the possible testing variants seems necessary now.
Co-Authored-By: Enno <458526+ennru@users.noreply.github.com>
…ainersSettings.scala Co-Authored-By: Enno <458526+ennru@users.noreply.github.com>
seglo
force-pushed
the
seglo/integration-test-hardening-testcontainers
branch
from
October 23, 2019 01:28
6de8f4b to
06be1b3
Compare
ennru
approved these changes
Oct 23, 2019
ennru
left a comment
Contributor
There was a problem hiding this comment.
Great work.
LGTM.
We can follow up with a PR to use Testcontainers for more of our tests so that they run on Scala 2.13 and move some long-running tests to the IntegrationTest scope.
seglo
force-pushed
the
seglo/integration-test-hardening-testcontainers
branch
from
October 23, 2019 14:34
f4db0e8 to
a2be53e
Compare
This was referenced Oct 24, 2019
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
The
sbt-docker-composeplugin is abandoned and difficult to manage. The only reason it was used was to support multi-broker Kafka clusters for integration testing. Now that we can setup equivalent clusters using testcontainers there's no need to include this plugin.References
Changes
takeWhileto signal consumer stream shutdowns.KafkaContainer. I created an upstream PR to add this support to testcontainer-java, but I've copied the implementations into our internal testkit DSL in the meantime.TestcontainersKafkaPerClassLiketo set testcontainer lifetime to test classsbt-docker-composeandsbt-build-infoSBT pluginsKafkaTestkitTestcontainersSettingsTODO
Enable logs from running containers?Compare benchmark test results before and after this change (after merge)No strange difference visible.