35 lines
871 B
Lua
35 lines
871 B
Lua
local original_ngx = ngx
|
|
local function reset_ngx()
|
|
_G.ngx = original_ngx
|
|
end
|
|
|
|
local function mock_ngx(mock)
|
|
local _ngx = mock
|
|
setmetatable(_ngx, { __index = ngx })
|
|
_G.ngx = _ngx
|
|
end
|
|
|
|
describe("lua_ngx_var", function()
|
|
local util = require("util")
|
|
|
|
before_each(function()
|
|
mock_ngx({ var = { remote_addr = "192.168.1.1", [1] = "nginx/regexp/1/group/capturing" } })
|
|
end)
|
|
|
|
after_each(function()
|
|
reset_ngx()
|
|
package.loaded["monitor"] = nil
|
|
end)
|
|
|
|
it("returns value of nginx var by key", function()
|
|
assert.equal("192.168.1.1", util.lua_ngx_var("$remote_addr"))
|
|
end)
|
|
|
|
it("returns value of nginx var when key is number", function()
|
|
assert.equal("nginx/regexp/1/group/capturing", util.lua_ngx_var("$1"))
|
|
end)
|
|
|
|
it("returns nil when variable is not defined", function()
|
|
assert.equal(nil, util.lua_ngx_var("$foo_bar"))
|
|
end)
|
|
end)
|