Skip to content

Add Toxiproxy fault testing - #411

Draft
ruslandoga wants to merge 2 commits into
masterfrom
rd/add-toxiproxy-kinesis-client
Draft

Add Toxiproxy fault testing#411
ruslandoga wants to merge 2 commits into
masterfrom
rd/add-toxiproxy-kinesis-client

Conversation

@ruslandoga

@ruslandoga ruslandoga commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add Toxiproxy to the local Compose stack and GitHub Actions services
  • add isolated proxy helpers to the current Ch.Test support module
  • verify that in-flight normal and multipart queries recover across repeated proxy outages
  • observe each disconnect and reconnect directly through DBConnection listeners

Why

The existing low-level fault tests precisely exercise individual HTTP failure paths. This adds complementary end-to-end coverage through a real network proxy, including repeated outages on the same client connection.

Test behavior

Toxiproxy is only contacted by the Toxiproxy fault test. Unrelated test files can still run with ClickHouse alone. To run the complete suite:

docker compose up -d

Validation

  • CH_DATABASE=ch_bishkek_toxiproxy_test MIX_ENV=test mix test --include slow — 626 passed, 10 skipped
  • CH_DATABASE=ch_bishkek_toxiproxy_test MIX_ENV=test mix test test/ch/faults_test.exs — 28 passed
  • MIX_ENV=test mix test test/ch/types_test.exs with Toxiproxy stopped — 171 passed
  • MIX_ENV=test mix compile --warnings-as-errors
  • MIX_ENV=test mix format
  • git diff --check

@ruslandoga
ruslandoga force-pushed the rd/add-toxiproxy-kinesis-client branch from e8bbbb2 to 52f0645 Compare August 9, 2026 15:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant