[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to handle tests that need docker?


If you are writing JUnit tests, you could use testcontainers [1] to start
PubSub container. Then you could introduce a build profile [2] that enables
certain JUnit tests by using Categories [3] or the maven-failsafe-plugin


[1] https://www.testcontainers.org/usage/generic_containers.html#benefits
[3] https://github.com/junit-team/junit4/wiki/categories

On Thu, Aug 16, 2018 at 2:05 PM, Niels Basjes <Niels@xxxxxxxxx> wrote:

> Hi,
> I'm working together with Richard Deurwaarder on the PubSub Source and Sink
> https://issues.apache.org/jira/browse/FLINK-9311
> We currently have most of the code done and we also have several tests that
> verify the behavior by actually reading and writing messages to and from
> PubSub.
> These tests use a docker image provided by Google that includes the pubsub
> emulator.
> Starting and stopping this thing is really fast.
> Starting up, creating topic, running a few tests and cleaning up takes
> about 5 seconds.
> Although the complete set of tests run on my machine in about 20-25 seconds
> it does mean that anyone doing that MUST have docker installed locally.
> So my question to the committers: Do we simply leave these tests "always
> on" or do you want them to be "off by default" or something else.
> I case you do not want the "always on" then please indicate how we should
> implement the "on"/"off" switch for these tests.
> Thanks.
> --
> Best regards / Met vriendelijke groeten,
> Niels Basjes