miroir/crates/miroir-core/Cargo.toml
jedarden 5442042bac P2.5 Task reconciliation: Add test helpers and fix error tests
- Add test-helpers feature to miroir-core for test-only methods
- Add test helper methods to InMemoryTaskRegistry:
  - set_error_for_test: Set error and node_errors for testing
  - set_timestamps_for_test: Set started_at/finished_at timestamps
  - set_node_task_status_for_test: Set node task status
  - set_task_status_for_test: Set overall task status
  - update_status: Async status update with timestamp handling
  - update_node_task: Async node task status update

- Fix error_format_parity.rs: Replace MiroirCode::ALL with static array
  to avoid const evaluation issues in test contexts

- Add regex dependency to miroir-proxy for testing

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 22:53:02 -04:00

75 lines
2.1 KiB
TOML

[package]
name = "miroir-core"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
autobenches = false
[dependencies]
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml = "0.9"
twox-hash = "2"
thiserror = { workspace = true }
tracing = { workspace = true }
uuid = { version = "1", features = ["v4", "serde"] }
config = "0.14"
rusqlite = { workspace = true }
futures-util = "0.3"
# Redis support (optional — enable via `redis-store` feature)
redis = { version = "0.27", features = ["aio", "tokio-comp", "connection-manager"], optional = true }
hex = "0.4"
tokio = { version = "1", features = ["rt", "rt-multi-thread", "time", "sync", "macros"] }
async-trait = "0.1"
rand = "0.8"
reqwest = { version = "0.12", features = ["json"], default-features = false }
urlencoding = "2"
sha2 = "0.10"
indexmap = "2"
chrono = { version = "0.4", features = ["serde"] }
regex = "1"
trust-dns-resolver = { version = "0.12", optional = true }
# Axum integration (optional — enable via `axum` feature)
axum = { version = "0.7", optional = true }
# Raft prototype (P12.OP2 research) — not for production use
# openraft 0.9.22 fails on stable Rust 1.87 (validit uses let_chains).
# The prototype simulates Raft; only bincode is needed for serialization benchmarks.
bincode = { version = "2", features = ["serde"], optional = true }
[features]
default = []
raft-proto = ["bincode"]
redis-store = ["redis"]
axum = ["dep:axum"]
peer-discovery = ["trust-dns-resolver"]
test-helpers = []
# Enable when openraft compiles on stable Rust:
# raft-full = ["openraft", "bincode"]
# (openraft dep removed from manifest — restore when upstream fixes let_chains on stable)
[[bin]]
name = "bench-reshard-load"
path = "benches/reshard_load.rs"
[[bench]]
name = "merger_bench"
harness = false
[[bench]]
name = "router_bench"
harness = false
[[bench]]
name = "dfs_preflight_bench"
harness = false
[dev-dependencies]
tempfile = "3"
proptest = "1"
criterion = "0.5"
tokio = { version = "1", features = ["rt", "macros", "time"] }
testcontainers = "0.23"
testcontainers-modules = { version = "0.11", features = ["redis"] }
mockall = "0.13"