No project description provided
Project description
Plastic Yellow Bird (aka "PyB"): a Test and Observability Driven Development Framework for AWS CDK
plastic-yellow-bird
is a test framework that introduces a whole new approach to monitoring, observability, and infrastructure development. It lets you to accomplish one thing as simply as possible: use the same code you write to verify your infrastructure as your monitoring and
alerting stack in production.
By using plastic-yellow-bird
, your team can:
- write end-to-end functional and infrastructure tests as easily as you write unit or integration tests
- create AWS Synthetics Canaries with as little boilerplate as possible
- develop a planned production monitoring scheme from the project's outset
- harvest the effort spent writing automated functional tests as zero-cost, thoughtful baseline production monitoring
import plastic_yellow_bird as pyb
import requests
@pyb.canary
def test_api_endpoint_returns_200_with_get(cdk_app):
response = requests.get(cdk_app.api_stack.api.url)
assert response.status_code == 200
Imagine you create the above test file in a CDK project directory that
contains an Amazon API Gateway CDK app. By using plastic-yellow-bird
, which
is based on pytest
, simply running pytest
, plastic-yellow-bird
would
deploy your CDK app and launch the test_api_endpoint_returns_200_with_get
code
as an AWS Synthetics Canary in the same account, then wait for the Canary to
run and report a status. plastic-yellow-bird
would then report this test's Pass
or Fail
state just like any other pytest
test result, based on the status of
the Canary. In other words, if the Canary launched by plastic-yellow-bird
succeeded, your test would be reported as passing, and if the Canary failed, the
test would be reported as failing.
Design Principles
- Most use cases should require nothing more than test code and a decorator to indicate a PyB test
- "Make simple things simple, and complex things possible" - Alan Kay
- Code should be beautiful
- Developers are smart and capable of doing incredibly difficult things, but using this tool shouldn't be one of those incredibly difficult things
- If no one uses this in real projects, we've failed
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 plastic-yellow-bird-0.2.dev0.tar.gz
.
File metadata
- Download URL: plastic-yellow-bird-0.2.dev0.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25a030a49a1f329e6e04c5e23876376288541699ba4e2b0751b64f14e99db471 |
|
MD5 | ea72a7a822768cb83789da3ad5d245b9 |
|
BLAKE2b-256 | 39578928125094e12ebfc0f62ff57968503ab848b32e2f5d9c47fad32dc0fb85 |
File details
Details for the file plastic_yellow_bird-0.2.dev0-py3-none-any.whl
.
File metadata
- Download URL: plastic_yellow_bird-0.2.dev0-py3-none-any.whl
- Upload date:
- Size: 3.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4f2fe02fed7507183fe0071c6447ba3abc4ada7989afb9e98f0a3c322a8d9ab |
|
MD5 | dd94fc51e0e9c01c53cccd2223e764ad |
|
BLAKE2b-256 | 43a7742fe664a69293d4083a75e6605dadfd554528db7cad8a33dd841d7be81e |