Skip to content

Improve test coverage for kafka-queue package (1 active test, 1251 LOC) #21

@BrewingCoder

Description

@BrewingCoder

Area

Backend — Worker / Kafka

Category

Test coverage

Description

The kafka-queue package handles all async data ingestion (sessions, errors, logs, traces, metrics) but has only 1 enabled test (partition key hash). The integration test (TestQueue_Submit) is skipped by default.

Priority test targets:

  1. Message serialization/deserialization round-trip for all 20+ payload types
  2. Topic name generation with env prefixes
  3. OTel context injection/extraction via Kafka headers
  4. Config override behavior (batch size, message size, async mode)
  5. deserializeMessage() type dispatch (peek at Type field, allocate concrete struct)

Known risks:

  • No retry logic (TaskRetries=0) — failed messages are dropped
  • Background stats goroutine never cleaned up on shutdown
  • Deprecated HubSpot enum values (12-16) still in type list

See src/backend/kafka-queue/MODULE.md for full analysis.

Affected Files / Packages

src/backend/kafka-queue/kafkaqueue.go (578 lines)
src/backend/kafka-queue/types.go (427 lines)
src/backend/kafka-queue/kafkaqueue_test.go (159 lines — 1 active test)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions