Files
bruno/packages/bruno-tests
lohit 479fc160d7 fix: isJson assertion fails after res.setBody() with object in node-vm (#7191)
* fix: isJson assertion fails after res.setBody() with object in node-vm

Objects created inside Node's vm.createContext() have a different Object
constructor than the host realm. When res.setBody() is called with a JS
object from a script, _.cloneDeep preserves the cross-realm prototype,
causing obj.constructor === Object to fail in the isJson assertion.

Replace with Object.prototype.toString.call() which is cross-realm safe.

* fix: register isJson chai assertion in QuickJS test runtime

The bundled chai in QuickJS only exposes { expect, assert } via
requireObject — no Assertion class. Access the prototype through
Object.getPrototypeOf(expect(null)) and use Object.defineProperty
to register the json property directly.

* fix: enable assertion chaining on isJson in QuickJS runtime

The QuickJS isJson property getter was missing `return this`, preventing
chai assertion chaining (e.g. expect(body).to.be.json.and...).
2026-02-18 17:24:08 +05:30
..
2024-01-29 13:34:55 +05:30
2025-09-07 23:06:44 +05:30
2024-01-29 13:36:45 +05:30

bruno-tests

This package is used to test the Bruno CLI. We have a collection that sits in the collection directory.

Test Server

This will start the server on port 80 which exposes endpoints that the collection will hit.

# install node dependencies
npm install

# start server
npm start

Run Bru CLI on Collection

cd collection

# run collection against local server
node ../../bruno-cli/bin/bru.js run --env Local --output junit.xml --format junit

# run collection against prod server hosted at https://testbench.usebruno.com
node ../../bruno-cli/bin/bru.js run --env Prod --output junit.xml --format junit

License

MIT