A plugin to send pytest events to Kafka
Project description
pytest-kafkavents
PyTest Kafkavents is a plugin for real time streaming of test result events to a Kafka instance. Events can also be logged for batch replay of events via another utility (in the works).
Steps to use pytest-kafkavents
- Clone me (soon to be pip install me)
git clone https://github.com/grandcentralstation/pytest-kafkavents.git
To install for dev
pip install -e .
-
Create a Kafka instance on Red Hat OpenShift Streams for Apache Kafka
-
Download and install the client from the Apache Kafka client website.
SIDENOTE: Pytest-Kafkavent uses the Confluent Python Kafka library
On Fedora...
dnf info python3-confluent-kafka
pip show confluent-kafka
-
Copy and configure app-services.properties template to your local kafka client bin directory and fill-in info for your instance.
-
Setup env variables
export KV_BOOTSTRAP_SERVER=my-kafka-example.rhcloud.com:443
- Create topics (with the client command)
./kafka-topics.sh --create --topic kafkavent --bootstrap-server my-kafka-n--u-bvmxxe-dvgycp-axfjmaftyk.bf2.kafka.rhcloud.com:443 --command-config ../config/app-services.properties
./kafka-topics.sh --create --topic kafkavent-failed --bootstrap-server my-kafka-n--u-bvmxxe-dvgycp-axfjmaftyk.bf2.kafka.rhcloud.com:443 --command-config ../config/app-services.properties
./kafka-topics.sh --create --topic kafkavent-infra --bootstrap-server my-kafka-n--u-bvmxxe-dvgycp-axfjmaftyk.bf2.kafka.rhcloud.com:443 --command-config ../config/app-services.properties
- Start one consumer in one window to see pytest-kafkavent messages for all tests
./kafka-console-consumer.sh --bootstrap-server $KV_BOOTSTRAP_SERVER \
--consumer.config ../config/app-services.properties --from-beginning --topic kafkavents
- Start another consumer in another window to see pytest-kafkavent messages for failed tests only
./kafka-console-consumer.sh --bootstrap-server $KV_BOOTSTRAP_SERVER \
--consumer.config ../config/app-services.properties --from-beginning --topic kafkavents-failed
- Run the example pytest test scripts
pytest example_tests/ --junitxml=/tmp/kafkavent.xml --kv-topics my-other-topic
pytest example_tests/ -q --kv-conf examples/kafka_conf.json \
--kv-topics kafkavent --kv-topics-failed kafkavent-failed
- Or just pull the container from Quay.io :-)
TODO: create a container with all of this goodness in it, upload to Quay.io, and link here
Use the test generator...
pytest example_tests/ --kv-conf examples/kafka_conf.json \
--kv-topics kafkavent --kv-topics-failed kafkavent-failed \
--kv-eventlog=/tmp/kafkavent.log -k test_kafkavents --kv-test 4,1,1,1
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 pytest-kafkavents-0.2.2.1.tar.gz
.
File metadata
- Download URL: pytest-kafkavents-0.2.2.1.tar.gz
- Upload date:
- Size: 20.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 087103a49fc3a971d37782154be6b34857d8387fc8aea33e7763db0801120870 |
|
MD5 | 1b9f6d550ef2723ef5ec1acda18421ac |
|
BLAKE2b-256 | 942ac11de6c568d1313f3b5b2dc34f44954ccda17122ac8d96d3f03bae445830 |
File details
Details for the file pytest_kafkavents-0.2.2.1-py3-none-any.whl
.
File metadata
- Download URL: pytest_kafkavents-0.2.2.1-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16010b20e30271a6995519fadeb7488f5687a27ac1e2c0977e7e1e87c1cf3219 |
|
MD5 | 6e24199817df7494ff3c5b13d621c8e3 |
|
BLAKE2b-256 | 448b43586faecc0bf71dc8592d7b466e4b55f6530ad195a440370e9bfc4550a1 |