52 lines
1.7 KiB
Rust
52 lines
1.7 KiB
Rust
/// 告警降噪集成测试骨架。
|
||
///
|
||
/// 纯逻辑单元测试在 alert_noise_reducer::tests 中。
|
||
/// 以下集成测试需要 Testcontainers PostgreSQL 环境。
|
||
use erp_health::service::alert_noise_reducer;
|
||
|
||
/// 验证 severity_rank 排序一致性
|
||
#[test]
|
||
fn severity_rank_consistency_via_module() {
|
||
// 间接验证:alert_noise_reducer 模块可被外部 crate 引用
|
||
// 实际逻辑测试在 lib 内的 tests 模块中
|
||
}
|
||
|
||
/// 验证患者级升级条件
|
||
#[tokio::test]
|
||
#[ignore = "需要 Testcontainers 环境"]
|
||
async fn patient_escalation_requires_threshold_alerts() {
|
||
// 1. 创建患者和 2 条低级别告警
|
||
// 2. 调用 apply_noise_reduction("medium")
|
||
// 3. 验证未升级
|
||
// 4. 再创建 1 条低级别告警(达到阈值 3)
|
||
// 5. 调用 apply_noise_reduction("medium")
|
||
// 6. 验证升级为 "high"
|
||
}
|
||
|
||
/// 验证系统级聚合
|
||
#[tokio::test]
|
||
#[ignore = "需要 Testcontainers 环境"]
|
||
async fn system_aggregation_suppresses_within_window() {
|
||
// 1. 创建一条告警
|
||
// 2. 立即调用 check_system_aggregation
|
||
// 3. 验证 should_suppress = true
|
||
}
|
||
|
||
/// 验证 critical 告警不被聚合
|
||
#[tokio::test]
|
||
#[ignore = "需要 Testcontainers 环境"]
|
||
async fn critical_alerts_never_suppressed() {
|
||
// 1. 创建多条告警(含 critical)
|
||
// 2. 调用 apply_noise_reduction("critical")
|
||
// 3. 验证 is_suppressed = false
|
||
}
|
||
|
||
/// 验证完整降噪流程:低级告警多次触发后升级 + 聚合
|
||
#[tokio::test]
|
||
#[ignore = "需要 Testcontainers 环境"]
|
||
async fn full_noise_reduction_flow() {
|
||
// 1. 创建 3 条低级告警
|
||
// 2. 第 4 次触发 apply_noise_reduction("low") → 升级为 "medium"
|
||
// 3. 短时间内再次触发 → 被聚合抑制
|
||
}
|