Overview
Add pytest tests for both ChainShield KQL rules following the existing test pattern in tests/.
Rules to cover
Test checks per rule
- Required metadata comments present
- Known Sentinel/custom table reference
- Balanced parentheses and brackets
ago() time filter present
- No
project *
- No placeholder text
- Correct MITRE technique
- RiskScore field projected
Acceptance criteria
Part of
Epic #117 — Phase 2 ChainShield
Depends on: #130, #131
Overview
Add pytest tests for both ChainShield KQL rules following the existing test pattern in
tests/.Rules to cover
chainshield-supplier-compromise.kql(ChainShield — Supplier compromise detection KQL rule #130)chainshield-logistics-diversion.kql(ChainShield — Logistics/cargo diversion fraud KQL detection rule #131)Test checks per rule
ago()time filter presentproject *Acceptance criteria
tests/test_chainshield_rules.pypytest tests/test_chainshield_rules.py -vPart of
Epic #117 — Phase 2 ChainShield
Depends on: #130, #131