Testing
Elassandra uses the in-tree OpenSearch test framework together with Cassandra-aware test setup so that storage and search behavior can be validated together.
Testing environment
The single-node test harness serializes tests because Cassandra relies on static
process-wide state. Test configuration lives under server/src/test/resources/conf
and generated data and logs are written under server/build.
Between tests, indices and their backing keyspaces or tables are cleaned up so that test runs remain repeatable.
Elassandra build tests
The repository contains both unit and integration-style tests that exercise:
Cassandra schema creation and writes
OpenSearch indexing and search
Elassandra-specific mapping and routing behavior
CQL search via
org.elassandra.index.ElasticQueryHandler
Run the full server test suite with:
./gradlew :server:test
Run a focused class with the standard test filters:
./gradlew :server:test -Dtests.class=<fully.qualified.TestClass>
For current build requirements, use Java 11 and ensure JAVA11_HOME is set when
the Gradle build expects it.
Application testing
For application-level testing, the most reliable options for the current line are:
spin up the repository Docker image or
ci/docker-compose.ymllocallydeploy the maintained Helm chart into a temporary Kubernetes environment
point OpenSearch-compatible REST clients and Cassandra drivers at that test cluster
This matches the way the current repository is packaged and avoids relying on older test harnesses that were built for pre-OpenSearch lines.