Refresh new app_lua xavp api

squeeze-backports
Victor Seva 13 years ago
parent f7fc117dfa
commit ce2de78890

@ -398,6 +398,58 @@ pvMock = {
end
-- end class
-- class xavpMock
xavpMock = {
__class__ = 'xavpMock',
_logger = logging.file("reports/xavp_%s.log", "%Y-%m-%d"),
_logger_levels = {
dbg = logging.DEBUG,
info = logging.INFO,
warn = logging.WARN,
err = logging.ERROR,
crit = logging.FATAL
}
}
function xavpMock:new(pv)
local t = {}
t.__class__ = 'hdrMock'
t.pv = pv
function t._get_xavp(xavp_name, index)
local private_id = "xavp:" .. xavp_name
local real_indx = #t.pv.vars[private_id]._et - index
if not t.pv.vars[private_id] then
error(string.format("%s not found", xavp_name))
elseif not t.pv.vars[private_id]._et[real_indx] then
error(string.format("%s[%d] not found", xavp_name, indx))
end
return t.pv.vars[private_id]._et[real_indx]
end
function t.get_keys(xavp_name, index)
local k,_
local output = {}
xavp = t._get_xavp(xavp_name, index)
for k,_ in pairs(xavp) do
table.insert(output, k)
end
return output
end
function t.get(xavp_name, index)
xavp = t._get_xavp(xavp_name, index)
return xavp
end
xavpMock_MT = { __index = xavpMock }
setmetatable(t, xavpMock_MT)
return t
end
--end class
-- class srMock
srMock = {
__class__ = 'srMock',
@ -421,6 +473,7 @@ srMock_MT = { __index = srMock, __newindex = lemock.controller():mock() }
end
t._logger:log(t._logger_levels[level], message)
end
t.xavp = xavpMock:new(t.pv)
setmetatable(t, srMock_MT)
return t
end

@ -103,5 +103,17 @@ NGCPXAvp_MT = {
sr.pv.unset(string.format("$xavp(%s)", self.name))
sr.pv.sets(string.format("$xavp(%s=>dummy)", self.name), self.level)
end
function NGCPXAvp.__tostring(xavp)
local l,k,v
local output
l = sr.xavp.get(xavp.name, 0)
if l then
output = table.tostring(l)
end
sr.log("dbg", string.format("output:%s", output))
return output
end
-- class
--EOF

@ -277,9 +277,9 @@ TestSRMock = {}
function TestSRMock:test_xavp_sets1()
self.sr.pv.sets("$xavp(g=>hithere)", "value")
assertEquals(self.sr.pv.get("$xavp(g=>hithere)"), "value")
assertEquals(self.sr.pv.get("$xavp(g[0]=>hithere)"), "value")
self.sr.pv.sets("$xavp(g=>hithere)", "value_bye")
assertEquals(self.sr.pv.get("$xavp(g=>hithere)"), "value_bye")
assertEquals(self.sr.pv.get("$xavp(g[0]=>hithere)"), "value_bye")
assertEquals(self.sr.pv.get("$xavp(g[1]=>hithere)"), "value")
end
@ -429,4 +429,53 @@ TestSRMock = {}
assertEquals(self.sr.pv.get("$avp(s:hithere)"), 1)
assertEquals(self.sr.pv.get("$(avp(s:hithere)[*])"), {1})
end
-- end class
TestXAVPMock = {}
function TestXAVPMock:setUp()
self.pv = pvMock:new()
self.xavp = xavpMock:new(self.pv)
self.pv.sets("$xavp(test=>uno)", "uno")
assertEquals(self.pv.get("$xavp(test[0]=>uno)"), "uno")
self.pv.seti("$xavp(test[0]=>dos)", 2)
assertEquals(self.pv.get("$xavp(test[0]=>dos)"), 2)
self.pv.seti("$xavp(test=>uno)", 1)
assertEquals(self.pv.get("$xavp(test[0]=>uno)"), 1)
self.pv.sets("$xavp(test[0]=>dos)", "dos")
assertEquals(self.pv.get("$xavp(test[0]=>dos)"), "dos")
self.pv.seti("$xavp(test[0]=>tres)", 3)
assertEquals(self.pv.get("$xavp(test[0]=>tres)"), 3)
--
assertEquals(self.pv.get("$xavp(test[1]=>uno)"), "uno")
assertEquals(self.pv.get("$xavp(test[1]=>dos)"), 2)
end
function TestXAVPMock:tearDown()
self.pv.vars = {}
end
function TestXAVPMock:test_get_keys()
local l = self.xavp.get_keys("test", 0)
assertTrue(l)
assertItemsEquals(l, {"uno", "dos", "tres"})
end
function TestXAVPMock:test_get_keys_1()
local l = self.xavp.get_keys("test", 1)
assertTrue(l)
assertItemsEquals(l, {"uno", "dos"})
end
function TestXAVPMock:test_get()
local l = self.xavp.get("test", 0)
assertTrue(l)
assertItemsEquals(l, {uno=1, dos="dos", tres=3})
end
function TestXAVPMock:test_get()
local l = self.xavp.get("test", 1)
assertTrue(l)
assertItemsEquals(l, {uno="uno", dos=2})
end
--EOF

@ -95,12 +95,16 @@ TestNGCPXAvp = {} --class
xavp_caller:clean()
assertEquals(sr.pv.get("$xavp(caller_peer=>dummy)"),"caller")
assertEquals(sr.pv.get("$xavp(callee_peer=>dummy)"),"callee")
xavp_callee:clean()
assertEquals(sr.pv.get("$xavp(callee_peer=>dummy)"), "callee")
assertEquals(sr.pv.get("$xavp(caller_peer=>dummy)"), "caller")
end
function TestNGCPXAvp:test_tostring()
local xavp = NGCPXAvp:new("caller", "peer", {})
assertEquals(xavp:__tostring(), '{dummy="caller"}')
end
function TestNGCPXAvp:test_keys()
local xavp = NGCPXAvp:new("caller", "peer", vals)

Loading…
Cancel
Save