Ground is built with SBT and uses the Play Framework.
Running the test suite
Before submitting a contribution, all existing test must pass and new test covering the added functionality should be added to the test suite.
The current integration test suite tests Ground against all supported backends. For the tests to work, it’s required to have a running instance of Apache Cassandra, PostgreSQL and Neo4J.
The test setup can be local to the development machine or use docker containers. The default configuration assumes that all servers are running in local mode (localhost).
Using a local installation
The db servers are installed directly on the development machine. See install.sh for an example on how to setup and configure the db servers.
Using Docker images
The backend dependencies can be run using standard docker images of the servers, available from Docker Hub.
Cassandra:
#get the latest version
docker pull cassandra:latest
#run a detached container
docker run -d cassandra:latest
PostgreSQL
#get the latest version
docker pull postgres:latest
#run a detached container
docker run -d postgres:latest
The postgres server requires setting up a test db and an user:
# We attach to the running container. The container id can be obtained using 'docker ps'
docker exec -i -t <postgres_container_id> /bin/bash
su - postgres
createdb test
createuser test -d -s
exit
exit
Neo4j
#get the lastest version
docker pull neo4j:latest
#run a detached container
docker run -d neo4j:latest
* Note that pulling the image is only needed the first time.