From f8ce4c2d292e4a41bb2f25a8a0589eb11d5601dd Mon Sep 17 00:00:00 2001 From: Rwanbt Date: Mon, 31 Aug 2026 00:35:55 +0200 Subject: [PATCH] test(hooks): accept transport failures without Obsidian server --- hooks/tests/test_hooks_v4.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/hooks/tests/test_hooks_v4.py b/hooks/tests/test_hooks_v4.py index 89abe31..3eb1d5d 100644 --- a/hooks/tests/test_hooks_v4.py +++ b/hooks/tests/test_hooks_v4.py @@ -157,9 +157,14 @@ def test_two_concurrent_ends_produce_independent_outcomes(self) -> None: for label, result in (("a", a), ("b", b)): with self.subTest(session=label): self.assertEqual(result.returncode, 0, msg=result.stderr) - # The error is a transport error (HTTP 401), not a - # log-truncation / silent-loss artifact. - self.assertIn("HTTP", result.stdout) + payload = json.loads(result.stdout.strip().splitlines()[0]) + metadata = payload["metadata"] + # With no Obsidian server in CI this is a transport failure; + # the invariant is independent persistence reporting, not a + # particular HTTP status. + self.assertIn("sessionSaveError", metadata) + self.assertEqual(metadata.get("needsTriage"), True) + self.assertIn(label[-1] * 4, metadata.get("notePath", "")) if __name__ == "__main__":