import unittest from datetime import datetime, timedelta, timezone from bossai import SessionManager, assess class Clock: def __init__(self): self.now = datetime(2026, 1, 1, tzinfo=timezone.utc) def __call__(self): return self.now class BossAiMVPTests(unittest.TestCase): def setUp(self): self.clock = Clock() self.manager = SessionManager(self.clock) def test_ephemeral_session_is_destroyed_and_unreadable(self): s = self.manager.create("ephemeral", ttl=timedelta(seconds=30)) self.manager.append(s.session_id, "user", "家庭隐私") self.clock.now += timedelta(seconds=31) self.assertEqual(self.manager.purge_expired(), 1) self.assertTrue(s.destroyed) self.assertEqual(s.messages, []) with self.assertRaises(KeyError): self.manager.append(s.session_id, "user", "再次写入") def test_manual_destroy_is_idempotent(self): s = self.manager.create("confidential") self.manager.append(s.session_id, "user", "合同") self.assertTrue(self.manager.destroy(s.session_id)) self.assertFalse(self.manager.destroy(s.session_id)) self.assertEqual(s.key_digest, "") def test_risk_triage_escalates_red_and_orange(self): self.assertEqual(assess("收到税务稽查通知").level, "red") self.assertTrue(assess("员工工伤后能否开除").escalation) self.assertEqual(assess("如何安排下周会议").level, "green") if __name__ == "__main__": unittest.main()