Skip to content

Commit a869f14

Browse files
committed
Add tests for the ddns settings
1 parent c43c7fe commit a869f14

File tree

2 files changed

+38
-2
lines changed

2 files changed

+38
-2
lines changed

netjsonconfig/backends/openwrt/converters/ddns.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ def __intermediate_providers(self, providers):
3131
uci_name = self._get_uci_name(provider['lookup_host'])
3232
resultdict = OrderedDict((('.name', uci_name),
3333
('.type', 'service')))
34-
for key, value in provider.items():
35-
resultdict[key] = value
34+
resultdict.update(provider)
3635
result.append(resultdict)
3736
return result
3837

tests/openwrt/test_ddns.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import unittest
2+
3+
from netjsonconfig import OpenWrt
4+
from netjsonconfig.utils import _TabsMixin
5+
6+
7+
class TestDdns(unittest.TestCase, _TabsMixin):
8+
maxDiff = None
9+
_ddns_netjson_global = {
10+
"ddns": {
11+
"ddns_dateformat": "%F %R",
12+
"ddns_logdir": "/var/log/ddns",
13+
"ddns_loglines": 250,
14+
"ddns_rundir": "/var/run/ddns",
15+
"upd_privateip": False,
16+
"use_curl": False
17+
}
18+
}
19+
_ddns_uci_global = """package ddns
20+
21+
config ddns 'global'
22+
option ddns_dateformat '%F %R'
23+
option ddns_logdir '/var/log/ddns'
24+
option ddns_loglines '250'
25+
option ddns_rundir '/var/run/ddns'
26+
option upd_privateip '0'
27+
option use_curl '0'
28+
"""
29+
30+
def test_render_ddns_global(self):
31+
o = OpenWrt(self._ddns_netjson_global)
32+
expected = self._tabs(self._ddns_uci_global)
33+
self.assertEqual(o.render(), expected)
34+
35+
def test_parse_ddns_global(self):
36+
o = OpenWrt(native=self._ddns_uci_global)
37+
self.assertDictEqual(o.config, self._ddns_netjson_global)

0 commit comments

Comments
 (0)