Aerie-CLI integration tests exercise commands against an actual instance of Aerie.
These tests will delete and modify data permanently. Expect the localhost instance of Aerie to be modified heavily. These test will delete all models.
To set up a local test environment, use the test environment and docker-compose files in the root of the repo:
docker compose -f docker-compose-test.yml up
Invoke the tests using pytest
from the tests/integration_tests
directory:
python3 -m pytest .
Integration tests are automatically run by CI against all supported Aerie versions. Update as follows with the supported set of Aerie versions:
- Integration tests require a JAR for the Banananation model for each tested Aerie version. Download official artifacts from Github and add to
tests/integration_tests/files/models
, named asbanananation-X.X.X.jar
(substituting the correct version number). Remove outdated JAR files. - Update the
COMPATIBLE_AERIE_VERSIONS
array inaerie_host.py
. - Update the
.env
fileDOCKER_TAG
value to the latest compatible version. This sets the default value for a local Aerie deployment. - Update
docker-compose-test.yml
as necessary to match the supported Aerie versions. The aerie-ui compose file can be a helpful reference to identify changes. - Update the
aerie-version
list in the CI configuration to include the new version.
To verify changes:
- Manually run the integration tests and update the code and tests as necessary for any Aerie changes.
- If breaking changes are necessary to support the new Aerie version, remove any Aerie versions which will no longer be supported as described above.
- Open a PR and verify all CI tests pass.
- Configuration initialization is in conftest.py to ensure all tests use localhost
- These tests will end with the localhost configuration active
- Test all
configurations
commands
- Test all
models
commands
- Test all
plans
commands - Tests simulations and
plans download...
commands as well
- Test all
scheduling
commands
- Test all
expansion
commands
- Test all
metadata
commands
- Test all
constraints
commands