mirror of
https://gitlab.com/iscmt/homehub4000-prometheus-exporter.git
synced 2026-04-04 09:22:24 -04:00
64 lines
2.1 KiB
Python
64 lines
2.1 KiB
Python
from datetime import datetime
|
|
|
|
|
|
class TestSaveRouterLogs:
|
|
def test_inserts_new_entries(self, temp_db):
|
|
logs = [
|
|
{
|
|
"log_timestamp": "2024-01-15T10:30:00",
|
|
"level": "INF",
|
|
"module": "WIFI",
|
|
"message": "Device connected",
|
|
}
|
|
]
|
|
inserted = temp_db.save_router_logs(logs)
|
|
assert inserted == 1
|
|
|
|
def test_deduplicates_entries(self, temp_db):
|
|
logs = [
|
|
{
|
|
"log_timestamp": "2024-01-15T10:30:00",
|
|
"level": "INF",
|
|
"module": "WIFI",
|
|
"message": "Device connected",
|
|
}
|
|
]
|
|
temp_db.save_router_logs(logs)
|
|
inserted = temp_db.save_router_logs(logs)
|
|
assert inserted == 0
|
|
|
|
def test_empty_list_returns_zero(self, temp_db):
|
|
assert temp_db.save_router_logs([]) == 0
|
|
|
|
|
|
class TestGetLogCounts:
|
|
def test_empty_database(self, temp_db):
|
|
counts = temp_db.get_log_counts()
|
|
assert counts["total"] == 0
|
|
assert counts["by_level"] == {}
|
|
assert counts["by_module"] == {}
|
|
|
|
def test_with_data(self, temp_db):
|
|
logs = [
|
|
{"log_timestamp": datetime.now().isoformat(), "level": "INF", "module": "WIFI", "message": "msg1"},
|
|
{"log_timestamp": datetime.now().isoformat(), "level": "INF", "module": "WIFI", "message": "msg2"},
|
|
{"log_timestamp": datetime.now().isoformat(), "level": "ERR", "module": "SYS", "message": "msg3"},
|
|
]
|
|
temp_db.save_router_logs(logs)
|
|
counts = temp_db.get_log_counts()
|
|
assert counts["total"] == 3
|
|
assert counts["by_level"]["INF"] == 2
|
|
assert counts["by_level"]["ERR"] == 1
|
|
assert counts["by_module"]["WIFI"] == 2
|
|
|
|
|
|
class TestGetDeviceLogRows:
|
|
def test_returns_logs_for_parsing(self, temp_db):
|
|
logs = [
|
|
{"log_timestamp": "2024-01-15T10:30:00", "level": "INF", "module": "WIFI", "message": "test message"},
|
|
]
|
|
temp_db.save_router_logs(logs)
|
|
rows = temp_db.get_device_log_rows()
|
|
assert len(rows) == 1
|
|
assert rows[0]["message"] == "test message"
|