Names check for a copied campus; the ATEM folder says when the page may not read Google Drive

Site setup > Companion lists every connection, Dante device and MIDI session the keys use that
this campus does not report, with a map-to choice that renames it across checks, restart keys
and fixes. The ATEM section explains the Full Disk Access step when the cloud folder looks empty
to the background page. Verified on NA Ingest; Install the staged folder tested live there too.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-10-14 15:09:17 -04:00
co-authored by Claude Fable 5.1
parent a33e344cae
commit 3b3a1c7245
3 changed files with 97 additions and 4 deletions
+18
View File
@@ -250,6 +250,24 @@ class TestServer(unittest.TestCase):
self.assertIn("running_version", json.loads(raw))
self.assertEqual(self.put("/api/program/install", {}, method="POST")[0], 409)
def test_names_check_lists_what_this_companion_lacks(self):
self.site.attempts.clear()
n = json.loads(get(self.port, "/api/site/names")[1])
self.assertTrue(n["companion_ok"])
live = self.site.load()
mine = json.loads(json.dumps(live))
for t in mine["tiles"]:
for c in t.get("checks", []):
if c.get("conn") == "HyperDeck_2":
c["conn"] = "HyperDeck_Z"
self.put("/api/draft", {"config": mine})
n = json.loads(get(self.port, "/api/site/names")[1])
gone = [c for c in n["connections"] if not c["live"]]
self.assertEqual([(c["name"], c["keys"]) for c in gone], [("HyperDeck_Z", ["HD2"])])
self.assertIn("HyperDeck_2", gone[0]["candidates"]) # same module, unused
self.assertNotIn("HyperDeck_1", gone[0]["candidates"]) # used by HD1
self.put("/api/draft", {}, method="DELETE")
def test_probe_is_refused_while_a_fix_runs(self):
json.dump({"fix-x": {"key": "hd2"}}, open(os.path.join(self.data, "fixes-running.json"), "w"))
try: