feat(webui): unify dashboard into 4 primary tabs and administration subtabs row, deprecate separate client-info
CI Test Suite / Run Component Tests & Pipeline Verification (push) Successful in 2m24s

This commit is contained in:
2026-10-11 10:33:14 +02:00
parent fc97964e95
commit b44191ed89
3 changed files with 99 additions and 928 deletions
+16 -10
View File
@@ -173,30 +173,36 @@ class TestServerRolesAndBestPractices(unittest.TestCase):
self.assertIn("Node Telemetry & Server Roles Inventory", res_follow.text)
def test_dashboard_tabs_structure(self):
"""Verifies primary tabs (Forwarders, Server Roles, Telemetry, Events, Settings) and secondary settings subtabs (Sub-CA, DB, Updates, Hermes)."""
"""Verifies primary tabs (Fleet Forwarders, Server Roles & Client Directory, Events, Administration) and secondary admin subtabs (Hermes, Sub-CA, DB, Updates)."""
res = self.client.get("/webui", cookies={SessionManager.SESSION_COOKIE_NAME: self.session_token})
self.assertEqual(res.status_code, 200)
html = res.text
# Primary navigation tabs
# Primary navigation tabs (only 4 tabs on top row)
self.assertIn("id=\"mainTabsNav\"", html)
self.assertIn("id=\"tabBtn-fleet\"", html)
self.assertIn(">💻 Fleet Forwarders</button>", html)
self.assertIn("id=\"tabBtn-server-roles\"", html)
self.assertIn("id=\"tabBtn-telemetry\"", html)
self.assertIn(">🖥️ Server Roles &amp; Client Directory</button>", html)
self.assertIn("id=\"tabBtn-events\"", html)
self.assertIn("id=\"tabBtn-settings\"", html)
self.assertIn(">📊 Events</button>", html)
self.assertIn("id=\"tabBtn-admin\"", html)
self.assertIn(">⚙️ Administration", html)
# Settings sub-navigation tabs (row below)
self.assertIn("id=\"settingsSubtabs\"", html)
self.assertIn("id=\"tabBtn-pki\"", html)
self.assertIn("id=\"tabBtn-db\"", html)
self.assertIn("id=\"tabBtn-updates\"", html)
# Administration sub-navigation tabs (row below)
self.assertIn("id=\"adminSubtabs\"", html)
self.assertIn("id=\"tabBtn-hermes\"", html)
self.assertIn(">🤖 Hermes AI &amp; Tokens</button>", html)
self.assertIn("id=\"tabBtn-pki\"", html)
self.assertIn(">📜 Sub-CA &amp; Licensing</button>", html)
self.assertIn("id=\"tabBtn-db\"", html)
self.assertIn(">💾 DB Engine</button>", html)
self.assertIn("id=\"tabBtn-updates\"", html)
self.assertIn(">📦 Updates &amp; Distribution", html)
# Tab panes
self.assertIn("id=\"tabPane-fleet\"", html)
self.assertIn("id=\"tabPane-server-roles\"", html)
self.assertIn("id=\"tabPane-telemetry\"", html)
self.assertIn("id=\"tabPane-events\"", html)
self.assertIn("id=\"tabPane-pki\"", html)
self.assertIn("id=\"tabPane-db\"", html)