持久化设备留言待收听状态并支持重启恢复
This commit is contained in:
42
talkingq-url/tests/test_database_service_logging.py
Normal file
42
talkingq-url/tests/test_database_service_logging.py
Normal file
@@ -0,0 +1,42 @@
|
||||
import pytest
|
||||
|
||||
from services import database_service_base
|
||||
from services.database_service_base import DatabaseServiceBase
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_database_init_success_log_is_once_per_service(monkeypatch):
|
||||
logs = []
|
||||
|
||||
async def fake_get_db_manager():
|
||||
return object()
|
||||
|
||||
def fake_info(device_id, session_id, message):
|
||||
logs.append((device_id, session_id, message))
|
||||
|
||||
DatabaseServiceBase._logged_initialized_services.clear()
|
||||
monkeypatch.setattr(database_service_base, "get_db_manager", fake_get_db_manager)
|
||||
monkeypatch.setattr(database_service_base.session_logger, "info", fake_info)
|
||||
|
||||
first = DatabaseServiceBase(service_name="binding_service")
|
||||
second = DatabaseServiceBase(service_name="binding_service")
|
||||
|
||||
await first._init_database()
|
||||
await second._init_database()
|
||||
|
||||
assert logs == [
|
||||
(
|
||||
"system",
|
||||
"binding_service",
|
||||
"binding_service数据库连接初始化成功",
|
||||
)
|
||||
]
|
||||
|
||||
|
||||
def test_binding_service_singleton_is_used_by_router_and_mqtt_handler():
|
||||
from banban.routers import bindings
|
||||
from banban.service.binding import binding_service
|
||||
from handlers import mqtt_handler
|
||||
|
||||
assert bindings.binding_service is binding_service
|
||||
assert mqtt_handler.binding_service is binding_service
|
||||
Reference in New Issue
Block a user