diff --git a/ngcp/ngcp.lua b/ngcp/ngcp.lua index 01f6836..dbe9b95 100644 --- a/ngcp/ngcp.lua +++ b/ngcp/ngcp.lua @@ -87,8 +87,8 @@ NGCPConfig_MT = { __index = NGCPConfig } local k,v local defs = {} - if self.default.vtype then - for k,v in pairs(default.vtype) do + if self.default[vtype] then + for k,v in pairs(self.default[vtype]) do defs[k] = v end end diff --git a/ngcp/pp.lua b/ngcp/pp.lua index 981fd23..e5e4d11 100644 --- a/ngcp/pp.lua +++ b/ngcp/pp.lua @@ -103,6 +103,7 @@ NGCPPeerPrefs_MT.__tostring = function () xavp = self:xavp(level, result) for k,v in pairs(defaults) do + sr.log("dbg", string.format("setting default[%s]:%s", k, tostring(v))) xavp(k, v) end return keys diff --git a/ngcp/up.lua b/ngcp/up.lua index bdb06d8..2b3ef27 100644 --- a/ngcp/up.lua +++ b/ngcp/up.lua @@ -101,6 +101,7 @@ NGCPUserPrefs_MT.__tostring = function () xavp = self:xavp(level, result) for k,v in pairs(defaults) do + sr.log("dbg", string.format("setting default[%s]:%s", k, tostring(v))) xavp(k, v) end return keys diff --git a/tests/ngcp_pp.lua b/tests/ngcp_pp.lua index 1fadcdb..269d3bf 100644 --- a/tests/ngcp_pp.lua +++ b/tests/ngcp_pp.lua @@ -66,7 +66,7 @@ TestNGCPPeerPrefs = {} --class sr.pv.unset("$xavp(callee_usr_prefs)") sr.pv.unset("$xavp(caller_real_prefs)") sr.pv.unset("$xavp(callee_real_prefs)") - sr.log("info", "---cleaned---") + sr.log("info", "---TestNGCPPeerPrefs::cleaned---") end function TestNGCPPeerPrefs:test_init() @@ -74,11 +74,19 @@ TestNGCPPeerPrefs = {} --class assertEquals(self.d.db_table, "peer_preferences") end - function TestNGCPPeerPrefs:get_defaults(level) - local keys_expected = {"sst_enable", "sst_refresh_method"} + function TestNGCPPeerPrefs:get_defaults(level, set) + local keys_expected = {} local defaults = self.d.config:get_defaults('peer') local k,v + if set then + keys_expected = table.deepcopy(set) + for k,v in pairs(keys_expected) do + sr.log("dbg", string.format("removed key:%s is been loaded.", v)) + defaults[v] = nil + end + end + for k,v in pairs(defaults) do table.add(keys_expected, k) assertEquals(sr.pv.get("$xavp("..level.."_peer_prefs=>"..k..")"), v) @@ -112,7 +120,8 @@ TestNGCPPeerPrefs = {} --class 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_refresh_method)"), "UPDATE_FALLBACK_INVITE") - assertItemsEquals(keys, TestNGCPPeerPrefs:get_defaults("caller")) + assertEquals(sr.pv.get("$xavp(caller_peer_prefs=>sst_min_timer)"), 90) + assertItemsEquals(keys, TestNGCPPeerPrefs:get_defaults("caller", {"sst_enable", "sst_refresh_method"})) end function TestNGCPPeerPrefs:test_callee_load() @@ -131,7 +140,8 @@ TestNGCPPeerPrefs = {} --class 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_refresh_method)"), "UPDATE_FALLBACK_INVITE") - assertItemsEquals(keys, TestNGCPPeerPrefs:get_defaults("callee")) + assertEquals(sr.pv.get("$xavp(callee_peer_prefs=>sst_min_timer)"), 90) + assertItemsEquals(keys, TestNGCPPeerPrefs:get_defaults("callee", {"sst_enable", "sst_refresh_method"})) end function TestNGCPPeerPrefs:test_clean() diff --git a/tests/ngcp_up.lua b/tests/ngcp_up.lua index ea8bb90..ed053bd 100644 --- a/tests/ngcp_up.lua +++ b/tests/ngcp_up.lua @@ -66,7 +66,7 @@ TestNGCPUserPrefs = {} --class sr.pv.unset("$xavp(callee_usr_prefs)") sr.pv.unset("$xavp(caller_real_prefs)") sr.pv.unset("$xavp(callee_real_prefs)") - sr.log("info", "---cleaned---") + sr.log("info", "---TestNGCPUserPrefs::cleaned---") end function TestNGCPUserPrefs:test_caller_load_empty() @@ -84,13 +84,22 @@ TestNGCPUserPrefs = {} --class assertEquals(self.d.db_table, "usr_preferences") end - function TestNGCPUserPrefs:get_defaults() - local keys_expected = {"account_id", "cli", "cc", "ac"} - local defaults = NGCPConfig.get_defaults(self.d.config, 'usr') - local k,_ + function TestNGCPUserPrefs:get_defaults(level, set) + local keys_expected = {} + local defaults = self.d.config:get_defaults('usr') + local k,v - for k,_ in pairs(defaults) do + if set then + keys_expected = table.deepcopy(set) + for k,v in pairs(keys_expected) do + sr.log("dbg", string.format("removed key:%s is been loaded.", v)) + defaults[v] = nil + end + end + + for k,v in pairs(defaults) do table.add(keys_expected, k) + assertEquals(sr.pv.get("$xavp("..level.."_usr_prefs=>"..k..")"), v) end return keys_expected end @@ -114,7 +123,8 @@ TestNGCPUserPrefs = {} --class 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=>ac)"),"1") - assertItemsEquals(keys, TestNGCPUserPrefs:get_defaults()) + --assertEquals(sr.pv.get("$xavp(caller_real_prefs=>ringtimeout)"), self.d.config.default.usr.ringtimeout) + assertItemsEquals(keys, TestNGCPUserPrefs:get_defaults("caller", {"account_id", "cli", "cc", "ac", "ringtimeout"})) end function TestNGCPUserPrefs:test_callee_load() @@ -136,7 +146,8 @@ TestNGCPUserPrefs = {} --class 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=>ac)"),"1") - assertItemsEquals(keys, TestNGCPUserPrefs:get_defaults()) + --assertEquals(sr.pv.get("$xavp(callee_real_prefs=>ringtimeout)"), self.d.config.default.usr.ringtimeout) + assertItemsEquals(keys, TestNGCPUserPrefs:get_defaults("callee", {"account_id", "cli", "cc", "ac", "ringtimeout"})) end function TestNGCPUserPrefs:test_clean()