No project description provided
Project description
Vedro
(!) Work in progress, breaking changes are possible until v2.0 is released
Installation
$ pip3 install vedro
Usage
# ./scenarios/decode_base64_encoded_string.py
from aiohttp import ClientSession
import vedro
class Scenario(vedro.Scenario):
subject = "decode base64 encoded string"
def given(self):
self.encoded = "YmFuYW5h"
async def when(self):
async with ClientSession() as session:
self.response = await session.get(f"https://httpbin.org/base64/{self.encoded}")
async def then(self):
assert (await self.response.text()) == "banana"
$ python3 -m vedro .
Documentation
Selecting Scenarios
Select File or Directory
$ python3 -m vedro <file_or_dir>
Skip File or Directory
$ python3 -m vedro -i (--ignore) <file_or_dir>
Select Specific Scenario
import vedro
@vedro.only
class Scenario(vedro.Scenario):
subject = "register user"
Skip Specific Scenario
import vedro
@vedro.skip
class Scenario(vedro.Scenario):
subject = "register user"
Reporters
Rich Reporter (default)
$ python3 -m vedro -r rich -vvv
Verbose Levels
| Verbose | Show Scenario | Show Steps | Show Exception | Show Scope |
|---|---|---|---|---|
| ✅ | ||||
-v |
✅ | ✅ | ||
-vv |
✅ | ✅ | ✅ | |
-vvv |
✅ | ✅ | ✅ | ✅ |
Silent Reporter
$ python3 -m vedro -r silent
Plugins
Register Plugin
# ./bootstrap.py
import vedro
from vedro import Dispatcher
from vedro.plugins import Plugin
class DoNothing(Plugin):
def subscribe(self, dispatcher: Dispatcher) -> None:
pass
vedro.run(plugins=[DoNothing()])
$ python3 bootstrap.py
Parametrized Scenario
from aiohttp import ClientSession
import vedro
from vedro import params
class Scenario(vedro.Scenario):
subject = "get status ({status})"
@params(200)
@params(404)
def __init__(self, status: int):
self.status = status
def given(self):
self.url = f"https://httpbin.org/status/{self.status}"
async def when(self):
async with ClientSession() as session:
self.response = await session.get(self.url)
async def then(self):
assert self.response.status == self.status
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
vedro-1.2.1.tar.gz
(32.2 kB
view details)
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
vedro-1.2.1-py3-none-any.whl
(54.0 kB
view details)
File details
Details for the file vedro-1.2.1.tar.gz.
File metadata
- Download URL: vedro-1.2.1.tar.gz
- Upload date:
- Size: 32.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8747daa173d399ca3229e298ac670300a457fba00c2bfbc8ae3392617f87072
|
|
| MD5 |
a4ccef752e2b91d324c234d49352298e
|
|
| BLAKE2b-256 |
1eeee64058f174314798bbba95d5ca8ea8f7a7a26a2c7c8eb6bd5dbc2fd2e885
|
File details
Details for the file vedro-1.2.1-py3-none-any.whl.
File metadata
- Download URL: vedro-1.2.1-py3-none-any.whl
- Upload date:
- Size: 54.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c5d1a9b0feb5060a4c7e67a3e46fa0201bc0519eee91cbae8311f4a940148fa
|
|
| MD5 |
9c688352419f50fa036cf6ce8b2487c4
|
|
| BLAKE2b-256 |
ce265637bc72abd895835694d154c20fc3310a52ef3fc02af58850c26a0a4dbc
|