Determine requirements for unit and functional testing for Sonador
Sonador is a complex environment that requires coordination amongst five different systems:
- MinIO (object storage): used by both Sonador and Orthanc to manage binary artifacts
- PostgreSQL (database): used by both Orthanc and Sonador to store image metadata and runtime configuration
- Orthanc (web application): PACS microservice
- NGINX (load balancer): used to provide load balancing for Orthanc
Unit testing and functional testing are usually two different steps in the CI process, and the desired strategy for splitting testing is not completely clear. This issue exists to clarify requirements and serve as a tracking issue for the resulting subtasks.
Requirements for functional test suite:
-
Create Sonador client which is able to upload, download, and query Orthanc resources -
Create Python package scripts for Sonador client so that it can be attached to the functional test runner -
Create management command to allow a superuser to be generated from environment variables with a known API token (sonador#16 (closed)) -
Create management command to register Orthanc instance with known ID (sonador#17 (closed)) -
Create functional test runner which can be used to exercise the environment and run through use-cases #21 (closed)