Testing
Unit Tests
Unit tests can be run using make check (via cargo test).
External Kola Tests
External Kola tests can be found in the tests/kola/ directory.
server Tests
The tests/kola/server/ test directory contains tests that require access to a mock Cincinnati server. This test directory contains a Fedora CoreOS config that does the following:
- creates a
/var/www/directory - sets up an HTTP server at
localhostlistening on port80serving files from the/var/www/directory - configures Zincati to use
localhostas its Cincinnati base URL - adds a systemd dropin to set Zincati’s journal log verbosity to max (
-vvvv)
Tests place mock release graphs in /var/www/ for Zincati to fetch.
Running the Tests
A built Fedora CoreOS image is required; it is recommended to use the CoreOS Assembler’s build-fast command for faster iteration.
To run the tests, specify the path to your Zincati project directory and which tests to run using kola run’s -E option.
Example (run all tests):
kola run --qemu-image fastbuild-fedora-coreos-zincati-qemu.qcow2 -E /path/to/zincati/ 'ext.zincati.*'
Example (run only the server tests):
kola run --qemu-image fastbuild-fedora-coreos-zincati-qemu.qcow2 -E /path/to/zincati/ 'ext.zincati.server.*'
Adding Tests
Refer to kola external tests’ README for instructions on adding additional tests