Testing

Before proceeding ensure the tests were built using the build procedures.

Both unit and integration tests use Boost.Test.

Integration tests rely on Cassandra Cluster Manager (CCM) to be installed and a configuration file in the working directory where tests are executed.

Details for running unit and integration tests can be found here.

Each test performs a setup, execute, and teardown. This ensures that each test has a clean and consistent run against the Apache Cassandra instance during the execution phase. Cluster instances are maintained for the entire duration of the test unless the test is chaotic at which point the cluster will be destroyed at the end.

Most of the tests performed will utilize a single node cluster; however a cluster may be as large as nine nodes depending on the test being performed.

Execution Sequences

Setup Cassandra

Text Diagram

Execute Test

Text Diagram

Teardown Cassandra

Text Diagram

TODO

Here are some of the items being scheduled for future enhancements.

  • Incorporate integration tests into Jenkins environment
  • Remove Boost Test Framework in Favor of Google Test Framework
  • Updates to CCM Bridge
    • Allow files to be copied over SSH established connection