Coyote, is an open-source tool https://github.com/Landoop/coyote
we built using Go at Landoop for
. Define sequence of commands to be
executed inside a YAML file and then the expected output in REST requests or log files or by executing
commands to target systems.
Coyote has a very broad scope, but we use it mostly for testing Big Data and Fast Data systems.
While testing our Cloudera integration with the Landoop stack, we need to validate multiple possible
security configurations and perform a wide range of testing ranging from PLAIN_TEXT configurations,
enabled clusters, SASL and TLS. See the security/#authentication-support-matrix
At the end of each integration tests we also produce a set of reports, that can visualise how long, each
test took, and if any failures occured, and evidence to allow debugging.
Certifying Kafka Connect
We do a lot of work with connectors
, and use coyote
quality assurance. A collection of some of our tests is available at https://github.com/Landoop/kafka-connectors-tests
We use our
docker to bring up
a kafka platform as a service, and compose that docker with other target dockers. One test composing
up Cassandra and our stack, and while generating Kafka messages test that connectors perform nicely
exchanging data betweeen Kafka an Cassandra at a particular version.
We maintain hooks to github projects and building against multiple connectors and for every commit
to provide feedback in the development teams.
On our Jenkins server, we integrate with coyote
to capture i) the exit code and ii) mark the build as failed - with
additional errors added to the job name, to grant us quick visibility of the current status. We also keep a history
of test reports.