Files
security-ai-edge/tests/test_result_reporter.py

106 lines
2.7 KiB
Python
Raw Normal View History

2026-01-29 18:33:12 +08:00
"""
结果上报模块单元测试
"""
import unittest
from unittest.mock import MagicMock, patch
from datetime import datetime
import sys
import os
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
class TestMQTTClient(unittest.TestCase):
"""测试MQTT客户端"""
def test_client_creation(self):
"""测试客户端创建"""
from core.result_reporter import MQTTClient
from config.settings import MQTTConfig
config = MQTTConfig(
broker_host="localhost",
broker_port=1883,
client_id="test_client"
)
client = MQTTClient(config)
self.assertEqual(client.config.broker_host, "localhost")
self.assertEqual(client.config.broker_port, 1883)
def test_client_status(self):
"""测试客户端状态"""
from core.result_reporter import MQTTClient
from config.settings import MQTTConfig
config = MQTTConfig()
client = MQTTClient(config)
status = client.get_status()
self.assertIn("connected", status)
self.assertIn("broker_host", status)
def test_performance_stats(self):
"""测试性能统计"""
from core.result_reporter import MQTTClient
from config.settings import MQTTConfig
config = MQTTConfig()
client = MQTTClient(config)
stats = client.get_performance_stats()
self.assertIn("messages_sent", stats)
self.assertIn("messages_received", stats)
class TestAlertReporter(unittest.TestCase):
"""测试告警上报器"""
def test_reporter_creation(self):
"""测试上报器创建"""
from core.result_reporter import AlertReporter
reporter = AlertReporter()
self.assertIsNotNone(reporter)
def test_get_status(self):
"""测试获取状态"""
from core.result_reporter import AlertReporter
reporter = AlertReporter()
status = reporter.get_status()
self.assertIn("stats", status)
class TestResultReporter(unittest.TestCase):
"""测试结果上报主类"""
def test_reporter_creation(self):
"""测试创建"""
from core.result_reporter import ResultReporter
reporter = ResultReporter()
self.assertIsNotNone(reporter)
def test_get_status(self):
"""测试获取状态"""
from core.result_reporter import ResultReporter
reporter = ResultReporter()
status = reporter.get_status()
self.assertIn("stats", status)
if __name__ == "__main__":
unittest.main()