Currently the Apache Pinot connector has no proper Java integration tests. There is an existing bash script (external-processors/iggy-connector-pinot/integration-test.sh) that performs manual integration testing, but this should be replaced with proper Java tests that can run in CI.
What needs testing
- End-to-end ingestion flow: send messages to Iggy → verify data lands in Pinot realtime table
- JSON payload parsing and schema mapping
- Bulk message ingestion
Implementation notes
- Use Testcontainers for Pinot (controller, broker, server) and Iggy
- Use JUnit 6 as the test engine
- Use AssertJ for assertions
- Consider using
@Testcontainers annotation for lifecycle management
- Schema and table configs can be reused from
deployment/ directory
- Remove
integration-test.sh once proper tests are in place
Files to reference
foreign/java/external-processors/iggy-connector-pinot/integration-test.sh - current manual test flow (to be replaced)
foreign/java/external-processors/iggy-connector-pinot/deployment/schema.json - Pinot schema
foreign/java/external-processors/iggy-connector-pinot/deployment/table.json - Pinot table config
foreign/java/external-processors/iggy-connector-pinot/src/main/java/ - connector implementation
Acceptance criteria
Currently the Apache Pinot connector has no proper Java integration tests. There is an existing bash script (
external-processors/iggy-connector-pinot/integration-test.sh) that performs manual integration testing, but this should be replaced with proper Java tests that can run in CI.What needs testing
Implementation notes
@Testcontainersannotation for lifecycle managementdeployment/directoryintegration-test.shonce proper tests are in placeFiles to reference
foreign/java/external-processors/iggy-connector-pinot/integration-test.sh- current manual test flow (to be replaced)foreign/java/external-processors/iggy-connector-pinot/deployment/schema.json- Pinot schemaforeign/java/external-processors/iggy-connector-pinot/deployment/table.json- Pinot table configforeign/java/external-processors/iggy-connector-pinot/src/main/java/- connector implementationAcceptance criteria
integration-test.shafter Java tests provide equivalent coverage