Remove creation of avps. Fix default creation.

ngcp3.0
Victor Seva 12 years ago
parent 6888a74fcf
commit 0abf856f7d

@ -41,11 +41,25 @@ NGCPDomainPrefs_MT.__tostring = function ()
return NGCPDomainPrefs._load(self,"callee",uuid) return NGCPDomainPrefs._load(self,"callee",uuid)
end end
function NGCPDomainPrefs:_get_defaults(level)
local defaults = self.config:get_defaults('dom')
local keys = {}
local k,_
if defaults then
self:xavp(level, defaults)
for k,_ in pairs(defaults) do
table.insert(keys, k)
end
end
return keys
end
function NGCPDomainPrefs:_load(level, uuid) function NGCPDomainPrefs:_load(level, uuid)
local con = assert (self.config:getDBConnection()) local con = self.config:getDBConnection()
local query = "SELECT * FROM " .. self.db_table .. " WHERE domain ='" .. uuid .."'" local query = "SELECT * FROM " .. self.db_table .. " WHERE domain ='" .. uuid .."'"
local cur = assert (con:execute(query)) local cur = con:execute(query)
local keys = {} local keys = self:_get_defaults(level)
local result = {} local result = {}
local row = cur:fetch({}, "a") local row = cur:fetch({}, "a")
@ -59,9 +73,10 @@ NGCPDomainPrefs_MT.__tostring = function ()
else else
sr.log("dbg", string.format("no results for query:%s", query)) sr.log("dbg", string.format("no results for query:%s", query))
end end
NGCPDomainPrefs:xavp(level, result)
cur:close() cur:close()
con:close() con:close()
self:xavp(level, result)
return keys return keys
end end

@ -22,20 +22,24 @@ NGCPConfig_MT = { __index = NGCPConfig }
db_pass = "somepasswd", db_pass = "somepasswd",
db_database = "kamailio", db_database = "kamailio",
default = { default = {
sst_enable = "yes", all = {
sst_expires = 300, sst_enable = "yes",
sst_min_timer = 90, sst_expires = 300,
sst_max_timer = 7200, sst_min_timer = 90,
sst_refresh_method = "UPDATE_FALLBACK_INVITE", sst_max_timer = 7200,
outbound_from_user = "npn", sst_refresh_method = "UPDATE_FALLBACK_INVITE",
inbound_upn = "from_user", outbound_from_user = "npn",
inbound_npn = "from_user", inbound_upn = "from_user",
inbound_uprn = "from_user", inbound_npn = "from_user",
ip_header = "P-NGCP-Src-Ip", inbound_uprn = "from_user",
account_id = 0, ip_header = "P-NGCP-Src-Ip",
ext_subscriber_id = "", },
ext_contract_id = "", real = {
ringtimeout = 180, account_id = 0,
ext_subscriber_id = "",
ext_contract_id = "",
ringtimeout = 180,
}
} }
} }
setmetatable( t, NGCPConfig_MT ) setmetatable( t, NGCPConfig_MT )
@ -45,8 +49,24 @@ NGCPConfig_MT = { __index = NGCPConfig }
function NGCPConfig:getDBConnection() function NGCPConfig:getDBConnection()
local env = assert (luasql.mysql()) local env = assert (luasql.mysql())
sr.log("dbg","connecting to mysql") sr.log("dbg","connecting to mysql")
return assert (env:connect( self.db_database, return env:connect( self.db_database,
self.db_username, self.db_pass, self.db_host, self.db_port)) self.db_username, self.db_pass, self.db_host, self.db_port)
end
function NGCPConfig:get_defaults(vtype)
local k,v
local defs = table.deepcopy(self.default.all)
if (vtype == 'dom' or vtype == 'usr') then
vtype = 'real'
end
if self.default.vtype then
for k,v in pairs(default.vtype) do
defs[k] = v
end
end
return defs
end end
-- class -- class
@ -81,82 +101,22 @@ end
peer = NGCPPeerPrefs:new(t.config), peer = NGCPPeerPrefs:new(t.config),
real = NGCPRealPrefs:new(), real = NGCPRealPrefs:new(),
} }
t.vars = {
caller_peer_load = {
caller_peer_prefs = {
}
},
callee_peer_load = {
callee_peer_prefs = {
}
},
caller_usr_load = {
caller_usr_prefs = {
},
caller_real_prefs = {
}
},
callee_usr_load = {
callee_usr_prefs = {
},
callee_real_prefs = {
}
}
}
return t return t
end end
function NGCP:_set_vars(indx)
local _,k,v, default, xvap, var
for k,var in pairs(self.vars[indx]) do
for _,v in pairs(var) do
if not v[3] then
default = self.config.default[v[2]]
else
default = v[3]
end
if v[2] then
xavp = k .. "=>" .. v[2]
else
xavp = nil
end
NGCPPrefs.set_avp(v[1], xavp, default)
end
end
end
-- value 0 is like null?
-- if 0 => use dom pref if not 0
function NGCP._set_dom_priority(var, xavp, pref)
local avp = NGCPAvp:new(var)
local value
if avp() == 0 then
value = xavp(pref)
if not value and value ~= 0 then
avp:clean()
avp(value)
end
end
end
function NGCP:caller_peer_load(peer) function NGCP:caller_peer_load(peer)
local _,v, default, xvap local _,v, xvap
local keys = self.prefs.peer:caller_load(peer) local keys = self.prefs.peer:caller_load(peer)
local vars = self.vars.caller_peer_load
self.prefs.real:caller_peer_load(keys) self.prefs.real:caller_peer_load(keys)
self:_set_vars("caller_peer_load")
return keys return keys
end end
function NGCP:callee_peer_load(peer) function NGCP:callee_peer_load(peer)
local _,v, default, xvap local _,v, xvap
local keys = self.prefs.peer:callee_load(peer) local keys = self.prefs.peer:callee_load(peer)
local vars = self.vars.callee_peer_load
self.prefs.real:callee_peer_load(keys) self.prefs.real:callee_peer_load(keys)
self:_set_vars("callee_peer_load")
return keys return keys
end end
@ -172,15 +132,8 @@ end
table.add(unique_keys, v) table.add(unique_keys, v)
end end
self.prefs.real:caller_usr_load(unique_keys) self.prefs.real:caller_usr_load(unique_keys)
self:_set_vars("caller_usr_load")
local xavp = NGCPXAvp:new('caller', 'dom') local xavp = NGCPXAvp:new('caller', 'dom')
-- if 0 => use dom pref if not 0
NGCP._set_dom_priority("caller_concurrent_max", xavp, "concurrent_max")
NGCP._set_dom_priority("caller_concurrent_max_out", xavp, "concurrent_max_out")
NGCP._set_dom_priority("caller_concurrent_max_per_account", xavp, "concurrent_max_per_account")
NGCP._set_dom_priority("caller_concurrent_max_per_account_out", xavp, "concurrent_max_per_account_out")
return unique_keys return unique_keys
end end
@ -196,11 +149,6 @@ end
table.add(unique_keys, v) table.add(unique_keys, v)
end end
self.prefs.real:callee_usr_load(unique_keys) self.prefs.real:callee_usr_load(unique_keys)
self:_set_vars("callee_usr_load")
-- if 0 => use dom pref if not 0
NGCP._set_dom_priority("callee_concurrent_max", xavp, "concurrent_max")
NGCP._set_dom_priority("callee_concurrent_max_per_account", xavp, "concurrent_max_per_account")
return unique_keys return unique_keys
end end
@ -235,81 +183,15 @@ end
end end
end end
function NGCP:_str_var(vtype, group)
local _, v, var, vars_index, avp
local output = "{"
vars_index = vtype .. "_" .. group .. "_load"
if self.vars[vars_index] then
for _,v in pairs(self.vars[vars_index]) do
for _,var in pairs(v) do
avp = NGCPAvp:new(var[1])
output = output .. tostring(avp) .. ","
end
end
end
output = output .. "}\n"
return output
end
function NGCP:log_var(level, vtype, group)
local vtypes, groups
local _,vt,gr
if not level then
level = "dbg"
end
if not vtype then
vtypes = {"caller", "callee"}
else
vtypes = { vtype }
end
if not group then
groups = { "peer", "usr"}
else
groups = { group }
end
for _,vt in pairs(vtypes) do
for _,gr in pairs(groups) do
sr.log(level, self:_str_var(vt, gr))
end
end
end
function NGCP:clean_vars(vtype, group)
local _, v, var, vars_index, avp
vars_index = vtype .. "_" .. group .. "_load"
if self.vars[vars_index] then
for _,v in pairs(self.vars[vars_index]) do
for _,var in pairs(v) do
avp = NGCPAvp:new(var[1])
avp:clean()
end
end
end
end
function NGCP:clean(vtype, group) function NGCP:clean(vtype, group)
local _,k,v local _,k,v
if not group then if not group then
for k,v in pairs(self.prefs) do for k,v in pairs(self.prefs) do
v:clean(vtype) v:clean(vtype)
if not vtype then
self:clean_vars('caller', k)
self:clean_vars('callee', k)
else
self:clean_vars(vtype, k)
end
end end
else else
if self.prefs[group] then if self.prefs[group] then
self.prefs[group]:clean(vtype) self.prefs[group]:clean(vtype)
if not vtype then
self:clean_vars('caller', group)
self:clean_vars('callee', group)
else
self:clean_vars(vtype, group)
end
else else
error(string.format("unknown group:%s", group)) error(string.format("unknown group:%s", group))
end end

@ -43,11 +43,25 @@ NGCPPeerPrefs_MT.__tostring = function ()
end end
end end
function NGCPPeerPrefs:_get_defaults(level)
local defaults = self.config:get_defaults('peer')
local keys = {}
local k,_
if defaults then
self:xavp(level, defaults)
for k,_ in pairs(defaults) do
table.insert(keys, k)
end
end
return keys
end
function NGCPPeerPrefs:_load(level, uuid) function NGCPPeerPrefs:_load(level, uuid)
local con = assert (self.config:getDBConnection()) local con = assert (self.config:getDBConnection())
local query = "SELECT * FROM " .. self.db_table .. " WHERE uuid = '" .. uuid .. "'" local query = "SELECT * FROM " .. self.db_table .. " WHERE uuid = '" .. uuid .. "'"
local cur = assert (con:execute(query)) local cur = assert (con:execute(query))
local keys = {} local keys = self:_get_defaults(level)
local result = {} local result = {}
local row = cur:fetch({}, "a") local row = cur:fetch({}, "a")

@ -14,23 +14,5 @@ NGCPPrefs_MT = { __index = NGCPPrefs }
xavp = NGCPXAvp.init(v,group) xavp = NGCPXAvp.init(v,group)
end end
end end
function NGCPPrefs.set_avp(avp_name, xavp_name, default)
local xavp
local avp = NGCPAvp:new(avp_name)
if xavp_name then
xavp = sr.pv.get("$xavp(" .. xavp_name .. ")")
else
avp:clean()
return
end
if default and not xavp then
avp(default)
else
avp(xavp)
end
end
-- class -- class
--EOF --EOF

@ -41,11 +41,25 @@ NGCPUserPrefs_MT.__tostring = function ()
return NGCPUserPrefs._load(self,"callee",uuid) return NGCPUserPrefs._load(self,"callee",uuid)
end end
function NGCPUserPrefs:_get_defaults(level)
local defaults = self.config:get_defaults('usr')
local keys = {}
local k,_
if defaults then
self:xavp(level, defaults)
for k,_ in pairs(defaults) do
table.insert(keys, k)
end
end
return keys
end
function NGCPUserPrefs:_load(level, uuid) function NGCPUserPrefs:_load(level, uuid)
local con = assert (self.config:getDBConnection()) local con = assert (self.config:getDBConnection())
local query = "SELECT * FROM " .. self.db_table .. " WHERE uuid ='" .. uuid .. "'" local query = "SELECT * FROM " .. self.db_table .. " WHERE uuid ='" .. uuid .. "'"
local cur = assert (con:execute(query)) local cur = assert (con:execute(query))
local keys = {} local keys = self:_get_defaults(level)
local result = {} local result = {}
local row = cur:fetch({}, "a") local row = cur:fetch({}, "a")
@ -59,7 +73,7 @@ NGCPUserPrefs_MT.__tostring = function ()
else else
sr.log("dbg", string.format("no results for query:%s", query)) sr.log("dbg", string.format("no results for query:%s", query))
end end
NGCPUserPrefs:xavp(level,result) self:xavp(level,result)
cur:close() cur:close()
con:close() con:close()
return keys return keys

@ -18,7 +18,6 @@ local mc,env
TestNGCP = {} --class TestNGCP = {} --class
function TestNGCP:setUp() function TestNGCP:setUp()
sr.log("dbg", "TestNGCP:setUp")
mc = lemock.controller() mc = lemock.controller()
env = mc:mock() env = mc:mock()
self.con = mc:mock() self.con = mc:mock()
@ -41,7 +40,6 @@ TestNGCP = {} --class
end end
function TestNGCP:tearDown() function TestNGCP:tearDown()
sr.log("dbg", "TestNGCP:tearDown")
sr.pv.unset("$xavp(caller_dom_prefs)") sr.pv.unset("$xavp(caller_dom_prefs)")
sr.pv.unset("$xavp(callee_dom_prefs)") sr.pv.unset("$xavp(callee_dom_prefs)")
sr.pv.unset("$xavp(caller_peer_prefs)") sr.pv.unset("$xavp(caller_peer_prefs)")
@ -55,6 +53,22 @@ TestNGCP = {} --class
function TestNGCP:test_config() function TestNGCP:test_config()
assertTrue(self.ngcp.config) assertTrue(self.ngcp.config)
assertEquals(self.ngcp.config.default.all.sst_enable, "yes")
end
function TestNGCP:test_config_get_defaults_all()
local defaults = NGCPConfig.get_defaults(self.ngcp.config, 'peer')
assertItemsEquals(defaults, self.ngcp.config.default.all)
end
function TestNGCP:test_config_get_defaults_real()
local defaults = NGCPConfig.get_defaults(self.ngcp.config, 'usr')
local real_defaults = table.deepcopy(self.ngcp.config.default.all)
local k,v
for k,v in pairs(self.ngcp.config.default.real) do
real_defaults[k] = v
end
assertItemsEquals(defaults, real_defaults)
end end
function TestNGCP:test_prefs_init() function TestNGCP:test_prefs_init()
@ -111,12 +125,9 @@ TestNGCP = {} --class
assertEquals(sr.pv.get("$xavp(caller_usr_prefs=>dummy)"), "caller") assertEquals(sr.pv.get("$xavp(caller_usr_prefs=>dummy)"), "caller")
assertEquals(sr.pv.get("$xavp(caller_real_prefs=>account_id)"), 2) assertEquals(sr.pv.get("$xavp(caller_real_prefs=>account_id)"), 2)
assertEquals(sr.pv.get("$avp(s:caller_account_id)"), 2)
assertEquals(sr.pv.get("$xavp(caller_real_prefs=>cli)"), "4311001") assertEquals(sr.pv.get("$xavp(caller_real_prefs=>cli)"), "4311001")
assertEquals(sr.pv.get("$xavp(caller_real_prefs=>cc)"), "43") assertEquals(sr.pv.get("$xavp(caller_real_prefs=>cc)"), "43")
assertEquals(sr.pv.get("$avp(s:caller_cc)"), "43")
assertEquals(sr.pv.get("$xavp(caller_real_prefs=>ac)"), "1") assertEquals(sr.pv.get("$xavp(caller_real_prefs=>ac)"), "1")
assertEquals(sr.pv.get("$avp(s:caller_ac)"), "1")
assertEquals(sr.pv.get("$xavp(caller_real_prefs=>no_nat_sipping)"), "no") assertEquals(sr.pv.get("$xavp(caller_real_prefs=>no_nat_sipping)"), "no")
end end
@ -242,15 +253,7 @@ TestNGCP = {} --class
assertEquals(sr.pv.get("$avp(s:callee_cfb)"),nil) assertEquals(sr.pv.get("$avp(s:callee_cfb)"),nil)
assertEquals(sr.pv.get("$xavp(caller_usr_prefs=>dummy)"),"caller") assertEquals(sr.pv.get("$xavp(caller_usr_prefs=>dummy)"),"caller")
assertEquals(sr.pv.get("$xavp(callee_usr_prefs=>dummy)"),"callee") assertEquals(sr.pv.get("$xavp(callee_usr_prefs=>dummy)"),"callee")
assertFalse(sr.pv.get("$xavp(user)")) assertIsNil(sr.pv.get("$xavp(user)"))
end
function TestNGCP:test_clean_vars()
local avp = NGCPAvp:new('caller_account_id')
avp("foofighters")
assertEquals(sr.pv.get("$avp(s:caller_account_id)"),"foofighters")
self.ngcp:clean()
assertEquals(sr.pv.get("$avp(s:caller_account_id)"),nil)
end end
function TestNGCP:test_clean_caller_groups() function TestNGCP:test_clean_caller_groups()
@ -268,24 +271,6 @@ TestNGCP = {} --class
assertError(self.ngcp.clean, self.ngcp, "caller", "whatever") assertError(self.ngcp.clean, self.ngcp, "caller", "whatever")
end end
function TestNGCP:test_clean_caller_groups_vars()
local groups = {"peer", "usr", "dom", "real"}
local _,v
local avp = NGCPAvp:new('caller_account_id')
avp("foofighters")
assertEquals(sr.pv.get("$avp(s:caller_account_id)"),"foofighters")
for _,v in pairs(groups) do
xavp = self.ngcp.prefs[v]:xavp("caller")
xavp(string.format("test_%s", v), v)
assertEquals(sr.pv.get(string.format("$xavp(caller_%s_prefs=>test_%s)", v, v)), v)
assertEquals(sr.pv.get(string.format("$xavp(caller_%s_prefs=>dummy)", v)), "caller")
self.ngcp:clean("caller", v)
assertEquals(sr.pv.get(string.format("$xavp(caller_%s_prefs=>dummy)", v)), "caller")
end
assertEquals(sr.pv.get("$avp(s:caller_account_id)"),nil)
assertError(self.ngcp.clean, self.ngcp, "caller", "whatever")
end
function TestNGCP:test_clean_callee_groups() function TestNGCP:test_clean_callee_groups()
local groups = {"peer", "usr", "dom", "real"} local groups = {"peer", "usr", "dom", "real"}
@ -302,25 +287,6 @@ TestNGCP = {} --class
assertError(self.ngcp.clean, self.ngcp, "callee", "whatever") assertError(self.ngcp.clean, self.ngcp, "callee", "whatever")
end end
function TestNGCP:test_clean_callee_groups_vars()
local groups = {"peer", "usr", "dom", "real"}
local _,v, xavp
local avp = NGCPAvp:new('callee_cfb')
avp("foofighters")
assertEquals(sr.pv.get("$avp(s:callee_cfb)"),"foofighters")
for _,v in pairs(groups) do
xavp = self.ngcp.prefs[v]:xavp("callee")
xavp(string.format("test_%s", v), v)
assertEquals(sr.pv.get(string.format("$xavp(callee_%s_prefs=>test_%s)", v, v)), v)
assertEquals(sr.pv.get(string.format("$xavp(callee_%s_prefs=>dummy)", v)), "callee")
self.ngcp:clean("callee", v)
assertEquals(sr.pv.get(string.format("$xavp(callee_%s_prefs=>dummy)", v)), "callee")
end
assertEquals(sr.pv.get("$avp(s:callee_cfb)"),nil)
assertError(self.ngcp.clean, self.ngcp, "callee", "whatever")
end
function TestNGCP:test_callee_clean() function TestNGCP:test_callee_clean()
local callee_xavp = NGCPDomainPrefs:xavp('callee') local callee_xavp = NGCPDomainPrefs:xavp('callee')
assertEquals(sr.pv.get("$xavp(callee_dom_prefs=>dummy)"),"callee") assertEquals(sr.pv.get("$xavp(callee_dom_prefs=>dummy)"),"callee")
@ -336,27 +302,14 @@ TestNGCP = {} --class
assertEquals(sr.pv.get("$xavp(callee_dom_prefs=>dummy)"),"callee") assertEquals(sr.pv.get("$xavp(callee_dom_prefs=>dummy)"),"callee")
self.ngcp:clean('callee') self.ngcp:clean('callee')
assertEquals(sr.pv.get("$xavp(caller_dom_prefs=>dummy)"),'caller') assertEquals(sr.pv.get("$xavp(caller_dom_prefs=>dummy)"),'caller')
assertFalse(sr.pv.get("$xavp(callee_dom_prefs=>testid)")) assertIsNil(sr.pv.get("$xavp(callee_dom_prefs=>testid)"))
assertFalse(sr.pv.get("$xavp(callee_dom_prefs=>foo)")) assertIsNil(sr.pv.get("$xavp(callee_dom_prefs=>foo)"))
assertEquals(sr.pv.get("$xavp(caller_dom_prefs=>other)"),1) assertEquals(sr.pv.get("$xavp(caller_dom_prefs=>other)"),1)
assertEquals(sr.pv.get("$xavp(caller_dom_prefs=>otherfoo)"),"foo") assertEquals(sr.pv.get("$xavp(caller_dom_prefs=>otherfoo)"),"foo")
assertEquals(sr.pv.get("$xavp(callee_dom_prefs=>dummy)"), "callee") assertEquals(sr.pv.get("$xavp(callee_dom_prefs=>dummy)"), "callee")
end end
function TestNGCP:test_callee_clean_2()
sr.pv.seti("$xavp(caller_usr_prefs=>force_outbound_calls_to_peer)", 1)
sr.pv.seti("$xavp(caller_real_prefs=>force_outbound_calls_to_peer)", 1)
sr.pv.seti("$avp(caller_force_outbound_calls_to_peer)", 1)
assertEquals(sr.pv.get("$avp(caller_force_outbound_calls_to_peer)"), 1)
TestNGCP:test_callee_usr_load()
self.ngcp:clean('callee', 'usr')
assertEquals(sr.pv.get("$avp(caller_force_outbound_calls_to_peer)"), 1)
end
function TestNGCP:test_caller_clean() function TestNGCP:test_caller_clean()
local avp = NGCPAvp:new('caller_force_outbound_calls_to_peer')
avp("foofighters")
assertEquals(sr.pv.get("$avp(s:caller_force_outbound_calls_to_peer)"),"foofighters")
local callee_xavp = NGCPXAvp:new('callee','peer_prefs') local callee_xavp = NGCPXAvp:new('callee','peer_prefs')
callee_xavp("testid",1) callee_xavp("testid",1)
callee_xavp("foo","foo") callee_xavp("foo","foo")
@ -376,123 +329,10 @@ TestNGCP = {} --class
assertEquals(sr.pv.get("$xavp(callee_peer_prefs=>testid)"),1) assertEquals(sr.pv.get("$xavp(callee_peer_prefs=>testid)"),1)
assertEquals(sr.pv.get("$xavp(callee_peer_prefs=>foo)"),"foo") assertEquals(sr.pv.get("$xavp(callee_peer_prefs=>foo)"),"foo")
assertEquals(sr.pv.get("$xavp(callee_peer_prefs=>dummy)"),"callee") assertEquals(sr.pv.get("$xavp(callee_peer_prefs=>dummy)"),"callee")
assertEquals(sr.pv.get("$avp(s:caller_force_outbound_calls_to_peer)"),nil)
end
function TestNGCP:test_caller_peer_clean_vars()
self:test_caller_peer_load()
self.ngcp:clean('caller', 'peer')
if self.ngcp.vars['caller_peer_load'] then
for _,v in pairs(self.ngcp.vars['caller_peer_load']) do
for _,var in pairs(v) do
assertEquals(sr.pv.get("$avp(s:".. var[1] .. ")"), nil)
end
end
end
end
function TestNGCP:test_callee_peer_clean_vars()
self:test_callee_peer_load()
self.ngcp:clean('callee', 'peer')
if self.ngcp.vars['callee_peer_load'] then
for _,v in pairs(self.ngcp.vars['callee_peer_load']) do
for _,var in pairs(v) do
assertEquals(sr.pv.get("$avp(s:".. var[1] .. ")"), nil)
end
end
end
end
function TestNGCP:test_caller_usr_clean_vars()
self:test_caller_usr_load()
self.ngcp:clean('caller', 'usr')
assertEquals(sr.pv.get("$avp(s:caller_account_id)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_lock)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_allowed_clis)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_user_cli)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_cc)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_ac)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_emergency_cli)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_emergency_prefix)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_emergency_suffix)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_block_out_mode)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_block_out_list)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_adm_block_out_mode)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_adm_block_out_list)"), nil)
assertEquals(sr.pv.get("$avp(s:allowed_ips_grp)"), nil)
assertEquals(sr.pv.get("$avp(s:man_allowed_ips_grp)"), nil)
assertEquals(sr.pv.get("$avp(s:ignore_allowed_ips)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_ncos_id)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_adm_ncos_id)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_dom_ncos_id)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_dom_adm_ncos_id)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_block_override)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_adm_block_override)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_peer_auth_user)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_peer_auth_pass)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_peer_auth_realm)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_ext_subscriber_id)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_ext_contract_id)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_prepaid)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_ipv46_for_rtpproxy)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_use_rtpproxy)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_force_outbound_calls_to_peer)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_concurrent_max)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_concurrent_max_out)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_concurrent_max_per_account)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_concurrent_max_out_per_account)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_sst_enable)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_sst_expires)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_sst_min_timer)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_sst_max_timer)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_sst_refresh_method)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_reject_emergency)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_inbound_upn)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_inbound_uprn)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_extension_in_npn)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_allow_out_foreign_domain)"), nil)
assertEquals(sr.pv.get("$avp(s:rewrite_caller_in_dpid)"), nil)
assertEquals(sr.pv.get("$avp(s:rewrite_caller_out_dpid)"), nil)
assertEquals(sr.pv.get("$avp(s:rewrite_callee_in_dpid)"), nil)
assertEquals(sr.pv.get("$avp(s:rewrite_callee_out_dpid)"), nil)
assertEquals(sr.pv.get("$avp(s:caller_ip_header)"), nil)
end end
function TestNGCP:test_tostring() function TestNGCP:test_tostring()
assertEquals(tostring(self.ngcp), 'caller_usr_prefs:{dummy="caller"}\ncallee_usr_prefs:{dummy="callee"}\ncaller_real_prefs:{dummy="caller"}\ncallee_real_prefs:{dummy="callee"}\ncaller_peer_prefs:{dummy="caller"}\ncallee_peer_prefs:{dummy="callee"}\ncaller_dom_prefs:{dummy="caller"}\ncallee_dom_prefs:{dummy="callee"}\n') assertEquals(tostring(self.ngcp), 'caller_usr_prefs:{dummy="caller"}\ncallee_usr_prefs:{dummy="callee"}\ncaller_real_prefs:{dummy="caller"}\ncallee_real_prefs:{dummy="callee"}\ncaller_peer_prefs:{dummy="caller"}\ncallee_peer_prefs:{dummy="callee"}\ncaller_dom_prefs:{dummy="caller"}\ncallee_dom_prefs:{dummy="callee"}\n')
end end
function TestNGCP:test_log_var()
self:test_caller_usr_load()
self.ngcp:log_var()
self.ngcp:log_var(nil, nil, "peer")
self.ngcp:log_var("info", "caller")
end
function TestNGCP:test_str_var()
self:test_caller_usr_load()
assertEquals(self.ngcp:_str_var("caller", "usr"), "{$avp(s:caller_account_id):2,$avp(s:caller_cc):43,$avp(s:caller_ac):1,$avp(s:caller_emergency_cli):nil,$avp(s:caller_emergency_prefix):nil,$avp(s:caller_emergency_suffix):nil,$avp(s:caller_ext_subscriber_id):nil,$avp(s:caller_ext_contract_id):nil,$avp(s:caller_ring_group_dest):nil,$avp(s:caller_ring_group_policy):nil,$avp(s:caller_ip_header):P-NGCP-Src-Ip,}\n")
end
-- class TestNGCP -- class TestNGCP
--EOF --EOF

@ -10,27 +10,30 @@ if not sr then
else else
argv = {} argv = {}
end end
local mc = nil local mc,env,con
TestNGCPDomainPrefs = {} --class TestNGCPDomainPrefs = {} --class
function TestNGCPDomainPrefs:setUp() function TestNGCPDomainPrefs:setUp()
mc = lemock.controller() mc = lemock.controller()
self.config = mc:mock() env = mc:mock()
self.mysql = mc:mock() con = mc:mock()
self.env = mc:mock()
self.con = mc:mock()
self.cur = mc:mock() self.cur = mc:mock()
package.loaded.luasql = nil package.loaded.luasql = nil
package.preload['luasql.mysql'] = function () package.preload['luasql.mysql'] = function ()
luasql = {} luasql = {}
luasql.mysql = mysql luasql.mysql = function ()
return mysql return env
end
end end
require 'ngcp.dp' require 'ngcp.dp'
self.config = NGCPConfig:new()
self.config.getDBConnection = function ()
return con
end
self.d = NGCPDomainPrefs:new(self.config) self.d = NGCPDomainPrefs:new(self.config)
self.dp_vars = DPFetch:new() self.dp_vars = DPFetch:new()
end end
@ -62,15 +65,25 @@ TestNGCPDomainPrefs = {} --class
assertEquals(self.d:callee_load(), {}) assertEquals(self.d:callee_load(), {})
end end
function TestNGCPDomainPrefs:get_defaults()
local keys_expected = {"sst_enable", "sst_refresh_method"}
local defaults = NGCPConfig.get_defaults(self.d.config, 'dom')
local k,_
for k,_ in pairs(defaults) do
table.add(keys_expected, k)
end
return keys_expected
end
function TestNGCPDomainPrefs:test_caller_load() function TestNGCPDomainPrefs:test_caller_load()
assertTrue(self.d.config) assertTrue(self.d.config)
self.config:getDBConnection() ;mc :returns(self.con) con:execute("SELECT * FROM dom_preferences WHERE domain ='192.168.51.56'") ;mc :returns(self.cur)
self.con:execute("SELECT * FROM dom_preferences WHERE domain ='192.168.51.56'") ;mc :returns(self.cur)
self.cur:fetch(mc.ANYARGS) ;mc :returns(self.dp_vars:val("d_192_168_51_56")) self.cur:fetch(mc.ANYARGS) ;mc :returns(self.dp_vars:val("d_192_168_51_56"))
self.cur:fetch(mc.ANYARGS) ;mc :returns(self.dp_vars:val("d_192_168_51_56")) self.cur:fetch(mc.ANYARGS) ;mc :returns(self.dp_vars:val("d_192_168_51_56"))
self.cur:fetch(mc.ANYARGS) ;mc :returns(nil) self.cur:fetch(mc.ANYARGS) ;mc :returns(nil)
self.cur:close() self.cur:close()
self.con:close() con:close()
mc:replay() mc:replay()
local keys = self.d:caller_load("192.168.51.56") local keys = self.d:caller_load("192.168.51.56")
@ -78,18 +91,17 @@ TestNGCPDomainPrefs = {} --class
assertEquals(sr.pv.get("$xavp(caller_dom_prefs=>sst_enable)"),"no") assertEquals(sr.pv.get("$xavp(caller_dom_prefs=>sst_enable)"),"no")
assertEquals(sr.pv.get("$xavp(caller_dom_prefs=>sst_refresh_method)"), "UPDATE_FALLBACK_INVITE") assertEquals(sr.pv.get("$xavp(caller_dom_prefs=>sst_refresh_method)"), "UPDATE_FALLBACK_INVITE")
assertItemsEquals(keys, {"sst_enable", "sst_refresh_method"}) assertItemsEquals(keys, TestNGCPDomainPrefs:get_defaults())
end end
function TestNGCPDomainPrefs:test_callee_load() function TestNGCPDomainPrefs:test_callee_load()
assertTrue(self.d.config) assertTrue(self.d.config)
self.config:getDBConnection() ;mc :returns(self.con) con:execute("SELECT * FROM dom_preferences WHERE domain ='192.168.51.56'") ;mc :returns(self.cur)
self.con:execute("SELECT * FROM dom_preferences WHERE domain ='192.168.51.56'") ;mc :returns(self.cur)
self.cur:fetch(mc.ANYARGS) ;mc :returns(self.dp_vars:val("d_192_168_51_56")) self.cur:fetch(mc.ANYARGS) ;mc :returns(self.dp_vars:val("d_192_168_51_56"))
self.cur:fetch(mc.ANYARGS) ;mc :returns(self.dp_vars:val("d_192_168_51_56")) self.cur:fetch(mc.ANYARGS) ;mc :returns(self.dp_vars:val("d_192_168_51_56"))
self.cur:fetch(mc.ANYARGS) ;mc :returns(nil) self.cur:fetch(mc.ANYARGS) ;mc :returns(nil)
self.cur:close() self.cur:close()
self.con:close() con:close()
mc:replay() mc:replay()
local keys = self.d:callee_load("192.168.51.56") local keys = self.d:callee_load("192.168.51.56")
@ -97,7 +109,7 @@ TestNGCPDomainPrefs = {} --class
assertEquals(sr.pv.get("$xavp(callee_dom_prefs=>sst_enable)"),"no") assertEquals(sr.pv.get("$xavp(callee_dom_prefs=>sst_enable)"),"no")
assertEquals(sr.pv.get("$xavp(callee_dom_prefs=>sst_refresh_method)"), "UPDATE_FALLBACK_INVITE") assertEquals(sr.pv.get("$xavp(callee_dom_prefs=>sst_refresh_method)"), "UPDATE_FALLBACK_INVITE")
assertItemsEquals(keys, {"sst_enable", "sst_refresh_method"}) assertItemsEquals(keys, TestNGCPDomainPrefs:get_defaults())
end end
function TestNGCPDomainPrefs:test_clean() function TestNGCPDomainPrefs:test_clean()

@ -10,26 +10,30 @@ if not sr then
else else
argv = {} argv = {}
end end
local mc = nil local mc,env,con
TestNGCPPeerPrefs = {} --class TestNGCPPeerPrefs = {} --class
function TestNGCPPeerPrefs:setUp() function TestNGCPPeerPrefs:setUp()
mc = lemock.controller() mc = lemock.controller()
self.config = mc:mock() env = mc:mock()
self.mysql = mc:mock() con = mc:mock()
self.env = mc:mock()
self.con = mc:mock()
self.cur = mc:mock() self.cur = mc:mock()
package.loaded.luasql = nil package.loaded.luasql = nil
package.preload['luasql.mysql'] = function () package.preload['luasql.mysql'] = function ()
luasql = {} luasql = {}
luasql.mysql = mysql luasql.mysql = function ()
return mysql return env
end
end end
require 'ngcp.pp' require 'ngcp.dp'
self.config = NGCPConfig:new()
self.config.getDBConnection = function ()
return con
end
self.d = NGCPPeerPrefs:new(self.config) self.d = NGCPPeerPrefs:new(self.config)
self.pp_vars = PPFetch:new() self.pp_vars = PPFetch:new()
@ -52,6 +56,17 @@ TestNGCPPeerPrefs = {} --class
assertEquals(self.d.db_table, "peer_preferences") assertEquals(self.d.db_table, "peer_preferences")
end end
function TestNGCPPeerPrefs:get_defaults()
local keys_expected = {"sst_enable", "sst_refresh_method"}
local defaults = NGCPConfig.get_defaults(self.d.config, 'peer')
local k,_
for k,_ in pairs(defaults) do
table.add(keys_expected, k)
end
return keys_expected
end
function TestNGCPPeerPrefs:test_caller_load_empty() function TestNGCPPeerPrefs:test_caller_load_empty()
assertTrue(self.d.config) assertTrue(self.d.config)
assertEquals(self.d:caller_load(), {}) assertEquals(self.d:caller_load(), {})
@ -64,13 +79,12 @@ TestNGCPPeerPrefs = {} --class
function TestNGCPPeerPrefs:test_caller_load() function TestNGCPPeerPrefs:test_caller_load()
assertTrue(self.d.config) assertTrue(self.d.config)
self.config:getDBConnection() ;mc :returns(self.con) con:execute("SELECT * FROM peer_preferences WHERE uuid = '2'") ;mc :returns(self.cur)
self.con:execute("SELECT * FROM peer_preferences WHERE uuid = '2'") ;mc :returns(self.cur)
self.cur:fetch(mc.ANYARGS) ;mc :returns(self.pp_vars:val("p_2")) self.cur:fetch(mc.ANYARGS) ;mc :returns(self.pp_vars:val("p_2"))
self.cur:fetch(mc.ANYARGS) ;mc :returns(self.pp_vars:val("p_2")) self.cur:fetch(mc.ANYARGS) ;mc :returns(self.pp_vars:val("p_2"))
self.cur:fetch(mc.ANYARGS) ;mc :returns(nil) self.cur:fetch(mc.ANYARGS) ;mc :returns(nil)
self.cur:close() self.cur:close()
self.con:close() con:close()
mc:replay() mc:replay()
local keys = self.d:caller_load("2") local keys = self.d:caller_load("2")
@ -79,17 +93,17 @@ TestNGCPPeerPrefs = {} --class
assertEquals(sr.pv.get("$xavp(caller_peer_prefs=>dummy)"), "caller") assertEquals(sr.pv.get("$xavp(caller_peer_prefs=>dummy)"), "caller")
assertEquals(sr.pv.get("$xavp(caller_peer_prefs=>sst_enable)"),"no") assertEquals(sr.pv.get("$xavp(caller_peer_prefs=>sst_enable)"),"no")
assertEquals(sr.pv.get("$xavp(caller_peer_prefs=>sst_refresh_method)"), "UPDATE_FALLBACK_INVITE") assertEquals(sr.pv.get("$xavp(caller_peer_prefs=>sst_refresh_method)"), "UPDATE_FALLBACK_INVITE")
assertItemsEquals(keys, TestNGCPPeerPrefs:get_defaults())
end end
function TestNGCPPeerPrefs:test_callee_load() function TestNGCPPeerPrefs:test_callee_load()
assertTrue(self.d.config) assertTrue(self.d.config)
self.config:getDBConnection() ;mc :returns(self.con) con:execute("SELECT * FROM peer_preferences WHERE uuid = '2'") ;mc :returns(self.cur)
self.con:execute("SELECT * FROM peer_preferences WHERE uuid = '2'") ;mc :returns(self.cur)
self.cur:fetch(mc.ANYARGS) ;mc :returns(self.pp_vars:val("p_2")) self.cur:fetch(mc.ANYARGS) ;mc :returns(self.pp_vars:val("p_2"))
self.cur:fetch(mc.ANYARGS) ;mc :returns(self.pp_vars:val("p_2")) self.cur:fetch(mc.ANYARGS) ;mc :returns(self.pp_vars:val("p_2"))
self.cur:fetch(mc.ANYARGS) ;mc :returns(nil) self.cur:fetch(mc.ANYARGS) ;mc :returns(nil)
self.cur:close() self.cur:close()
self.con:close() con:close()
mc:replay() mc:replay()
local keys = self.d:callee_load("2") local keys = self.d:callee_load("2")
@ -98,6 +112,7 @@ TestNGCPPeerPrefs = {} --class
assertEquals(sr.pv.get("$xavp(callee_peer_prefs=>dummy)"), "callee") assertEquals(sr.pv.get("$xavp(callee_peer_prefs=>dummy)"), "callee")
assertEquals(sr.pv.get("$xavp(callee_peer_prefs=>sst_enable)"),"no") assertEquals(sr.pv.get("$xavp(callee_peer_prefs=>sst_enable)"),"no")
assertEquals(sr.pv.get("$xavp(callee_peer_prefs=>sst_refresh_method)"), "UPDATE_FALLBACK_INVITE") assertEquals(sr.pv.get("$xavp(callee_peer_prefs=>sst_refresh_method)"), "UPDATE_FALLBACK_INVITE")
assertItemsEquals(keys, TestNGCPPeerPrefs:get_defaults())
end end
function TestNGCPPeerPrefs:test_clean() function TestNGCPPeerPrefs:test_clean()

@ -2,25 +2,5 @@ require('luaunit')
require 'ngcp.pref' require 'ngcp.pref'
TestNGCPPrefs = {} --class TestNGCPPrefs = {} --class
function TestNGCPPrefs:tearDown()
sr.pv.vars = {}
end
function TestNGCPPrefs:test_set_avp_empty()
sr.pv.sets("$avp(s:loquesea)", "one")
assertEquals(sr.pv.get("$avp(s:loquesea)"),"one")
NGCPPrefs.set_avp("loquesea")
assertEquals(sr.pv.get("$avp(s:loquesea)"), nil)
end
function TestNGCPPrefs:test_set_avp_val()
sr.pv.sets("$avp(s:loquesea)", "one")
sr.pv.sets("$xavp(callee_peer_prefs=>hola)", "two")
assertEquals(sr.pv.get("$avp(s:loquesea)"),"one")
assertEquals(sr.pv.get("$xavp(callee_peer_prefs[0]=>hola)"),"two")
NGCPPrefs.set_avp("loquesea", "callee_peer_prefs=>hola")
assertEquals(sr.pv.get("$avp(s:loquesea)"), "two")
end
-- class TestNGCP -- class TestNGCP
--EOF --EOF

@ -10,26 +10,30 @@ if not sr then
else else
argv = {} argv = {}
end end
local mc = nil local mc,env,con
TestNGCPUserPrefs = {} --class TestNGCPUserPrefs = {} --class
function TestNGCPUserPrefs:setUp() function TestNGCPUserPrefs:setUp()
mc = lemock.controller() mc = lemock.controller()
self.config = mc:mock() env = mc:mock()
self.mysql = mc:mock() con = mc:mock()
self.env = mc:mock()
self.con = mc:mock()
self.cur = mc:mock() self.cur = mc:mock()
package.loaded.luasql = nil package.loaded.luasql = nil
package.preload['luasql.mysql'] = function () package.preload['luasql.mysql'] = function ()
luasql = {} luasql = {}
luasql.mysql = mysql luasql.mysql = function ()
return mysql return env
end
end end
require 'ngcp.up' require 'ngcp.dp'
self.config = NGCPConfig:new()
self.config.getDBConnection = function ()
return con
end
self.d = NGCPUserPrefs:new(self.config) self.d = NGCPUserPrefs:new(self.config)
self.up_vars = UPFetch:new() self.up_vars = UPFetch:new()
@ -62,17 +66,27 @@ TestNGCPUserPrefs = {} --class
assertEquals(self.d.db_table, "usr_preferences") assertEquals(self.d.db_table, "usr_preferences")
end end
function TestNGCPUserPrefs:get_defaults()
local keys_expected = {"account_id", "cli", "cc", "ac"}
local defaults = NGCPConfig.get_defaults(self.d.config, 'usr')
local k,_
for k,_ in pairs(defaults) do
table.add(keys_expected, k)
end
return keys_expected
end
function TestNGCPUserPrefs:test_caller_load() function TestNGCPUserPrefs:test_caller_load()
assertTrue(self.d.config) assertTrue(self.d.config)
self.config:getDBConnection() ;mc :returns(self.con) con:execute("SELECT * FROM usr_preferences WHERE uuid ='ae736f72-21d1-4ea6-a3ea-4d7f56b3887c'") ;mc :returns(self.cur)
self.con:execute("SELECT * FROM usr_preferences WHERE uuid ='ae736f72-21d1-4ea6-a3ea-4d7f56b3887c'") ;mc :returns(self.cur)
self.cur:fetch(mc.ANYARGS) ;mc :returns(self.up_vars:val("ae736f72_21d1_4ea6_a3ea_4d7f56b3887c")) self.cur:fetch(mc.ANYARGS) ;mc :returns(self.up_vars:val("ae736f72_21d1_4ea6_a3ea_4d7f56b3887c"))
self.cur:fetch(mc.ANYARGS) ;mc :returns(self.up_vars:val("ae736f72_21d1_4ea6_a3ea_4d7f56b3887c")) self.cur:fetch(mc.ANYARGS) ;mc :returns(self.up_vars:val("ae736f72_21d1_4ea6_a3ea_4d7f56b3887c"))
self.cur:fetch(mc.ANYARGS) ;mc :returns(self.up_vars:val("ae736f72_21d1_4ea6_a3ea_4d7f56b3887c")) self.cur:fetch(mc.ANYARGS) ;mc :returns(self.up_vars:val("ae736f72_21d1_4ea6_a3ea_4d7f56b3887c"))
self.cur:fetch(mc.ANYARGS) ;mc :returns(self.up_vars:val("ae736f72_21d1_4ea6_a3ea_4d7f56b3887c")) self.cur:fetch(mc.ANYARGS) ;mc :returns(self.up_vars:val("ae736f72_21d1_4ea6_a3ea_4d7f56b3887c"))
self.cur:fetch(mc.ANYARGS) ;mc :returns(nil) self.cur:fetch(mc.ANYARGS) ;mc :returns(nil)
self.cur:close() self.cur:close()
self.con:close() con:close()
mc:replay() mc:replay()
local keys = self.d:caller_load("ae736f72-21d1-4ea6-a3ea-4d7f56b3887c") local keys = self.d:caller_load("ae736f72-21d1-4ea6-a3ea-4d7f56b3887c")
@ -82,20 +96,19 @@ TestNGCPUserPrefs = {} --class
assertEquals(sr.pv.get("$xavp(caller_usr_prefs=>cli)"),"4311001") assertEquals(sr.pv.get("$xavp(caller_usr_prefs=>cli)"),"4311001")
assertEquals(sr.pv.get("$xavp(caller_usr_prefs=>cc)"),"43") assertEquals(sr.pv.get("$xavp(caller_usr_prefs=>cc)"),"43")
assertEquals(sr.pv.get("$xavp(caller_usr_prefs=>ac)"),"1") assertEquals(sr.pv.get("$xavp(caller_usr_prefs=>ac)"),"1")
assertItemsEquals(keys, {"account_id", "cli", "cc", "ac"}) assertItemsEquals(keys, TestNGCPUserPrefs:get_defaults())
end end
function TestNGCPUserPrefs:test_callee_load() function TestNGCPUserPrefs:test_callee_load()
assertTrue(self.d.config) assertTrue(self.d.config)
self.config:getDBConnection() ;mc :returns(self.con) con:execute("SELECT * FROM usr_preferences WHERE uuid ='ae736f72-21d1-4ea6-a3ea-4d7f56b3887c'") ;mc :returns(self.cur)
self.con:execute("SELECT * FROM usr_preferences WHERE uuid ='ae736f72-21d1-4ea6-a3ea-4d7f56b3887c'") ;mc :returns(self.cur)
self.cur:fetch(mc.ANYARGS) ;mc :returns(self.up_vars:val("ae736f72_21d1_4ea6_a3ea_4d7f56b3887c")) self.cur:fetch(mc.ANYARGS) ;mc :returns(self.up_vars:val("ae736f72_21d1_4ea6_a3ea_4d7f56b3887c"))
self.cur:fetch(mc.ANYARGS) ;mc :returns(self.up_vars:val("ae736f72_21d1_4ea6_a3ea_4d7f56b3887c")) self.cur:fetch(mc.ANYARGS) ;mc :returns(self.up_vars:val("ae736f72_21d1_4ea6_a3ea_4d7f56b3887c"))
self.cur:fetch(mc.ANYARGS) ;mc :returns(self.up_vars:val("ae736f72_21d1_4ea6_a3ea_4d7f56b3887c")) self.cur:fetch(mc.ANYARGS) ;mc :returns(self.up_vars:val("ae736f72_21d1_4ea6_a3ea_4d7f56b3887c"))
self.cur:fetch(mc.ANYARGS) ;mc :returns(self.up_vars:val("ae736f72_21d1_4ea6_a3ea_4d7f56b3887c")) self.cur:fetch(mc.ANYARGS) ;mc :returns(self.up_vars:val("ae736f72_21d1_4ea6_a3ea_4d7f56b3887c"))
self.cur:fetch(mc.ANYARGS) ;mc :returns(nil) self.cur:fetch(mc.ANYARGS) ;mc :returns(nil)
self.cur:close() self.cur:close()
self.con:close() con:close()
mc:replay() mc:replay()
local keys = self.d:callee_load("ae736f72-21d1-4ea6-a3ea-4d7f56b3887c") local keys = self.d:callee_load("ae736f72-21d1-4ea6-a3ea-4d7f56b3887c")
@ -105,7 +118,7 @@ TestNGCPUserPrefs = {} --class
assertEquals(sr.pv.get("$xavp(callee_usr_prefs=>cli)"),"4311001") assertEquals(sr.pv.get("$xavp(callee_usr_prefs=>cli)"),"4311001")
assertEquals(sr.pv.get("$xavp(callee_usr_prefs=>cc)"),"43") assertEquals(sr.pv.get("$xavp(callee_usr_prefs=>cc)"),"43")
assertEquals(sr.pv.get("$xavp(callee_usr_prefs=>ac)"),"1") assertEquals(sr.pv.get("$xavp(callee_usr_prefs=>ac)"),"1")
assertItemsEquals(keys, {"account_id", "cli", "cc", "ac"}) assertItemsEquals(keys, TestNGCPUserPrefs:get_defaults())
end end
function TestNGCPUserPrefs:test_clean() function TestNGCPUserPrefs:test_clean()

Loading…
Cancel
Save