command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/web.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/oEntjx
launch nice: 19
✔ web.search: a granted role gets labelled results, and the call is trailed with role, run, verb and query (37.047923ms)
✔ web.fetch: a granted role gets the page as labelled text, and the call is trailed with the url (24.072993ms)
✔ a role without the grant is refused, the refusal is logged with the verb, and nothing is fetched (24.3007ms)
✔ a broker with no web service refuses a granted role (17.202617ms)
✔ bad requests are refused: unknown verb, extra or missing argument, not a string, a human or reader session (21.472761ms)
✔ a session that is not the role holder is refused (14.67075ms)
✔ web.mjs's fences hold on the broker side: refusals are normal results with the fixed reason (46.413077ms)
✔ web.search with no search source configured is a refused result, not an error (17.971724ms)
✔ a search source that fails with its own refusal, or that throws, is handled (19.754583ms)
✔ a slow search source ends in a refusal at the deadline (65.067966ms)
✔ a secret in the arguments is refused before anything is trailed or fetched (13.498936ms)
✔ over the socket: the server routes web verbs to the service; other roles are refused; no service is web-not-configured (69.388444ms)
✔ busBusiness: the web grant comes from "web" in the resolved tool limit (0.279509ms)
✔ webServices: the business's search-source plug-in and web.searxng var make web.search work; without either it is refused as not configured (57.765021ms)
✔ an ungranted call is refused at once: no admission, no wait, nothing touched (22.702274ms)
✔ over the socket an ungranted caller is dropped by the server timeout and a granted one gets the longer wait (357.502815ms)
✔ a search that never answers is aborted at the deadline, the module sees the signal, and the call is trailed as refused (timeout) (75.938607ms)
✔ a fetch that stalls is cut off at the deadline: the request is destroyed, not left running (94.913527ms)
✔ one query limit: over SEARCH_MAX_QUERY_CHARS or empty is refused with the same reason before any backend, and the tool schema carries the same number (18.331225ms)
ℹ tests 19
ℹ suites 0
ℹ pass 19
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1140.691799
