No project description provided
Project description
pytest db plugin
What
- uploading test stdout & stderr to a DB
Why
- keeping all stdout & stderr ready in a DB for easy debugging and comparison
How
Flow
- pytest test ends
- pytest test teardown starts
- plugin starts
- plugin connects to DB
- plugin collects all sources
- plugin uploads all sources
- plugin ends DB connection
- plugin ends
Installtion
- for default db client:
pip install pytest-db
- for es db client:
pip install pytest-db[es]
Hosting
- the package will be hosted on global pypi
Invocation
pytest ...
- as long as the plugin is installed, and the url is provided, the plugin will attempt to upload
- if the plugin is installed but a config file is not present / malformed / missing url, a warning will be displayed in the end of the test
Configuration
- minimal
- optional
- not having one will not break the test
- not having one will mean nothing is uploaded UNLESS the url param is
passed in the invocation command
- a default db client will be used in such cases and the data will be written into "/tmp"
- will be located in invocation directory
- name: ".config.toml"
- allows for additionalizing:
- DB url and authentication
- DB interaction failure should fail test [default: false]
- sources to upload [default: stdout, stderr]
- toml format
type = <type>
url = <url>
index = <index>
must-upload = false
- see supported dbs
Compitability
- python3.6+
- pytest
- enables adding additional data. see additional-data
Supported DB
- local file system (local)
- Elasticsearch (es)
Additional data
- each upload can include additional keys and values
- the key will be defined in the config file
- the value will be defined as a either
- const
- function that will be invoked in after collecting the doc
- supported function languages:
- bash
- python
- config file example:
...
[additional-data]
[additional-data.consts]
name = 'my-name'
[additional-data.bash]
os = 'lsb_release -sr'
[additional-data.python]
current directory = 'import os; print(os.getcwd())'
- python functions will be called using
exec
- bash functions will be called using
subprocess.check_output
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
Close
Hashes for pytest-db-plugin-0.0.0.0.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7021ba681ccc968919085fbd02b409d078fa5a4bc446bc707c1b388e9e669bbf |
|
MD5 | 3108634b0b88b0f4068fa1b52bf3d158 |
|
BLAKE2b-256 | bf60aae30805ba3cd6d7c4c7b655c8f53b43f2f8df2cc7bfbdeac9c1b4b395be |
Close
Hashes for pytest_db_plugin-0.0.0.0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eeb20b4d83ac2514f8c80bd840526f782443c2e080fd11b919d6e43d76832caf |
|
MD5 | 155ff6a2bf9a4aa8f871b5ca981040ed |
|
BLAKE2b-256 | 4276bc337547103392c26050735d2c9f3936e873e000210dafd3db16f4f86611 |