fix/various fixes
This commit is contained in:
44
api/tests/test_session_history.py
Normal file
44
api/tests/test_session_history.py
Normal file
@@ -0,0 +1,44 @@
|
||||
"""session_history 纯映射测试(ConversationService 的会话层,非 Agent)。"""
|
||||
|
||||
import unittest
|
||||
from datetime import datetime, timezone
|
||||
|
||||
from app.features.conversation.models import Segment
|
||||
from app.features.conversation.session_history import segments_to_redis_history
|
||||
|
||||
|
||||
class SegmentsToRedisHistoryTest(unittest.TestCase):
|
||||
def test_text_turn_maps_to_human_and_ai(self):
|
||||
seg = Segment(
|
||||
id="s1",
|
||||
conversation_id="c1",
|
||||
transcript_text="我在杭州长大",
|
||||
audio_url=None,
|
||||
created_at=datetime(2024, 1, 2, 3, 4, 5, tzinfo=timezone.utc),
|
||||
agent_response="听起来很温润的城市。",
|
||||
)
|
||||
h = segments_to_redis_history([seg])
|
||||
self.assertEqual(len(h), 2)
|
||||
self.assertEqual(h[0]["role"], "human")
|
||||
self.assertEqual(h[0]["messageType"], "text")
|
||||
self.assertEqual(h[0]["content"], "我在杭州长大")
|
||||
self.assertEqual(h[1]["role"], "ai")
|
||||
self.assertEqual(h[1]["content"], "听起来很温润的城市。")
|
||||
|
||||
def test_voice_segment_sets_voice_session_id(self):
|
||||
seg = Segment(
|
||||
id="s1",
|
||||
conversation_id="c1",
|
||||
transcript_text="嗯",
|
||||
audio_url="audio-segment:vs-9:0",
|
||||
created_at=datetime(2024, 1, 2, tzinfo=timezone.utc),
|
||||
agent_response=None,
|
||||
)
|
||||
h = segments_to_redis_history([seg])
|
||||
self.assertEqual(len(h), 1)
|
||||
self.assertEqual(h[0]["messageType"], "audio")
|
||||
self.assertEqual(h[0]["voiceSessionId"], "vs-9")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user