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