darkplex-core/tests/test_governance_report.py
Claudia fd7d75c0ed
Some checks failed
Tests / test (push) Failing after 2s
Merge darkplex-core into cortex — unified intelligence layer v0.2.0
- Merged all unique darkplex-core modules into cortex:
  - intelligence/ subfolder (anticipator, collective, shared_memory, knowledge_cleanup, temporal, llm_extractor, loop)
  - governance/ subfolder (policy engine, risk scorer, evidence, enforcer, report generator)
  - entity_manager.py, knowledge_extractor.py
- Fixed bare 'from intelligence.' imports to 'from cortex.intelligence.'
- Added 'darkplex' CLI alias alongside 'cortex'
- Package renamed to darkplex-core v0.2.0
- 405 tests passing (was 234)
- 14 new test files covering all merged modules
2026-02-12 08:43:02 +01:00

57 lines
2.4 KiB
Python

"""Tests for governance/report_generator.py."""
import json
import sys
from pathlib import Path
sys.path.insert(0, str(Path.home() / "repos" / "darkplex-core"))
from governance.evidence import EvidenceCollector, ControlMapping
from governance.report_generator import ReportGenerator
class TestReportGenerator:
def _collector_with_mapping(self, tmp_path):
import yaml
mapping_file = tmp_path / "mapping.yaml"
mapping_file.write_text(yaml.dump({
"mappings": [
{"event_types": ["policy_evaluation"], "controls": ["A.5.1", "A.8.1"]},
]
}))
return EvidenceCollector(control_mapping=ControlMapping(str(mapping_file)))
def test_empty_report(self):
collector = EvidenceCollector(control_mapping=ControlMapping("/dev/null"))
gen = ReportGenerator(collector)
report = gen.generate_compliance_report()
assert report["status"] == "no_evidence"
def test_report_with_evidence(self, tmp_path):
collector = self._collector_with_mapping(tmp_path)
collector.record(event_type="policy_evaluation", agent="claudia", action="read", verdict="allow", risk_score=2, risk_level="low")
collector.record(event_type="policy_evaluation", agent="claudia", action="write", verdict="deny", risk_score=8, risk_level="high")
gen = ReportGenerator(collector)
report = gen.generate_compliance_report()
assert report["total_evidence"] == 2
assert "A.5.1" in report["controls_covered"]
assert report["summary"]["total_deny"] == 1
assert report["summary"]["high_risk_events"] == 1
def test_agent_report(self, tmp_path):
collector = self._collector_with_mapping(tmp_path)
collector.record(event_type="policy_evaluation", agent="claudia", action="read", verdict="allow")
collector.record(event_type="policy_evaluation", agent="other", action="read", verdict="deny")
gen = ReportGenerator(collector)
report = gen.generate_agent_report("claudia")
assert report["agent"] == "claudia"
assert report["total_actions"] == 1
def test_export_json(self):
collector = EvidenceCollector(control_mapping=ControlMapping("/dev/null"))
gen = ReportGenerator(collector)
output = gen.export_json()
data = json.loads(output)
assert "status" in data # empty report