from __future__ import annotations import json import re import time import unittest from urllib.parse import quote from hub_case import HubCase from hub_support import ASK from kvb_orchestrator import council, events, settings, skill_scripts, view class TestHubSurface(HubCase): def test_the_header_holds_only_the_title_the_palette_and_the_settings(self): html = self.index() self.assertIn("Agent Orchestrator", html) header = re.search(r'
(.*?)
', html, re.DOTALL).group(1) self.assertIn("

Agent Orchestrator

", header) self.assertEqual(re.findall(r']*id="([^"]+)"', header), ["palette-open", "settings-open"]) self.assertEqual(re.findall(r"<(?:nav|select|input|textarea)\b", header), []) for gone in ('id="rail"', 'id="inbox-bar"', 'id="status"', 'id="board-open"', 'id="rules-open"', 'id="timebar"'): with self.subTest(gone=gone): self.assertNotIn(gone, html) self.assertIn('