A little hack to test OpenResty scripts with busted.
By overriding the
busted executable with the one shipped with this module, busted runs with the resty-cli interpreter, which can execute Lua scripts written for OpenResty from the CLI.
By default, the script is installed under
/usr/local/bin. You can use the Makefile variables (also from Luarocks) to install it somewhere else.
$ luarocks install lua-resty-busted
$ make install
Manually: just copy the
bin/busted script somewhere in your
describe("openresty script", function() it("should run in ngx_lua context", function() assert.equal(0, ngx.OK) assert.equal(200, ngx.HTTP_OK) end) it("should wait", function() ngx.sleep(3) assert.is_true(1 == 1) end) end)
From resty-cli's documentation:
The Lua code is initiated by the init_worker_by_lua directive and run in the context of ngx.timer callback. So all of ngx_lua's Lua APIs available in the ngx.timer callback context are also available in the resty utility. We may remove some of the remaining limitations in the future though.