diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-25 11:09:12 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-25 12:07:49 +0200 |
| commit | 6348698322e5bfcb80d0ef0dcd833ba4e6179640 (patch) | |
| tree | 6d4f47a0a1745ef5ae912368d078cf681b9fcd19 /packages/meshbay-hub/tests/test_challenge_signature_client.py | |
| parent | 71ea15a926d02437a65b8d788834c46f4e6df9a3 (diff) | |
| download | meshbay-6348698322e5bfcb80d0ef0dcd833ba4e6179640.tar.gz | |
test(hub): read the transport wherever it is split
spa_source.transport_files() takes the classic transport*.js scripts
from the hub's shell, in load order. Every test that read transport.js
reads them all, the Node harnesses run them joined as one scope, the
chat probe loads each, and the desktop shell must load them in order.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-hub/tests/test_challenge_signature_client.py')
| -rw-r--r-- | packages/meshbay-hub/tests/test_challenge_signature_client.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/packages/meshbay-hub/tests/test_challenge_signature_client.py b/packages/meshbay-hub/tests/test_challenge_signature_client.py index 90aa5f2..e3c33ac 100644 --- a/packages/meshbay-hub/tests/test_challenge_signature_client.py +++ b/packages/meshbay-hub/tests/test_challenge_signature_client.py @@ -20,6 +20,7 @@ import pytest from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PrivateKey from meshbay_common.crypto import pk_to_b64 from meshbay_common.handshake import challenge_transcript, webrtc_binding +from spa_source import transport_argv STATIC = Path(__file__).resolve().parents[1] / "src" / "meshbay_hub" / "static" @@ -39,7 +40,9 @@ globalThis.document = { }; const STATIC = process.argv[2]; new Function(fs.readFileSync(`${STATIC}/crypto.js`, 'utf8'))(); -const src = fs.readFileSync(`${STATIC}/transport.js`, 'utf8'); +// argv[4]: transport.js and the parts split out of it, joined as one scope. +const src = process.argv[4].split(require('path').delimiter) + .map((p) => fs.readFileSync(p, 'utf8')).join('\n'); const { _challengeProvesNodeKey } = new Function(src + '\nreturn { _challengeProvesNodeKey };')(); @@ -93,7 +96,7 @@ def test_the_browser_holds_the_node_to_its_challenge(tmp_path): harness.write_text(_HARNESS) payload = tmp_path / "cases.json" payload.write_text(json.dumps([c for c, _ in cases.values()])) - proc = subprocess.run(["node", str(harness), str(STATIC), str(payload)], + proc = subprocess.run(["node", str(harness), str(STATIC), str(payload), transport_argv()], capture_output=True, text=True, timeout=60) assert proc.returncode == 0, proc.stderr got = dict(zip(cases, json.loads(proc.stdout))) |