Commandline Utilities for the Legion Alerting and Monitoring System
Project description
Legion CLI
Commandline Utilities for the Legion Alerting and Monitoring System
Setup & Usage
Installation
pip install -U legion-cli --user
Configuration
TODO
Usage
The key reference for using legion-cli
is:
legion-cli --help
Development
Standards
- Be excellent to each other
- Code coverage must be at 100% for all new code, or a good reason must be provided for why a given bit of code is not covered.
- Example of an acceptable reason: "There is a bug in the code coverage tool and it says its missing this, but its not".
- Example of unacceptable reason: "This is just exception handling, its too annoying to cover it".
- The code must pass the following analytics tools. Similar exceptions are allowable as in rule 2.
pylint --disable=C0111,W1203,R0903 --max-line-length=100 ...
flake8 --max-line-length=100 ...
mypy --ignore-missing-imports --follow-imports=skip --strict-optional ...
- All incoming information from users, clients, and configurations should be validated.
- All internal arguments passing should be typechecked whenever possible with
typeguard.typechecked
Development Setup
Using poetry install from inside the repo directory:
pdm install
IDE Setup
Sublime Text 3
curl -sSL https://gitlab.com/-/snippets/2385805/raw/main/pdm.sublime-project.py | pdm run python > legion-cli.sublime-project
Testing
All testing should be done with pytest
which is installed with the dev
requirements.
To run all the unit tests, execute the following from the repo directory:
pdm run pytest
This should produce a coverage report in /path/to/legion-cli/htmlcov/
While developing, you can use watchexec
to monitor the file system for changes and re-run the tests:
watchexec -r -e py,yaml pdm run pytest
To run a specific test file:
pdm run pytest tests/unit/test_config.py
To run a specific test:
pdm run pytest tests/unit/test_config.py::test_config_loading
For more information on testing, see the pytest.ini
file as well as the documentation.
Integration Testing
For integration testing, this code uses testcontainers-rabbitmq. In order to enable this, you will need to install docker, and ensure that your user has the ability to interact with the docker service:
sudo apt install docker
sudo groupadd docker # may fail if the docker group already exists
sudo usermod -aG docker $USER
newgrp docker
docker run hello-world # verify that everything is working well
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for legion_cli-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db4e012d30faa43b5ff9b1970589a124a59f94fda984b8ad025604edb041d2ed |
|
MD5 | a4894b52c35190c777017ca3a8d45788 |
|
BLAKE2b-256 | 0bd2ce8b192fd5c725fa95b42995a266a30d6b5cf57f22d0af911b165b72ae5e |