Some checks failed
CI / Check (pull_request) Failing after 9m4s
CI / Detect Changes (pull_request) Has been skipped
CI / Deploy Agent (pull_request) Has been skipped
CI / Deploy Dashboard (pull_request) Has been skipped
CI / Deploy Docs (pull_request) Has been skipped
CI / Deploy MCP (pull_request) Has been skipped
E2E Tests: - 17 integration tests covering: health, repos CRUD, findings lifecycle, cascade delete (SAST + DAST + pentest), DAST targets, stats overview - TestServer harness: spins up agent API on random port with isolated MongoDB database per test, auto-cleanup - Added lib.rs to expose agent internals for integration tests - Nightly CI workflow with MongoDB service container (3 AM UTC) Tests verify: - Repository add/list/delete + duplicate rejection + invalid ID handling - Finding creation, filtering by severity/repo, status updates, bulk updates - Cascade delete: repo deletion removes all DAST targets, pentest sessions, attack chain nodes, DAST findings, SAST findings, and SBOM entries - DAST target CRUD and empty finding list - Stats overview accuracy with zero and populated data Also: - Fix Dockerfile.dashboard: bump dioxus-cli 0.7.3 → 0.7.4 (compile fix) - Fix clippy: allow new_without_default for pattern scanners Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
56 lines
1.5 KiB
TOML
56 lines
1.5 KiB
TOML
[package]
|
|
name = "compliance-agent"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
compliance-core = { workspace = true, features = ["mongodb", "telemetry"] }
|
|
compliance-graph = { path = "../compliance-graph" }
|
|
compliance-dast = { path = "../compliance-dast" }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
tokio = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
chrono = { workspace = true }
|
|
mongodb = { workspace = true }
|
|
reqwest = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
sha2 = { workspace = true }
|
|
hex = { workspace = true }
|
|
uuid = { workspace = true }
|
|
secrecy = { workspace = true }
|
|
regex = { workspace = true }
|
|
axum = "0.8"
|
|
tower-http = { version = "0.6", features = ["cors", "trace"] }
|
|
git2 = "0.20"
|
|
octocrab = "0.44"
|
|
tokio-cron-scheduler = "0.13"
|
|
dotenvy = "0.15"
|
|
hmac = "0.12"
|
|
walkdir = "2"
|
|
base64 = "0.22"
|
|
urlencoding = "2"
|
|
futures-util = "0.3"
|
|
jsonwebtoken = "9"
|
|
zip = { workspace = true }
|
|
aes-gcm = { workspace = true }
|
|
tokio-tungstenite = { version = "0.26", features = ["rustls-tls-webpki-roots"] }
|
|
futures-core = "0.3"
|
|
dashmap = { workspace = true }
|
|
tokio-stream = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
compliance-core = { workspace = true, features = ["mongodb"] }
|
|
reqwest = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
tokio = { workspace = true }
|
|
mongodb = { workspace = true }
|
|
uuid = { workspace = true }
|
|
secrecy = { workspace = true }
|
|
axum = "0.8"
|
|
tower-http = { version = "0.6", features = ["cors"] }
|