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
Hashes for pytest-kafkavents-0.2.2.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 087103a49fc3a971d37782154be6b34857d8387fc8aea33e7763db0801120870 |
|
MD5 | 1b9f6d550ef2723ef5ec1acda18421ac |
|
BLAKE2b-256 | 942ac11de6c568d1313f3b5b2dc34f44954ccda17122ac8d96d3f03bae445830 |
Hashes for pytest_kafkavents-0.2.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16010b20e30271a6995519fadeb7488f5687a27ac1e2c0977e7e1e87c1cf3219 |
|
MD5 | 6e24199817df7494ff3c5b13d621c8e3 |
|
BLAKE2b-256 | 448b43586faecc0bf71dc8592d7b466e4b55f6530ad195a440370e9bfc4550a1 |