Files
routeros-suricata-tzsp/tests/test_webui.py
T
2026-08-14 11:33:01 +02:00

43 lines
1.6 KiB
Python

import unittest
from app.webui import DASHBOARD
class WebUITests(unittest.TestCase):
def test_dashboard_is_english(self):
self.assertIn('<html lang="en">', DASHBOARD)
self.assertIn("System status", DASHBOARD)
self.assertIn("Recent incidents", DASHBOARD)
self.assertIn("TZSP datagrams", DASHBOARD)
self.assertIn("Extended statistics", DASHBOARD)
self.assertIn("Custom Suricata signatures", DASHBOARD)
self.assertIn("Signature sources", DASHBOARD)
self.assertIn("Refresh OISF catalog", DASHBOARD)
for polish_text in (
"Ładowanie",
"Tryb DEV",
"Brak alertów",
"Ostatnie alerty",
"Źródło",
"Blokady RouterOS",
):
self.assertNotIn(polish_text, DASHBOARD)
def test_dashboard_uses_status_endpoint(self):
self.assertIn("api('/api/status')", DASHBOARD)
self.assertIn("/api/admin/alerts/clear", DASHBOARD)
self.assertIn("/api/admin/rules/suppress", DASHBOARD)
self.assertIn("/api/admin/rules/sources", DASHBOARD)
self.assertIn("Download / update active signatures", DASHBOARD)
def test_dashboard_has_top_sections_and_local_time_formatting(self):
for section in ("overview", "incidents", "statistics", "system", "rules", "maintenance"):
self.assertIn(f'data-view="{section}"', DASHBOARD)
self.assertIn(f'id="view-{section}"', DASHBOARD)
self.assertIn("function fmtTime", DASHBOARD)
self.assertIn("Repeated matches are aggregated", DASHBOARD)
if __name__ == "__main__":
unittest.main()