- The source for the cyberdojo/saver Docker image.
- A docker-containerized micro-service for cyber-dojo.
- An HTTP Ruby Sinatra web service, offering a Group/Kata model+persistence API.
To build the images, bring up the containers, and wait till they are alive and healthy:
$ ./build.sh && ./up.sh && ./wait.sh
To run the tests:
$ ./test.sh --help
Use: ./test.sh [server|client] [ID...]
No options runs all server tests, then all client tests
Options:
server run from inside the server container (unit tests)
client run from inside the client container (integration tests)
ID... run only the tests matching the given IDs
-h|--help show this help
- The build.sh script (re)creates docker-compose.yml
- In docker-compose.yml, the source and test dirs are volume-mounted over their image counterparts.
- These overlays keeps the dev-cycle fast by reducing the need to build/up/wait.
- You need to build/up/wait when:
- You change a Dockerfile
- You change a web server's config (there is no auto-reloading)
- POST group_create(ltf_name,exercise_name)
- POST group_create_custom(display_name)
- GET group_exists?(id)
- POST group_join(id,indexes)
- GET group_joined(id)
- GET group_manifest(id)
- POST group_fork(id,index)
- POST kata_create(ltf_name,exercise_name)
- POST kata_create_custom(display_name)
- GET kata_exists?(id)
- GET kata_events(id)
- GET kata_event(id,index)
- GET katas_events(ids,indexes)
- GET kata_manifest(id)
- POST kata_ran_tests(id,index,files,stdout,stderr,status,summary)
- POST kata_predicted_right(id,index,files,stdout,stderr,status,summary)
- POST kata_predicted_wrong(id,index,files,stdout,stderr,status,summary)
- POST kata_reverted(id,index,files,stdout,stderr,status,summary)
- POST kata_checked_out(id,index,files,stdout,stderr,status,summary)
- GET kata_option_get(id,name)
- POST kata_option_set(id,name,value)
- POST kata_fork(id,index)