Last updated:
0 purchases
pytestkafkavents 0.2.2.1
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
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.