[package] name = "stress_tests" version.workspace = true edition.workspace = true rust-version.workspace = true authors.workspace = true license.workspace = true description = "Stress testing and chaos engineering for Foxhunt services" [dependencies] # Core async and utilities tokio.workspace = true anyhow.workspace = true tracing.workspace = true serde.workspace = true chrono.workspace = true thiserror.workspace = true # Database clients for fault injection redis = { workspace = true, features = ["tokio-comp", "connection-manager"] } sqlx = { workspace = true, features = ["postgres", "chrono", "uuid", "json", "macros"] } # gRPC client for service communication tonic = { workspace = true, features = ["transport", "tls-ring", "tls-webpki-roots"] } tonic-prost.workspace = true prost.workspace = true # Internal workspace crates common = { workspace = true, features = ["database"] } config = { workspace = true, features = ["postgres"] } # Testing utilities serial_test = "3.0" futures.workspace = true async-trait.workspace = true # Metrics and monitoring hdrhistogram.workspace = true # Concurrency utilities parking_lot.workspace = true dashmap = "6.0" # System monitoring sysinfo = "0.34" num_cpus = "1.16" # Random number generation rand.workspace = true [dev-dependencies] tokio = { workspace = true, features = ["test-util"] } tracing-subscriber = { workspace = true, features = ["env-filter"] } tempfile = "3.13" [lib] path = "src/lib.rs" [[test]] name = "chaos_testing" path = "tests/chaos_testing.rs" [[test]] name = "sustained_load_stress" path = "tests/sustained_load_stress.rs" [[test]] name = "burst_load_stress" path = "tests/burst_load_stress.rs" [[test]] name = "resource_exhaustion_stress" path = "tests/resource_exhaustion_stress.rs" [[test]] name = "concurrent_clients_stress" path = "tests/concurrent_clients_stress.rs" [[test]] name = "resource_limit_tests" path = "tests/resource_limit_tests.rs"