Southcoast matches NA, per its startup checklist: X32s, ProPresenter to Lighting MIDI, pages 19/20
- An explicit look or rebuild may apply inside the auto-fix hours (never while live) - A page move clears the page left behind when only our keys are on it - A rebuild keeps MIDI links that are down now; first-setup import waits for the keys to land - ProPresenter port drift fixed automatically (kind propresenter_port) - sites/sc/config.json kept with the others Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -241,6 +241,21 @@ class TestExtend(unittest.TestCase):
|
||||
self.assertIn("PROP checks on the PROP key", added)
|
||||
self.assertEqual(schema.validate(new)[0], [])
|
||||
|
||||
def test_a_rebuild_keeps_what_is_down_right_now(self):
|
||||
"""Southcoast's rebuild dropped its MIDI key: the ProPresenter-to-Lighting link was down at that moment."""
|
||||
old, _ = ac.build(BASE, small(), {"id": "sc", "name": "Southcoast"}, "1234")
|
||||
now = small()
|
||||
now["midi"] = {"": {"SC Ingest": {"port": 5004, "peers": []}}} # the link dropped
|
||||
now["computers"]["lighting_pc"]["reachable"] = False # and the Lighting PC is off
|
||||
new, _ = ac.build(BASE, now, {"id": "sc", "name": "Southcoast"}, "1234")
|
||||
self.assertNotIn("MIDI", [t["label"] for t in new["tiles"]])
|
||||
kept, words = ac.keep_from(new, old)
|
||||
self.assertIn("MIDI", [t["label"] for t in kept["tiles"]])
|
||||
self.assertIn("VISTA", [t["label"] for t in kept["tiles"]])
|
||||
self.assertIn("lighting_pc", kept["hosts"])
|
||||
self.assertIn("MIDI link Lighting PC", words)
|
||||
self.assertEqual(schema.validate(kept)[0], [])
|
||||
|
||||
def test_a_key_someone_took_off_is_not_added_back(self):
|
||||
cfg = json.loads(json.dumps(self.cfg))
|
||||
cfg["tiles"] = [t for t in cfg["tiles"] if t["label"] != "X32"]
|
||||
|
||||
Reference in New Issue
Block a user