Protect your AWS credentials in unit tests
Project description
pytest_aws_config
Tiny Pytest plugin that mocks your AWS configuration in tests, making your tests independent of the configuration on the developer machine. In particular, it prevents your tests from accessing your AWS credentials.
Why is this useful?
Developers often use AWS configuration files to store (temporary) credentials to IAM users/roles. This is very useful to access the AWS account from the command line. But it also means that tests will run with these credentials.
> export AWS_PROFILE=production
> aws logs describe-log-groups # analyze some issue on production
> ... time passes ...
> ... write some code ...
> pytest tests # execute tests
Whoops! These tests just ran with access to your production account. Hopefully everything was correctly mocked or patched.
Installation
Just install this plugin with pip install pytest_aws_config
. No configuration necessary.
What about functional tests?
Of course, some of your tests may actually need AWS credentials. You have two options:
- Disable the plugin when running functional tests:
pytest -p no:pytest_aws_config
- Keep the plugin and use some other mechanism (e.g. a pytest fixture) to set the configuration in the test. Then your tests remain independent of the configuration on the developer machine.
Links
AWS documentation on configuration files and environment variables.
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
File details
Details for the file pytest_aws_config-0.1.0.tar.gz
.
File metadata
- Download URL: pytest_aws_config-0.1.0.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.3.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32bc2c943f664487a6a66781e8be557964013edce592e3ecffd9ba584a49dbc9 |
|
MD5 | 7b2af3686a682c1e34dbf8ae3bb61cea |
|
BLAKE2b-256 | 16e797a40ae7306ca9437a3ab599b647ad9d38ecf19640e9a8f49422987cd01e |
File details
Details for the file pytest_aws_config-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: pytest_aws_config-0.1.0-py3-none-any.whl
- Upload date:
- Size: 3.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.3.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3e868a5f135ccf78e083b94521953c7d8bd7951d7ebf1ed39edb81ffff4cc1b |
|
MD5 | 7fa74e19d2549351eb4bc5b506002098 |
|
BLAKE2b-256 | 8d73bbdb8bea8d22262cd6ff599db7b7a1c422be462801bb598e9bf15ec6d6f7 |