Container_Tests#
Testing Overview#
OPE testing is separated into two parts: (1) container testing and (2) environment testing. A GitHub actions workflow builds the container based on the metadata provided in base/config.yml
, which includes packages, base image configuration, and image registry information (i.e. where the final container will be published). After building the container image, the workflow runs a series of tests in parallel using github runners. If the image pass all of these tests, then a runner publishes it to the image registry (e.g. quay.io). See the architecture diagram below for a visual run-through of the steps listed above.
Testing Architecture Diagram#
Example Run of Actions#
You can see that this workflow was triggered by a push, and that all of the tests passed. For more information on GitHub actions documentation see the official actions documentation.
Checking the corresponding quay.io repo we can see that the image was successfully pushed to the registry. Red Hat Quay is like GitHub but for storing container images instead of code, and it has the added benefit of providing vulnerability analysis on the images.
The following sections of this chapter go into further detail for each test documenting why we have the test and how the test works. There is also a final section in the chapter for how to write your own tests if you want to contribute to the OPE project testing infrastructure!