TAP version 13 # Subtest: R6 G1 a granted user signs in, gets the user page and reaches the broker as itself not ok 1 - R6 G1 a granted user signs in, gets the user page and reaches the broker as itself --- duration_ms: 129.678949 type: 'test' location: '/mnt/storage/scratch/launchpad-r294/wt/packages/webui/tests/granted-user.test.mjs:130:1' failureType: 'testCodeFailure' error: "Cannot read properties of undefined (reading 'map')" code: 'ERR_TEST_FAILURE' name: 'TypeError' stack: |- TestContext. (file:///mnt/storage/scratch/launchpad-r294/wt/packages/webui/tests/granted-user.test.mjs:152:38) process.processTicksAndRejections (node:internal/process/task_queues:104:5) async Test.run (node:internal/test_runner/test:1409:7) async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) ... # Subtest: R6 G2 a subject with no live grant in this business is refused subject-unknown # Subtest: a listed user with no grant ok 1 - a listed user with no grant --- duration_ms: 102.308353 type: 'test' ... # Subtest: a grant in another business ok 2 - a grant in another business --- duration_ms: 53.531302 type: 'test' ... # Subtest: an expired grant ok 3 - an expired grant --- duration_ms: 44.641678 type: 'test' ... # Subtest: another user's grant ok 4 - another user's grant --- duration_ms: 68.283139 type: 'test' ... # Subtest: a sub in no file ok 5 - a sub in no file --- duration_ms: 90.290255 type: 'test' ... # Subtest: a file the loader refuses ok 6 - a file the loader refuses --- duration_ms: 41.803535 type: 'test' ... 1..6 ok 2 - R6 G2 a subject with no live grant in this business is refused subject-unknown --- duration_ms: 401.809515 type: 'test' ... # Subtest: R6 G3 a revoke counts on the next request: 401 and the session is gone # Subtest: grant removed ok 1 - grant removed --- duration_ms: 77.095691 type: 'test' ... # Subtest: subject removed ok 2 - subject removed --- duration_ms: 90.099697 type: 'test' ... # Subtest: grant expired ok 3 - grant expired --- duration_ms: 74.152955 type: 'test' ... # Subtest: file now refused ok 4 - file now refused --- duration_ms: 55.749108 type: 'test' ... 1..4 ok 3 - R6 G3 a revoke counts on the next request: 401 and the session is gone --- duration_ms: 297.743475 type: 'test' ... # Subtest: R6 G4 every owner route answers 403 owner-only before any bus call ok 4 - R6 G4 every owner route answers 403 owner-only before any bus call --- duration_ms: 70.614829 type: 'test' ... # Subtest: R6 G5 the bus refuses every owner verb over the user transport on its own ok 5 - R6 G5 the bus refuses every owner verb over the user transport on its own --- duration_ms: 79.166288 type: 'test' ... # Subtest: R6 G9 a user chat sends only the plugins read over the owner transport not ok 6 - R6 G9 a user chat sends only the plugins read over the owner transport --- duration_ms: 75.311089 type: 'test' location: '/mnt/storage/scratch/launchpad-r294/wt/packages/webui/tests/granted-user.test.mjs:279:1' failureType: 'testCodeFailure' error: |- GET /api/chat/threads?project=ec96b734-6752-4afc-bc54-58a188b804a1: {"error":"invalid-response","message":"Chat operation refused (invalid-response)."} 502 !== 200 code: 'ERR_ASSERTION' name: 'AssertionError' expected: 200 actual: 502 operator: 'strictEqual' stack: |- go (file:///mnt/storage/scratch/launchpad-r294/wt/packages/webui/tests/granted-user.test.mjs:285:12) process.processTicksAndRejections (node:internal/process/task_queues:104:5) async TestContext. (file:///mnt/storage/scratch/launchpad-r294/wt/packages/webui/tests/granted-user.test.mjs:291:3) async Test.run (node:internal/test_runner/test:1409:7) async Test.processPendingSubtests (node:internal/test_runner/test:974:7) ... # Subtest: R6 G6 the user page holds the notice word for word ok 7 - R6 G6 the user page holds the notice word for word --- duration_ms: 84.352581 type: 'test' ... # Subtest: R6 G7 the hub label and plain peer links render from config on both pages ok 8 - R6 G7 the hub label and plain peer links render from config on both pages --- duration_ms: 775.624362 type: 'test' ... # Subtest: R6 G8 userCall spawns user-cli directly with the user nonce, no human nonce, and the user request ok 9 - R6 G8 userCall spawns user-cli directly with the user nonce, no human nonce, and the user request --- duration_ms: 40.63858 type: 'test' ... 1..9 # tests 19 # suites 0 # pass 17 # fail 2 # cancelled 0 # skipped 0 # todo 0 # duration_ms 2083.017773 # stderr