mirror of
https://github.com/saphid/frame-control.git
synced 2026-10-06 06:00:33 +02:00
Devices: fixes from review round 9
- A title waiting its turn to be read stays with the headset it was dropped on, and is dropped if the app switches meanwhile. - Probes still finishing from an earlier attempt can't overwrite the rows of a newer one. - The FRAME_ALIAS the server started with stays on the list after switching away, so it can be picked again. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
175c39a2b0
commit
43e19d17f6
3 files changed
+48
-15
No files matched your search
@@ -252,6 +252,22 @@ class Connecting(unittest.TestCase):
|
||||
self.assertEqual((s["phase"], s["retry_at"]), ("failed", None))
|
||||
self.assertIn("no addresses", s["error"]["message"])
|
||||
|
||||
def test_switching_back_to_the_frame_alias_the_server_started_with(self):
|
||||
self.link.override = self.link.session_alias = "frame-bare"
|
||||
other = self.device("localhost")
|
||||
ids = [d["id"] for d in fl.devices_view(self.link)["devices"]]
|
||||
self.assertEqual(ids, ["alias-frame-bare", other["id"]])
|
||||
fl.devices_action(self.link, {"action": "use", "id": other["id"]}, None)
|
||||
self.assertIn("alias-frame-bare", [d["id"] for d in fl.devices_view(self.link)["devices"]]) # still there
|
||||
fl.devices_action(self.link, {"action": "use", "id": "alias-frame-bare"}, None)
|
||||
self.assertEqual(self.link.active_device()["alias"], "frame-bare")
|
||||
self.assertEqual(self.routes[-1], ("frame-bare", []))
|
||||
|
||||
def test_probes_from_an_earlier_attempt_leave_the_new_rows_alone(self):
|
||||
self.link.state.update(attempt=2, probes=[{"host": "b", "state": "waiting"}])
|
||||
self.link.probe_update(0, 1, state="answered", ip="10.0.0.2")
|
||||
self.assertEqual(self.link.state["probes"][0], {"host": "b", "state": "waiting"})
|
||||
|
||||
def test_a_bare_alias_lets_ssh_config_decide(self):
|
||||
self.link.override = "frame-bare"
|
||||
self.hosts({"frame-bare": "ok"}) # the stand-in ssh has no config: the alias is the host
|
||||
|
||||
Reference in new issue
Block a user