return keys when in load functions.

Don't use internal key for xavp
squeeze-backports
Victor Seva 13 years ago
parent f0e78c415e
commit d93e7d2a04

@ -4,7 +4,7 @@ require 'ngcp.xavp'
-- class NGCPDomainPrefs -- class NGCPDomainPrefs
NGCPDomainPrefs = { NGCPDomainPrefs = {
__class__ = 'NGCPDomainPrefs' __class__ = 'NGCPDomainPrefs'
} }
NGCPDomainPrefs_MT = { __index = NGCPDomainPrefs } NGCPDomainPrefs_MT = { __index = NGCPDomainPrefs }
function NGCPDomainPrefs:new(config) function NGCPDomainPrefs:new(config)
@ -16,37 +16,40 @@ NGCPDomainPrefs_MT = { __index = NGCPDomainPrefs }
end end
function NGCPDomainPrefs:caller_load(uuid) function NGCPDomainPrefs:caller_load(uuid)
NGCPDomainPrefs._load(self,"caller",uuid) return NGCPDomainPrefs._load(self,"caller",uuid)
end end
function NGCPDomainPrefs:callee_load(uuid) function NGCPDomainPrefs:callee_load(uuid)
NGCPDomainPrefs._load(self,"callee",uuid) return NGCPDomainPrefs._load(self,"callee",uuid)
end end
function NGCPDomainPrefs:_load(level, uuid) function NGCPDomainPrefs:_load(level, uuid)
local con = assert (self.config:getDBConnection()) local con = assert (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 = assert (con:execute(query))
local keys = {}
local result = {} local result = {}
local row = cur:fetch({}, "a") local row = cur:fetch({}, "a")
local xavp
if row then if row then
while row do while row do
--sr.log("info", string.format("result:%s row:%s", table.tostring(result), table.tostring(row))) --sr.log("info", string.format("result:%s row:%s", table.tostring(result), table.tostring(row)))
table.insert(result, row) table.insert(result, row)
table.insert(keys, row.attribute)
row = cur:fetch({}, "a") row = cur:fetch({}, "a")
end end
self.xavp = NGCPXAvp:new(level,'domain',result) xavp = NGCPXAvp:new(level,'domain',result)
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
cur:close() cur:close()
con:close() con:close()
return keys
end end
function NGCPDomainPrefs:clean(...) function NGCPDomainPrefs:clean()
if self.xavp then sr.pv.unset("$xavp(domain)")
self.xavp:clean()
end
end end
-- class -- class
--EOF --EOF

@ -16,37 +16,40 @@ NGCPUserPrefs_MT = { __index = NGCPUserPrefs }
end end
function NGCPUserPrefs:caller_load(uuid) function NGCPUserPrefs:caller_load(uuid)
NGCPUserPrefs._load(self,"caller",uuid) return NGCPUserPrefs._load(self,"caller",uuid)
end end
function NGCPUserPrefs:callee_load(uuid) function NGCPUserPrefs:callee_load(uuid)
NGCPUserPrefs._load(self,"callee",uuid) return NGCPUserPrefs._load(self,"callee",uuid)
end 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 result = {} local result = {}
local row = cur:fetch({}, "a") local row = cur:fetch({}, "a")
local xavp
if row then if row then
while row do while row do
--sr.log("info", string.format("result:%s row:%s", table.tostring(result), table.tostring(row))) --sr.log("info", string.format("result:%s row:%s", table.tostring(result), table.tostring(row)))
table.insert(result, row) table.insert(result, row)
table.insert(keys, row.attribute)
row = cur:fetch({}, "a") row = cur:fetch({}, "a")
end end
self.xavp = NGCPXAvp:new(level,'user',result) xavp = NGCPXAvp:new(level,'user',result)
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
cur:close() cur:close()
con:close() con:close()
return keys
end end
function NGCPUserPrefs:clean(...) function NGCPUserPrefs:clean(...)
if self.xavp then sr.pv.unset("$xavp(user)")
self.xavp:clean()
end
end end
-- class -- class
--EOF --EOF

@ -68,14 +68,12 @@ TestNGCPDomainPrefs = {} --class
self.con:close() self.con:close()
mc:replay() mc:replay()
self.d:caller_load("192.168.51.56") local keys = self.d:caller_load("192.168.51.56")
mc:verify() mc:verify()
assertTrue(self.d.xavp)
assertEquals(self.d.xavp("sst_enable"),"no")
assertEquals(sr.pv.get("$xavp(domain[0]=>sst_enable)"),"no") assertEquals(sr.pv.get("$xavp(domain[0]=>sst_enable)"),"no")
assertEquals(sr.pv.get("$xavp(domain[0]=>sst_refresh_method)"), "UPDATE_FALLBACK_INVITE") assertEquals(sr.pv.get("$xavp(domain[0]=>sst_refresh_method)"), "UPDATE_FALLBACK_INVITE")
assertIsNil(self.d.xavp("error_key")) assertItemsEquals(keys, {"sst_enable", "sst_refresh_method"})
end end
function TestNGCPDomainPrefs:test_callee_load() function TestNGCPDomainPrefs:test_callee_load()
@ -89,14 +87,12 @@ TestNGCPDomainPrefs = {} --class
self.con:close() self.con:close()
mc:replay() mc:replay()
self.d:callee_load("192.168.51.56") local keys = self.d:callee_load("192.168.51.56")
mc:verify() mc:verify()
assertTrue(self.d.xavp)
assertEquals(self.d.xavp("sst_enable"),"no")
assertEquals(sr.pv.get("$xavp(domain[1]=>sst_enable)"),"no") assertEquals(sr.pv.get("$xavp(domain[1]=>sst_enable)"),"no")
assertEquals(sr.pv.get("$xavp(domain[1]=>sst_refresh_method)"), "UPDATE_FALLBACK_INVITE") assertEquals(sr.pv.get("$xavp(domain[1]=>sst_refresh_method)"), "UPDATE_FALLBACK_INVITE")
assertIsNil(self.d.xavp("error_key")) assertItemsEquals(keys, {"sst_enable", "sst_refresh_method"})
end end
-- class TestNGCPDomainPrefs -- class TestNGCPDomainPrefs

@ -70,16 +70,14 @@ TestNGCPUserPrefs = {} --class
self.con:close() self.con:close()
mc:replay() mc:replay()
self.d:caller_load("ae736f72-21d1-4ea6-a3ea-4d7f56b3887c") local keys = self.d:caller_load("ae736f72-21d1-4ea6-a3ea-4d7f56b3887c")
mc:verify() mc:verify()
assertTrue(self.d.xavp) assertEquals(sr.pv.get("$xavp(user[0]=>account_id)"),2)
assertEquals(self.d.xavp("cli"),"4311001")
assertEquals(sr.pv.get("$xavp(user[0]=>cli)"),"4311001") assertEquals(sr.pv.get("$xavp(user[0]=>cli)"),"4311001")
assertEquals(self.d.xavp("cc"),"43")
assertEquals(sr.pv.get("$xavp(user[0]=>cc)"),"43") assertEquals(sr.pv.get("$xavp(user[0]=>cc)"),"43")
assertEquals(self.d.xavp("ac"),"1")
assertEquals(sr.pv.get("$xavp(user[0]=>ac)"),"1") assertEquals(sr.pv.get("$xavp(user[0]=>ac)"),"1")
assertItemsEquals(keys, {"account_id", "cli", "cc", "ac"})
end end
function TestNGCPUserPrefs:test_callee_load() function TestNGCPUserPrefs:test_callee_load()
@ -95,17 +93,14 @@ TestNGCPUserPrefs = {} --class
self.con:close() self.con:close()
mc:replay() mc:replay()
self.d:callee_load("ae736f72-21d1-4ea6-a3ea-4d7f56b3887c") local keys = self.d:callee_load("ae736f72-21d1-4ea6-a3ea-4d7f56b3887c")
mc:verify() mc:verify()
assertTrue(self.d.xavp) assertEquals(sr.pv.get("$xavp(user[1]=>account_id)"),2)
assertEquals(self.d.xavp("cli"),"4311001")
assertEquals(sr.pv.get("$xavp(user[1]=>cli)"),"4311001") assertEquals(sr.pv.get("$xavp(user[1]=>cli)"),"4311001")
assertEquals(self.d.xavp("cc"),"43")
assertEquals(sr.pv.get("$xavp(user[1]=>cc)"),"43") assertEquals(sr.pv.get("$xavp(user[1]=>cc)"),"43")
assertEquals(self.d.xavp("ac"),"1")
assertEquals(sr.pv.get("$xavp(user[1]=>ac)"),"1") assertEquals(sr.pv.get("$xavp(user[1]=>ac)"),"1")
assertItemsEquals(keys, {"account_id", "cli", "cc", "ac"})
end end
-- class TestNGCPUserPrefs -- class TestNGCPUserPrefs

Loading…
Cancel
Save