Merge pull request #2830 from ElvinEfendi/remove-lua-mocks
Remove lua mocks
This commit is contained in:
commit
2e34382db6
15 changed files with 25 additions and 71 deletions
13
build/busted
13
build/busted
|
@ -1,3 +1,16 @@
|
||||||
#!/usr/bin/env resty
|
#!/usr/bin/env resty
|
||||||
|
|
||||||
|
local ffi = require("ffi")
|
||||||
|
|
||||||
|
-- without this we get errors such as "attempt to redefine XXX"
|
||||||
|
local old_cdef = ffi.cdef
|
||||||
|
local exists = {}
|
||||||
|
ffi.cdef = function(def)
|
||||||
|
if exists[def] then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
exists[def] = true
|
||||||
|
return old_cdef(def)
|
||||||
|
end
|
||||||
|
|
||||||
require "busted.runner"({ standalone = false })
|
require "busted.runner"({ standalone = false })
|
||||||
|
|
|
@ -18,7 +18,11 @@ set -o errexit
|
||||||
set -o nounset
|
set -o nounset
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
export LUA_PATH="/usr/local/lib/lua/?.lua;;"
|
resty \
|
||||||
export LUA_CPATH="/usr/local/lib/lua/?.so;/usr/lib/lua-platform-path/lua/5.1/?.so;;"
|
-I ./rootfs/etc/nginx/lua \
|
||||||
|
-I /usr/local/lib/lua \
|
||||||
resty ./build/busted ${BUSTED_ARGS} ./rootfs/etc/nginx/lua/test;
|
-I /usr/lib/lua-platform-path/lua/5.1 \
|
||||||
|
--shdict "configuration_data 5M" \
|
||||||
|
--shdict "balancer_ewma 1M" \
|
||||||
|
--shdict "balancer_ewma_last_touched_at 1M" \
|
||||||
|
./build/busted ${BUSTED_ARGS} ./rootfs/etc/nginx/lua/test/
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
package.path = "./rootfs/etc/nginx/lua/?.lua;./rootfs/etc/nginx/lua/test/mocks/?.lua;" .. package.path
|
|
||||||
|
|
||||||
describe("Balancer chash", function()
|
describe("Balancer chash", function()
|
||||||
local balancer_chash = require("balancer.chash")
|
local balancer_chash = require("balancer.chash")
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,5 @@
|
||||||
package.path = "./rootfs/etc/nginx/lua/?.lua;./rootfs/etc/nginx/lua/test/mocks/?.lua;" .. package.path
|
|
||||||
|
|
||||||
local util = require("util")
|
local util = require("util")
|
||||||
|
|
||||||
local _ngx = {
|
|
||||||
shared = {
|
|
||||||
balancer_ewma = { flush_all = function() end },
|
|
||||||
balancer_ewma_last_touched_at = { flush_all = function() end }
|
|
||||||
},
|
|
||||||
log = function(...) end,
|
|
||||||
now = function() return os.time() end,
|
|
||||||
}
|
|
||||||
_G.ngx = _ngx
|
|
||||||
|
|
||||||
describe("Balancer ewma", function()
|
describe("Balancer ewma", function()
|
||||||
local balancer_ewma = require("balancer.ewma")
|
local balancer_ewma = require("balancer.ewma")
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,5 @@
|
||||||
package.path = "./rootfs/etc/nginx/lua/?.lua;./rootfs/etc/nginx/lua/test/mocks/?.lua;" .. package.path
|
|
||||||
_G._TEST = true
|
_G._TEST = true
|
||||||
|
|
||||||
local _ngx = {
|
|
||||||
shared = {},
|
|
||||||
log = function(...) end,
|
|
||||||
}
|
|
||||||
_G.ngx = _ngx
|
|
||||||
|
|
||||||
local balancer, expected_implementations, backends
|
local balancer, expected_implementations, backends
|
||||||
|
|
||||||
local function reset_balancer()
|
local function reset_balancer()
|
||||||
|
@ -92,10 +85,10 @@ describe("Balancer", function()
|
||||||
|
|
||||||
local s_old = spy.on(implementation, "new")
|
local s_old = spy.on(implementation, "new")
|
||||||
local s = spy.on(new_implementation, "new")
|
local s = spy.on(new_implementation, "new")
|
||||||
local s_ngx_log = spy.on(_G.ngx, "log")
|
local s_ngx_log = spy.on(ngx, "log")
|
||||||
|
|
||||||
assert.has_no.errors(function() balancer.sync_backend(backend) end)
|
assert.has_no.errors(function() balancer.sync_backend(backend) end)
|
||||||
assert.spy(s_ngx_log).was_called_with(ngx.ERR,
|
assert.spy(s_ngx_log).was_called_with(ngx.INFO,
|
||||||
"LB algorithm changed from round_robin to ewma, resetting the instance")
|
"LB algorithm changed from round_robin to ewma, resetting the instance")
|
||||||
-- TODO(elvinefendi) figure out why
|
-- TODO(elvinefendi) figure out why
|
||||||
-- assert.spy(s).was_called_with(new_implementation, backend) does not work here
|
-- assert.spy(s).was_called_with(new_implementation, backend) does not work here
|
||||||
|
|
|
@ -1,13 +1,5 @@
|
||||||
package.path = "./rootfs/etc/nginx/lua/?.lua;./rootfs/etc/nginx/lua/test/mocks/?.lua;" .. package.path
|
|
||||||
_G._TEST = true
|
_G._TEST = true
|
||||||
local defer = require('util.defer')
|
local defer = require("util.defer")
|
||||||
|
|
||||||
local _ngx = {
|
|
||||||
shared = {},
|
|
||||||
log = function(...) end,
|
|
||||||
get_phase = function() return "timer" end,
|
|
||||||
}
|
|
||||||
_G.ngx = _ngx
|
|
||||||
|
|
||||||
describe("Defer", function()
|
describe("Defer", function()
|
||||||
describe("to_timer_phase", function()
|
describe("to_timer_phase", function()
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
return {}
|
|
|
@ -1,3 +0,0 @@
|
||||||
return {
|
|
||||||
new = function(self, nodes) return {} end
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
return {}
|
|
|
@ -1,3 +0,0 @@
|
||||||
return {
|
|
||||||
new = function(self, name, ...) return {} end,
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
return {}
|
|
|
@ -1,3 +0,0 @@
|
||||||
return {
|
|
||||||
new = function(self, nodes) return {} end
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
return {}
|
|
|
@ -1 +0,0 @@
|
||||||
return {}
|
|
|
@ -1,25 +1,5 @@
|
||||||
package.path = "./rootfs/etc/nginx/lua/?.lua;./rootfs/etc/nginx/lua/test/mocks/?.lua;" .. package.path
|
|
||||||
_G._TEST = true
|
_G._TEST = true
|
||||||
local cjson = require('cjson')
|
local cjson = require("cjson")
|
||||||
|
|
||||||
local function udp_mock()
|
|
||||||
return {
|
|
||||||
setpeername = function(...) return true end,
|
|
||||||
send = function(payload) return payload end,
|
|
||||||
close = function(...) return true end
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
local _ngx = {
|
|
||||||
shared = {},
|
|
||||||
log = function(...) end,
|
|
||||||
socket = {
|
|
||||||
udp = udp_mock
|
|
||||||
},
|
|
||||||
get_phase = function() return "timer" end,
|
|
||||||
var = {}
|
|
||||||
}
|
|
||||||
_G.ngx = _ngx
|
|
||||||
|
|
||||||
describe("Monitor", function()
|
describe("Monitor", function()
|
||||||
local monitor = require("monitor")
|
local monitor = require("monitor")
|
||||||
|
|
Loading…
Reference in a new issue