Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

robooo/robotframework-ConfluentKafkaLibrary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robot Framework - ConfluentKafkaLibrary

ConfluentKafkaLibrary library is a wrapper for the confluent-kafka-python.

ConfluentKafkaLibrary is compatible with the latest version of confluent-kafka-python, where the library versions have a 1:1 correspondence (e.g., ConfluentKafkaLibrary 1.3.0 corresponds to confluent-kafka-python 1.3.0). Bug fixes and updates are denoted by a trailing hyphen, such as 1.3.0-1.

Documentation

The keyword documentation for ConfluentKafkaLibrary can be found here

To generate the documentation, use the following command:

python -m robot.libdoc -f html src/ConfluentKafkaLibrary docs/index.html

Installation

To install the library, run the following command:

pip install robotframework-confluentkafkalibrary

Extra packages:

  • [avro] = ['fastavro >= 1.3.2', 'avro >= 1.11.1']

  • [json] = ['jsonschema >= 3.2.0', 'pyrsistent >= 0.20.0']

  • [protobuf] = ['protobuf >= 4.22.0', 'googleapis-common-protos >= 1.66.0']

  • [schemaregistry] = ['httpx>=0.26', 'cachetools >= 5.5.0', 'attrs >= 24.3.0']

  • To install all dependencies use [all] extension like:

pip install robotframework-confluentkafkalibrary[all]

Usage

In most cases, you can refer to the confluent-kafka-python documentation for guidance. Every keyword in ConfluentKafkaLibrary is designed to match the corresponding Python functions. If you are unsure about the pre-configured keywords, please visit the robotframework-ConfluentKafkaLibrary documentation. The Kafka team maintains the up-to-date documentation for configuration properties and their values here.

  • You can find basic usage examples in the ./examples/test.robot
  • For more complex examples, such as handling byte data from a topic, using multiple consumers, or running threaded avro consumers, please refer to the documentation.

Testing

  • The library is tested using black-box tests written in Robot Framework.
  • For testing, a dockerized enterprise Kafka platform with schema registry support and REST proxy is used. The platform is deployed and tested for each pull request and merge to the master branch.
  • Tests are divided into the following files:
    • test.robot - Basic tests to verify functionality of the Consumer and Producer.
    • test_adminclient.robot - Verifications of admin client functionality.
    • test_avro.robot - Verifications of avro and serializers functionality.
  • Not executable example of oauth usage can be found here
    • Update of deployment #21 is required.
  • The core testing logic involves producing data to Kafka, connecting one consumer in a thread, and working with the results in specific test cases.

Known Limitations:

  • Unable to install robotframework-confluentkafkalibrary on Amazon EC2 graviton instance type
Morty Proxy This is a proxified and sanitized view of the page, visit original site.