parent
0921da3182
commit
2d24a0700c
@ -0,0 +1,51 @@
|
|||||||
|
#!/usr/bin/env lua5.1
|
||||||
|
require 'ngcp.xavp'
|
||||||
|
|
||||||
|
-- class NGCPRealPrefs
|
||||||
|
NGCPRealPrefs = {
|
||||||
|
__class__ = 'NGCPRealPrefs'
|
||||||
|
}
|
||||||
|
NGCPRealPrefs_MT = { __index = NGCPRealPrefs }
|
||||||
|
|
||||||
|
function NGCPRealPrefs:new()
|
||||||
|
local t = {}
|
||||||
|
return setmetatable( t, NGCPRealPrefs_MT )
|
||||||
|
end
|
||||||
|
|
||||||
|
function NGCPRealPrefs:caller_load(keys)
|
||||||
|
return NGCPRealPrefs:_load("caller", keys)
|
||||||
|
end
|
||||||
|
|
||||||
|
function NGCPRealPrefs:callee_load(keys)
|
||||||
|
return NGCPRealPrefs:_load("callee", keys)
|
||||||
|
end
|
||||||
|
|
||||||
|
function NGCPRealPrefs:_load(level, keys)
|
||||||
|
local _,v
|
||||||
|
local xavp = {
|
||||||
|
real = NGCPXAvp:new(level,'real', {}),
|
||||||
|
domain = NGCPXAvp:new(level,'domain', {}),
|
||||||
|
user = NGCPXAvp:new(level,'user', {}),
|
||||||
|
}
|
||||||
|
local real_keys = {}
|
||||||
|
local value
|
||||||
|
for _,v in pairs(keys) do
|
||||||
|
value = xavp.user(v)
|
||||||
|
if not value then
|
||||||
|
value = xavp.domain(v)
|
||||||
|
end
|
||||||
|
if value then
|
||||||
|
table.add(real_keys, v)
|
||||||
|
xavp.real(v, value)
|
||||||
|
else
|
||||||
|
sr.log("err", string.format("key:%s not in user or domain", v))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return real_keys
|
||||||
|
end
|
||||||
|
|
||||||
|
function NGCPRealPrefs:clean()
|
||||||
|
sr.pv.unset("$xavp(real)")
|
||||||
|
end
|
||||||
|
-- class
|
||||||
|
--EOF
|
@ -0,0 +1,124 @@
|
|||||||
|
#!/usr/bin/env lua5.1
|
||||||
|
require('luaunit')
|
||||||
|
require 'ngcp.utils'
|
||||||
|
require 'ngcp.rp'
|
||||||
|
require 'tests_v.dp_vars'
|
||||||
|
require 'tests_v.up_vars'
|
||||||
|
|
||||||
|
if not sr then
|
||||||
|
require 'mocks.sr'
|
||||||
|
sr = srMock:new()
|
||||||
|
else
|
||||||
|
require 'lemock'
|
||||||
|
argv = {}
|
||||||
|
end
|
||||||
|
local mc = nil
|
||||||
|
|
||||||
|
PFetch = {
|
||||||
|
__class__ = 'PFetch',
|
||||||
|
_i = { domain=1, user=1 },
|
||||||
|
_var = { domain=dp_vars, user=up_vars}
|
||||||
|
}
|
||||||
|
function PFetch:new()
|
||||||
|
local t = {}
|
||||||
|
return setmetatable(t, { __index = PFetch })
|
||||||
|
end
|
||||||
|
|
||||||
|
function PFetch:val(group, uuid)
|
||||||
|
if not self._i[group] then
|
||||||
|
error(string.format("group:%s unknown", group))
|
||||||
|
end
|
||||||
|
self._i[group] = self._i[group] + 1
|
||||||
|
local temp = self._var[group][uuid][self._i[group]-1]
|
||||||
|
if not temp then
|
||||||
|
print("var nil")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function PFetch:reset(group)
|
||||||
|
self._i[group] = 1
|
||||||
|
end
|
||||||
|
|
||||||
|
TestNGCPRealPrefs = {} --class
|
||||||
|
|
||||||
|
function TestNGCPRealPrefs:setUp()
|
||||||
|
self.real = NGCPRealPrefs:new()
|
||||||
|
end
|
||||||
|
|
||||||
|
function TestNGCPRealPrefs:tearDown()
|
||||||
|
sr.pv.vars = {}
|
||||||
|
end
|
||||||
|
|
||||||
|
function TestNGCPRealPrefs:test_caller_load()
|
||||||
|
local keys = {"uno"}
|
||||||
|
local xavp = {
|
||||||
|
domain = NGCPXAvp:new("caller", "domain", {}),
|
||||||
|
user = NGCPXAvp:new("caller", "user", {}),
|
||||||
|
real = NGCPXAvp:new("caller", "real", {})
|
||||||
|
}
|
||||||
|
xavp.domain("uno",1)
|
||||||
|
assertEquals(sr.pv.get("$xavp(domain[0]=>uno)"),1)
|
||||||
|
xavp.user("uno",2)
|
||||||
|
assertEquals(sr.pv.get("$xavp(user[0]=>uno)"),2)
|
||||||
|
local real_keys = self.real:caller_load(keys)
|
||||||
|
assertEquals(real_keys, keys)
|
||||||
|
assertEquals(xavp.real("uno"),2)
|
||||||
|
end
|
||||||
|
|
||||||
|
function TestNGCPRealPrefs:test_caller_load1()
|
||||||
|
local keys = {"uno", "dos"}
|
||||||
|
local xavp = {
|
||||||
|
domain = NGCPXAvp:new("caller", "domain", {}),
|
||||||
|
user = NGCPXAvp:new("caller", "user", {}),
|
||||||
|
real = NGCPXAvp:new("caller", "real", {})
|
||||||
|
}
|
||||||
|
xavp.domain("uno",1)
|
||||||
|
assertEquals(sr.pv.get("$xavp(domain[0]=>uno)"),1)
|
||||||
|
xavp.user("dos",2)
|
||||||
|
assertEquals(sr.pv.get("$xavp(user[0]=>dos)"),2)
|
||||||
|
local real_keys = self.real:caller_load(keys)
|
||||||
|
assertEquals(real_keys, keys)
|
||||||
|
assertEquals(xavp.real("uno"),1)
|
||||||
|
assertEquals(xavp.real("dos"),2)
|
||||||
|
end
|
||||||
|
|
||||||
|
function TestNGCPRealPrefs:test_callee_load()
|
||||||
|
local keys = {"uno"}
|
||||||
|
local xavp = {
|
||||||
|
domain = NGCPXAvp:new("callee", "domain", {}),
|
||||||
|
user = NGCPXAvp:new("callee", "user", {}),
|
||||||
|
real = NGCPXAvp:new("callee", "real", {})
|
||||||
|
}
|
||||||
|
xavp.domain("uno",1)
|
||||||
|
assertEquals(sr.pv.get("$xavp(domain[1]=>uno)"),1)
|
||||||
|
xavp.user("uno",2)
|
||||||
|
assertEquals(sr.pv.get("$xavp(user[1]=>uno)"),2)
|
||||||
|
local real_keys = self.real:callee_load(keys)
|
||||||
|
assertEquals(real_keys, keys)
|
||||||
|
assertEquals(xavp.real("uno"),2)
|
||||||
|
end
|
||||||
|
|
||||||
|
function TestNGCPRealPrefs:test_callee_load1()
|
||||||
|
local keys = {"uno", "dos"}
|
||||||
|
local xavp = {
|
||||||
|
domain = NGCPXAvp:new("callee", "domain", {}),
|
||||||
|
user = NGCPXAvp:new("callee", "user", {}),
|
||||||
|
real = NGCPXAvp:new("callee", "real", {})
|
||||||
|
}
|
||||||
|
xavp.domain("uno",1)
|
||||||
|
assertEquals(sr.pv.get("$xavp(domain[1]=>uno)"),1)
|
||||||
|
xavp.user("dos",2)
|
||||||
|
assertEquals(sr.pv.get("$xavp(user[1]=>dos)"),2)
|
||||||
|
local real_keys = self.real:callee_load(keys)
|
||||||
|
assertEquals(real_keys, keys)
|
||||||
|
assertEquals(xavp.real("uno"),1)
|
||||||
|
assertEquals(xavp.real("dos"),2)
|
||||||
|
end
|
||||||
|
-- class TestNGCPRealPrefs
|
||||||
|
|
||||||
|
---- Control test output:
|
||||||
|
lu = LuaUnit
|
||||||
|
lu:setOutputType( "TAP" )
|
||||||
|
lu:setVerbosity( 1 )
|
||||||
|
lu:run()
|
||||||
|
--EOF
|
Loading…
Reference in new issue