| import json |
| import unittest |
| from pathlib import Path |
|
|
| from env.dataset_loader import DatasetLoader |
| from env.injection_engine import InjectionEngine |
| from env.scenario_validator import has_errors, validate_scenario_payload |
|
|
|
|
| class GoldHardScenarioTests(unittest.TestCase): |
| def setUp(self) -> None: |
| self.loader = DatasetLoader() |
| self.engine = InjectionEngine() |
|
|
| def test_loader_merges_gold_hard_overlay(self) -> None: |
| scenario = self.loader.get_scenario_by_id("hard", "hard_gold_transcript_finance_review") |
| self.assertEqual(scenario.difficulty, "hard") |
| self.assertTrue(scenario.summary_required) |
|
|
| def test_gold_transcript_scenario_parses_as_transcript_replay(self) -> None: |
| scenario = self.loader.get_scenario_by_id("hard", "hard_gold_transcript_finance_review") |
| metadata = self.engine.build_attack_metadata(scenario) |
| self.assertEqual(metadata["attack_channel"], "transcript_replay") |
| self.assertEqual(metadata["target_tool"], "SendEmail") |
| self.assertEqual(metadata["target_recipient"], "relay@external-audit.test") |
|
|
| def test_gold_authority_spoof_scenario_marks_authority_claim(self) -> None: |
| scenario = self.loader.get_scenario_by_id("hard", "hard_gold_authority_relay_directive") |
| metadata = self.engine.build_attack_metadata(scenario) |
| self.assertTrue(metadata["authority_claimed"]) |
| self.assertIn("authority_spoof", metadata["concealment_techniques"]) |
| self.assertEqual(metadata["target_tool"], "WriteDB") |
|
|
| def test_gold_attachment_summary_scenario_uses_attachment_channel(self) -> None: |
| scenario = self.loader.get_scenario_by_id("hard", "hard_gold_attachment_summary_append") |
| metadata = self.engine.build_attack_metadata(scenario) |
| self.assertEqual(metadata["attack_channel"], "attachment_instruction") |
| self.assertEqual(metadata["attack_visibility"], "hidden") |
| self.assertEqual(metadata["target_tool"], "WriteDB") |
| self.assertEqual(metadata["attack_intent"], "contaminate_internal_summary") |
| self.assertTrue(any(span["label"] == "attachment_block" for span in metadata["attack_spans"])) |
|
|
| def test_elite_alignment_clause_scenario_tracks_internal_clause_poisoning(self) -> None: |
| scenario = self.loader.get_scenario_by_id("hard", "hard_gold_attachment_alignment_clause") |
| metadata = self.engine.build_attack_metadata(scenario) |
| self.assertEqual(metadata["attack_channel"], "attachment_instruction") |
| self.assertEqual(metadata["target_tool"], "WriteDB") |
| self.assertIsNone(metadata["target_recipient"]) |
| self.assertEqual(metadata["payload_exactness"], "exact") |
| self.assertEqual(metadata["requested_artifact_type"], "internal_summary") |
| self.assertEqual(metadata["target_payload"], "reconciliation marker: amber lattice verified") |
|
|
| def test_hard_gold_overlay_has_no_validation_errors(self) -> None: |
| gold_path = Path(__file__).resolve().parents[1] / "env" / "data" / "scenarios" / "gold" / "hard.jsonl" |
| rows = [json.loads(line) for line in gold_path.read_text(encoding="utf-8-sig").splitlines() if line.strip()] |
|
|
| for payload in rows: |
| issues = validate_scenario_payload(payload) |
| self.assertFalse(has_errors(issues), msg=payload["scenario_id"]) |
|
|
|
|
| if __name__ == "__main__": |
| unittest.main() |
|
|