mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-22 04:05:42 +00:00
* 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...).
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