Testing Tools
Flicker includes a comprehensive suite of testing tools in the test_tools/ directory. These are useful for verifying configuration, performance, and reliability.
1. HTTP Receiver
A simple Python-based HTTP server that accepts Flicker batches and prints them to stdout.
./test_tools/test-receiver.py
# Listening on http://0.0.0.0:8000/ingest2. Log Generator
Generates realistic log data at configurable volumes. Useful for stress testing.
# High volume: ~100 entries/sec
./test_tools/test-log-generator.py --volume high --path /tmp/test.log
# Low volume: ~1 entry/sec (test time-based flushing)
./test_tools/test-log-generator.py --volume low --path /tmp/test.log3. End-to-End Tests
File Tailing E2E
The test-e2e.sh script spins up the receiver, the generator, and Flicker itself to verify the full pipeline for local file tailing.
./test_tools/test-e2e.shDocker E2E
The docker-test-e2e.sh script verifies the Docker log capture pipeline by starting a test container that emits logs to stdout/stderr.
./test_tools/docker-test-e2e.sh4. Docker Test Container
Runs a standalone container that emits structured logs (INFO, WARN, ERROR, DEBUG) to stdout/stderr. Useful for manually testing Docker integration.
./test_tools/docker-test-container.sh5. Buffering Logic Test
The test-buffering.sh script demonstrates the dual-trigger buffering logic in action. It verifies:
- Size Trigger: Flushes immediately when the line count is reached.
- Time Trigger: Flushes when the time interval elapses, even if the buffer isn't full.
./test_tools/test-buffering.sh6. mTLS & Security Testing
Tools for verifying mutual TLS authentication.
Generate Certificates
Creates a local Certificate Authority (CA), server certificate, and client certificate/key pair for testing.
./test_tools/generate-test-certs.sh- Outputs keys to
test_tools/certs/
mTLS Receiver
A specialized HTTP receiver that enforces client certificate authentication.
./test_tools/test-mtls-receiver.py
# Listening on https://0.0.0.0:8443/ingestmTLS End-to-End
Automated test that generates certs, starts the mTLS receiver, and runs Flicker with mTLS configuration to verify secure delivery.
./test_tools/test-mtls-e2e.sh