P4-P7 페르소나와 Tailnet 허용 보강

This commit is contained in:
Yun Chan 2026-06-27 19:04:46 +09:00
parent 17b114f647
commit 7f4a2d90c7
12 changed files with 121 additions and 30 deletions

View file

@ -208,6 +208,36 @@ def _draft_payload(
class PersonaApprovalBoundaryTest(unittest.IsolatedAsyncioTestCase):
async def test_repository_loads_repo_persona_files_for_p4_to_p7(self) -> None:
cards = persona_repository.load_file_personas()
self.assertEqual([card.code for card in cards], ["P4", "P5", "P6", "P7"])
self.assertEqual(cards[0].display_name, "하늘(가명) · 고2 · 학업/시험 불안")
self.assertEqual(cards[0].difficulty, "easy")
self.assertIn("cbt", cards[0].theory_target)
async def test_seed_fallback_includes_repo_persona_files(self) -> None:
entry = persona_repository.seed_fallback_persona("p4")
self.assertIsNotNone(entry)
assert entry is not None
self.assertEqual(entry.card.code, "P4")
self.assertEqual(entry.source, "seed_fallback")
self.assertTrue(entry.degraded)
async def test_materialize_seed_personas_upserts_code_and_repo_file_cards(self) -> None:
conn = _PersonaCardConn([])
with (
patch.object(persona_repository, "get_pool", return_value=object()),
patch.object(persona_repository, "acquire", lambda **_: _Acquire(conn)),
):
count = await persona_repository.materialize_seed_personas()
self.assertEqual(count, 7)
inserted_codes = [args[1] for _, args in conn.execute_calls]
self.assertEqual(inserted_codes, ["P1", "P2", "P3", "P4", "P5", "P6", "P7"])
async def test_catalog_repository_lists_only_approved_personas(self) -> None:
conn = _PersonaCardConn(
[