Kafka functions: integration and E2E tests

Open
#3,956 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
52/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
go, kafka

Research direction

Start by reading #3950 and #3938, then review the existing CI and E2E setup for kind, Knative, and Kafka. Verify deployment, environment propagation, validation failures, and CloudEvent processing, and document the local setup and manual test flow when all checks pass.

Written by the indexing model from the issue text.

Description

Add automated integration and E2E tests for Kafka event sourcing.

Automated tests (CI)

  • Function with run.kafka config deploys successfully
  • Kafka env vars (FUNC_TRANSPORT, KAFKA_BROKERS, KAFKA_TOPIC, KAFKA_CONSUMER_GROUP) are propagated to the container
  • Validation rejects incomplete Kafka config before deploy
  • Validation rejects run.kafka on non-Go runtimes
  • End-to-end: deploy a Kafka function, produce a message, verify the function receives and processes a CloudEvent

Requires a Kafka broker in the test environment (e.g. Strimzi on kind).

Testing guide

Document how to manually test Kafka functions end-to-end on a local cluster — setting up kind + Knative + Kafka, deploying, producing messages, verifying.

Related:

  • #3938 (E2E testing guide — can be merged into this issue or kept separate)
  • #3950 (Kafka event sourcing PR)
Dominant language
Go
Stars
365
Forks
223
Avg merge
2d 3h
Merged PRs (30d)
25

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from knative/func

All issues in knative/func

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.