aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/tests/test_account_pinning.py
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-09-25 11:09:12 +0200
committerChristophe Besson <cbesson@gmail.com>2026-09-25 12:07:49 +0200
commit6348698322e5bfcb80d0ef0dcd833ba4e6179640 (patch)
tree6d4f47a0a1745ef5ae912368d078cf681b9fcd19 /packages/meshbay-hub/tests/test_account_pinning.py
parent71ea15a926d02437a65b8d788834c46f4e6df9a3 (diff)
downloadmeshbay-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_account_pinning.py')
-rw-r--r--packages/meshbay-hub/tests/test_account_pinning.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/packages/meshbay-hub/tests/test_account_pinning.py b/packages/meshbay-hub/tests/test_account_pinning.py
index a1419c3..529ebd5 100644
--- a/packages/meshbay-hub/tests/test_account_pinning.py
+++ b/packages/meshbay-hub/tests/test_account_pinning.py
@@ -24,6 +24,7 @@ import pytest
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PrivateKey
from meshbay_common.device import device_add_transcript
+from spa_source import transport_argv
STATIC = (Path(__file__).resolve().parents[1]
/ "src" / "meshbay_hub" / "static")
@@ -56,7 +57,10 @@ globalThis.localStorage = {
// crypto.js publishes onto window; transport.js reads it from there.
new Function(fs.readFileSync(process.argv[2], 'utf8'))();
const T = new Function(
- fs.readFileSync(process.argv[3], 'utf8') + '\nreturn { _verifyRoster };')();
+ // transport.js and the parts split out of it, joined as one scope.
+ process.argv[3].split(require('path').delimiter)
+ .map((p) => fs.readFileSync(p, 'utf8')).join('\n')
+ + '\nreturn { _verifyRoster };')();
(async () => {
const input = JSON.parse(fs.readFileSync(process.argv[4], 'utf8'));
@@ -104,7 +108,7 @@ def _verify(devices, node_pk=NODE_PK):
{"payload": {"devices": devices, "node_pk": node_pk},
"node_pk": node_pk}))
run = subprocess.run(
- ["node", str(h), str(CRYPTO), str(TRANSPORT), str(payload)],
+ ["node", str(h), str(CRYPTO), transport_argv(), str(payload)],
capture_output=True, timeout=60)
assert run.returncode == 0, run.stderr.decode()[-2000:]
return json.loads(run.stdout.decode())