feat: add safe miner control foundation
This commit is contained in:
1 parent
6cd876b4b3
commit
f5965af914
39 files changed
+2952
-491
No files matched your search
@@ -498,10 +498,12 @@ class MinerDetailFrontendTests(unittest.TestCase):
|
||||
r'type="button">Refresh</button>',
|
||||
)
|
||||
source = (STATIC_ROOT / "miner-detail.js").read_text(encoding="utf-8")
|
||||
self.assertIn(
|
||||
'el.refresh.addEventListener("click", loadOverview);',
|
||||
self.assertIn('el.refresh.addEventListener("click", refreshAll);', source)
|
||||
refresh = re.search(
|
||||
r"function refreshAll\(\) \{\s*loadOverview\(\);\s*loadControls\(\);\s*\}",
|
||||
source,
|
||||
)
|
||||
self.assertIsNotNone(refresh)
|
||||
css = (STATIC_ROOT / "app.css").read_text(encoding="utf-8")
|
||||
self.assertIn(".miner-detail-actions .quiet-button { color: var(--ink); }", css)
|
||||
|
||||
@@ -562,9 +564,14 @@ class MinerDetailFrontendTests(unittest.TestCase):
|
||||
self.assertIn("/events", source)
|
||||
self.assertIn("/parts", source)
|
||||
self.assertNotIn("setInterval", source)
|
||||
self.assertEqual(source.count('method: "POST"'), 1)
|
||||
self.assertIn('"/controls/" + pathAction', source)
|
||||
self.assertIn(
|
||||
'action === "performance_mode" ? "performance-mode" : action', source
|
||||
)
|
||||
for mutation in (
|
||||
'method: "POST"', 'method: "PATCH"', 'method: "PUT"',
|
||||
'method: "DELETE"', "reboot", "change-mac", "manual-details",
|
||||
'method: "PATCH"', 'method: "PUT"', 'method: "DELETE"',
|
||||
"reboot", "change-mac", "manual-details",
|
||||
):
|
||||
self.assertNotIn(mutation, source)
|
||||
for unsafe in ("innerHTML", "outerHTML", "insertAdjacentHTML", "document.write"):
|
||||
|
||||
Reference in new issue
Block a user