commit | 05c0bbe29f75d678596af09abb0c68d15e93f7ba | [log] [tgz] |
---|---|---|
author | Francisco Guerrero <francisco.guerrero@apple.com> | Fri Oct 14 11:48:23 2022 -0700 |
committer | Yifan Cai <yifan_cai@apple.com> | Mon Oct 17 14:23:46 2022 -0700 |
tree | 6ee9ce7bd9604bb576ee30dc9b182ff88ffff602 | |
parent | c5669b5e84e33109c407944563e8c466b5a14717 [diff] |
CASSANDRASC-46: Migrate minikube to testcontainers for integration tests The existing Cassandra Sidecar integration testing suite uses Minikube to provision a Cassandra service and it performs tests against the running database. This database runs on Minikube. A new alternative is to use [testcontainers](https://www.testcontainers.org), which requires Docker to run tests. The concept is similar, but the benefit is that *testcontainers* is well integrated into the java ecosystem and it works well with junit5. By replacing Minikube with `testcontainers` we can simplify the setup process and reduce the complexity for running integration tests. Additionally, `testcontainers` is supported as part of the testing infrastructure inside [CircleCI](https://www.testcontainers.org/supported_docker_environment/continuous_integration/circle_ci/). Currently, our Minikube tests are broken both locally and in CircleCI. Moving to `testcontainers` would also unblock us for further development. Minor fix when running testcontainers patch by Francisco Guerrero; reviewed by Yifan Cai, Dinesh Joshi for CASSANDRASC-46
This is a Sidecar for the highly scalable Apache Cassandra database. For more information, see the Apache Cassandra web site and CIP-1.
This is project is still WIP.
After you clone the git repo, you can use the gradle wrapper to build and run the project. Make sure you have Apache Cassandra running on the host & port specified in conf/sidecar.yaml
.
$ ./gradlew run
While setting up cassandra instance, make sure the data directories of cassandra are in the path stored in sidecar.yaml file, else modify data directories path to point to the correct directories for stream APIs to work.
We rely on docker containers for integration tests.
The only requirement is to install and run Docker on your test machine.
You will need to use the “Add Projects” function of CircleCI to set up CircleCI on your fork. When promoted to create a branch, do not replace the CircleCI config, choose the option to do it manually. CircleCI will pick up the in project configuration.
We warmly welcome and appreciate contributions from the community. Please see CONTRIBUTING.md if you wish to submit pull requests.