Spaces:
Running
Running
File size: 1,508 Bytes
69fb140 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
"""
測試 websocket/manager.py 連線管理器
"""
import pytest
from datetime import datetime, timedelta
from websocket.manager import ConnectionManager
class TestConnectionManager:
"""測試 ConnectionManager 類別"""
def test_init(self):
"""測試初始化"""
manager = ConnectionManager()
assert manager.active_connections == {}
assert manager.client_info == {}
assert manager.user_sessions == {}
def test_is_connected_false(self):
"""測試未連線狀態"""
manager = ConnectionManager()
assert manager.is_connected("user123") is False
def test_get_active_user_count_empty(self):
"""測試空連線數"""
manager = ConnectionManager()
assert manager.get_active_user_count() == 0
def test_client_info(self):
"""測試客戶端資訊存取"""
manager = ConnectionManager()
manager.set_client_info("user123", {"device": "iPhone"})
info = manager.get_client_info("user123")
assert info == {"device": "iPhone"}
def test_get_client_info_not_found(self):
"""測試取得不存在的客戶端資訊"""
manager = ConnectionManager()
info = manager.get_client_info("nonexistent")
assert info == {}
def test_get_user_session_not_found(self):
"""測試取得不存在的會話"""
manager = ConnectionManager()
session = manager.get_user_session("nonexistent")
assert session is None
|