Getting Started

System requirements

  • JDK7

Running the tests

  • ./gradlew check: This will run both the test task, which runs Spock tests and it will also run the cucumber task, which runs Cucumber JVM scenarios.

Building the documentation

  • ./gradlew asciidoctor

Running the app

  • ./gradlew run will run the application locally, outside of a .jar file, with the deploydb.example.yml configuration.

Code Structure

The DeployDB source code can be found in a few different directories:

  • features/ - REST API documentation

  • src/ - source tree

    • /asciidoc - Asciidoctor-based documentation files

    • /cucumber - source code for executing the Cucumber scenarios (also referred to as "acceptance tests" for the REST APIs)

      • /groovy/step_definitions - implementation for the various step definitions

      • /groovy/deploydb - Cucumber helper code

    • /main - Primary directory for the DeployDB application

      • /resources/db/migration - Directory containing SQL files for creating the relational database schemas

      • /resources/views - Mustache-based views

      • /groovy/deploydb

        • /dao - Data access objects

        • /health - Dropwizard health checks for the app

        • /models - Plain-old-Java-Objects for Hibernate to use for mapping data into and out of the database

        • /resources - Dropwizard resources for performing the REST API actions

    • /test - Spock-based unit tests