Prompt-Injection-RL-environment / tests /test_person_a_manifest.py
Jatin997's picture
Add benchmark core
3b452a0
import json
import unittest
from pathlib import Path
class PersonABenchmarkManifestTests(unittest.TestCase):
def test_manifest_contains_showcase_and_delayed_trigger_metadata(self) -> None:
manifest_path = Path(__file__).resolve().parents[1] / "docs" / "person_a_benchmark_manifest.json"
payload = json.loads(manifest_path.read_text(encoding="utf-8"))
self.assertIn("entries", payload)
self.assertIn("showcase_scenarios", payload)
self.assertIn("medium_gold_html_comment_relay", payload["showcase_scenarios"])
self.assertIn("hard_gold_attachment_alignment_clause", payload["showcase_scenarios"])
self.assertIn("hard_gold_delayed_attachment_summary_hook", payload["showcase_scenarios"])
entries = {entry["scenario_id"]: entry for entry in payload["entries"]}
delayed = entries["hard_gold_delayed_attachment_summary_hook"]
semantic = entries["hard_gold_attachment_alignment_clause"]
html_comment = entries["medium_gold_html_comment_relay"]
self.assertEqual(delayed["activation_mode"], "on_summary_attempt")
self.assertTrue(delayed["delayed_trigger"])
self.assertEqual(delayed["showcase_role"], "delayed_summary_contamination")
self.assertEqual(semantic["showcase_role"], "semantic_summary_clause_poisoning")
self.assertEqual(semantic["target_tool"], "WriteDB")
self.assertEqual(semantic["payload_exactness"], "exact")
self.assertEqual(html_comment["attack_channel"], "html_comment")
self.assertEqual(html_comment["showcase_role"], "hidden_relay_detection")
if __name__ == "__main__":
unittest.main()