Skip to main content

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

  1. Clone me (soon to be pip install me)
    git clone https://github.com/grandcentralstation/pytest-kafkavents.git

To install for dev

    pip install -e .
  1. Create a Kafka instance on Red Hat OpenShift Streams for Apache Kafka

  2. 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
  1. Copy and configure app-services.properties template to your local kafka client bin directory and fill-in info for your instance.

  2. Setup env variables

export KV_BOOTSTRAP_SERVER=my-kafka-example.rhcloud.com:443
  1. 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
  1. 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
  1. 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
  1. 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 
  1. 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

Metadata

Release files for pytest-kafkavents 0.2.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytest-kafkavents 0.2.2.1
File Size Uploaded Provenance
pytest-kafkavents-0.2.2.1.tar.gz 20.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pytest-kafkavents 0.2.2.1
File Interpreter ABI Platform
pytest_kafkavents-0.2.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 38.9 kB

Release files / pytest-kafkavents-0.2.2.1.tar.gz

Download URL pytest-kafkavents-0.2.2.1.tar.gz
Size 20.3 kB
Tags Source
SHA-256 checksum
How to use checksums
087103a49fc3a971d37782154be6b34857d8387fc8aea33e7763db0801120870
BLAKE2b-256 checksum
How to use checksums
942ac11de6c568d1313f3b5b2dc34f44954ccda17122ac8d96d3f03bae445830
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / pytest_kafkavents-0.2.2.1-py3-none-any.whl

Download URL pytest_kafkavents-0.2.2.1-py3-none-any.whl
Size 18.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
16010b20e30271a6995519fadeb7488f5687a27ac1e2c0977e7e1e87c1cf3219
BLAKE2b-256 checksum
How to use checksums
448b43586faecc0bf71dc8592d7b466e4b55f6530ad195a440370e9bfc4550a1
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for pytest-kafkavents 0.2.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.2.2.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page