Contributing¶
Code formatting¶
In order to maintain code formatting consistency we use black to format the python files. A pre-commit hook that formats the code is provided but it needs to be installed on your local git repo, so…
In order to install the pre-commit framework run
pip install pre-commit
or if you prefer homebrew
brew install pre-commit
Once you have installed pre-commit just run pre-commit install
on
your repo folder
If you want to exclude some files from Black (e.g. automatically generated database migrations or test snapshots) please follow instructions for pyproject.toml
Testing¶
To run all tests:
docker run -p 8200:8200 -d --cap-add=IPC_LOCK -e 'VAULT_DEV_ROOT_TOKEN_ID=test_root_token' vault:0.9.6
tox -p all
Note that tox doesn’t know when you change the requirements.txt
and
won’t automatically install new dependencies for test runs. Run
pip install tox-battery
to install a plugin which fixes this
silliness.
It also possible to run tests via docker-compose that will start up all required environment:
$ make docker-test
or alternatively:
$ docker-compose -f docker-compose-tests.yml run konfetti