feat: 운영 안정성과 세션 음성 경험 개선

This commit is contained in:
Yun Chan 2026-07-31 00:13:08 +09:00
parent facc4ad2d9
commit c788343467
95 changed files with 8431 additions and 1785 deletions

View file

@ -166,6 +166,48 @@ class VoiceWebSocketContractTest(unittest.IsolatedAsyncioTestCase):
self.assertIsNone(voice_routes._client_turn_text_for_speech(session, 3))
self.assertIsNone(voice_routes._client_turn_text_for_speech(session, 99))
def test_text_tts_maps_logical_turn_to_db_transcript_sequence(self) -> None:
session = SimpleNamespace(
turns=[
TurnRecord(
turn_seq=1,
speaker="counselor",
stage="초기",
text="첫 질문",
text_masked="첫 질문",
),
TurnRecord(
turn_seq=2,
speaker="client",
stage="초기",
text="첫 응답",
text_masked="첫 응답",
),
TurnRecord(
turn_seq=3,
speaker="counselor",
stage="초기",
text="둘째 질문",
text_masked="둘째 질문",
),
TurnRecord(
turn_seq=4,
speaker="client",
stage="초기",
text="둘째 응답",
text_masked="둘째 응답",
),
]
)
self.assertEqual(
voice_routes._client_turn_text_for_speech(session, 1), "첫 응답"
)
self.assertEqual(
voice_routes._client_turn_text_for_speech(session, 2), "둘째 응답"
)
self.assertIsNone(voice_routes._client_turn_text_for_speech(session, 3))
async def test_text_turn_speech_returns_openai_audio_for_owned_persisted_turn(
self,
) -> None: