Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytest_aws_config-0.1.0.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

pytest_aws_config-0.1.0-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

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

Hashes for pytest_aws_config-0.1.0.tar.gz
Algorithm Hash digest
SHA256 32bc2c943f664487a6a66781e8be557964013edce592e3ecffd9ba584a49dbc9
MD5 7b2af3686a682c1e34dbf8ae3bb61cea
BLAKE2b-256 16e797a40ae7306ca9437a3ab599b647ad9d38ecf19640e9a8f49422987cd01e

See more details on using hashes here.

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

Hashes for pytest_aws_config-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a3e868a5f135ccf78e083b94521953c7d8bd7951d7ebf1ed39edb81ffff4cc1b
MD5 7fa74e19d2549351eb4bc5b506002098
BLAKE2b-256 8d73bbdb8bea8d22262cd6ff599db7b7a1c422be462801bb598e9bf15ec6d6f7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page