Add your description here
Project description
pytest-jubilant-bdd
A pytest plugin providing reusable Gherkin step handlers for behavior-driven testing of Juju charmed operators.
pytest-jubilant-bdd is a collection of various utilities that make it easier
for you and your friends to write behavior-driven tests for Juju charmed
operators. The plugin provides a curated set of reusable Gherkin step handlers
built on top of jubilant and
pytest-bdd, so you can focus on the
behavior of your charms instead of the boilerplate of driving the Juju
lifecycle from your tests. Current reusable steps shipped in the
pytest-jubilant-bdd package include:
add_model: Agivenstep handler for adding a new Juju model to the testing context.add_unit: Agivenstep handler for adding units to a deployed application.deploy: Agivenstep handler for deploying a charm from Charmhub.deploy_local: Agivenstep handler for deploying a local.charmfile onto a Juju model.integrate: Agivenstep handler for integrating two Juju applications.model_exists: Agivenstep handler for asserting that a Juju model currently exists.is_integrated: Agivenstep handler for asserting that two applications are currently integrated.is_deployed: Agivenstep handler for asserting that an application is currently deployed on a Juju model.run_action: Awhenstep handler for running a Juju action on one or more units.run_exec: Awhenstep handler for executing a command on one or more machines or units.assert_all_agent_status: Athenstep handler for asserting the status of all agents in one or more models.assert_workload_status: Athenstep handler for asserting the workload status of a deployed application.assert_workload_status_message: Athenstep handler for asserting the message attached to a workload status.
For more information on how to use or contribute to pytest-jubilant-bdd, check out the Development section below 👇
🤔 What's next?
If you want to learn more about all the things you can do with pytest-jubilant-bdd, here are some further resources for you to explore:
🛠️ Development
The project uses just and uv for development, which provides some useful commands that will help you while hacking on pytest-jubilant-bdd:
just fmt # Apply formatting standards to code
just lint # Check code against coding style standards
just typecheck # Run static type checks
just unit # Run unit tests
If you're interested in contributing your work to pytest-jubilant-bdd, take a look at our contributing guidelines for further details.
🤝 Project and community
pytest-jubilant-bdd is a project of the Ubuntu High-Performance Computing community. Interested in contributing bug fixes, new step handlers, documentation, or feedback? Want to join the Ubuntu HPC community? You’ve come to the right place 🤩
Here’s some links to help you get started with joining the community:
📋 License
pytest-jubilant-bdd is free software, distributed under the Apache License, v2.0. See the LICENSE file for further details.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pytest_jubilant_bdd-0.1.0.tar.gz.
File metadata
- Download URL: pytest_jubilant_bdd-0.1.0.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c99a4d5a7219c091a87e12bd46911a181e1989525acf0a9486e493e993e40f8
|
|
| MD5 |
2d059e89c2e186e78747cd3d7e657155
|
|
| BLAKE2b-256 |
699fc7463f88401dbf1c761ec185c4c14cc45b71f7516683f6d8dfd65441089e
|
File details
Details for the file pytest_jubilant_bdd-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pytest_jubilant_bdd-0.1.0-py3-none-any.whl
- Upload date:
- Size: 22.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d926ea278f9e5b5f6f537b563465e21fdc7186e9709d40d4538ab684936e738b
|
|
| MD5 |
36a786afa1c1fad107ee47754aafd902
|
|
| BLAKE2b-256 |
b5a37dac83bdc976e8c9fb589a95419be916be4189d3587da4f8cb799be08af3
|