Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions netjsonconfig/backends/openwisp/templates/openwrt.jinja2
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,15 @@
{% for list_value in value %}
list '{{ key }}' '{{ list_value }}'
{% endfor %}
{% else %}
{% if value is sameas true %}
option '{{ key }}' '1'
{% elif value is sameas false %}
option '{{ key }}' '0'
{% else %}
option '{{ key }}' '{{ value }}'
{% endif %}
{% endif %}
Comment thread
Viscous106 marked this conversation as resolved.
Outdated
{% endif %}
{% endfor %}

Expand Down
2 changes: 0 additions & 2 deletions netjsonconfig/backends/openwrt/renderer.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ def cleanup(self, output):
.replace("\noption", "\n\toption")
.replace("\nlist", "\n\tlist")
)
# convert True to 1 and False to 0
output = output.replace("True", "1").replace("False", "0")
# max 2 consecutive \n delimiters
output = output.replace("\n\n\n", "\n\n")
# if output is present
Expand Down
6 changes: 6 additions & 0 deletions netjsonconfig/backends/openwrt/templates/openwrt.jinja2
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,15 @@
{% for list_value in value %}
list {{ key }} '{{ list_value }}'
{% endfor %}
{% else %}
{% if value is sameas true %}
option {{ key }} '1'
{% elif value is sameas false %}
option {{ key }} '0'
{% else %}
option {{ key }} '{{ value }}'
{% endif %}
{% endif %}
{% endif %}
{% endfor %}

Expand Down
16 changes: 16 additions & 0 deletions tests/openwisp/test_backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,22 @@ def test_wireless_radio_disabled_0(self):
output = o.render()
self.assertIn("option 'disabled' '0'", output)

def test_render_wifi_issue_250_ssid_variants(self):
ssid_values = [
"TrueGait Living Guest",
"FalseGait Living Guest",
"MyTrueNetwork",
"True",
"False",
]
for ssid in ssid_values:
with self.subTest(ssid=ssid):
config = deepcopy(self.config)
config["interfaces"][2]["wireless"]["ssid"] = ssid
o = OpenWisp(config)
output = o.render()
self.assertIn(f"option 'ssid' '{ssid}'", output)

def test_tc_script(self):
config = deepcopy(self.config)
o = OpenWisp(config)
Expand Down
16 changes: 16 additions & 0 deletions tests/openwrt/test_wireless.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,22 @@ def test_render_wifi_interface(self):
expected = self._tabs(self._wifi_uci)
self.assertEqual(o.render(), expected)

def test_render_wifi_issue_250_ssid_variants(self):
ssid_values = [
"TrueGait Living Guest",
"FalseGait Living Guest",
"MyTrueNetwork",
"True",
"False",
]
for ssid in ssid_values:
with self.subTest(ssid=ssid):
netjson = deepcopy(self._wifi_netjson)
netjson["interfaces"][0]["wireless"]["ssid"] = ssid
o = OpenWrt(netjson)
expected_uci = self._wifi_uci.replace("'MyWifiAP'", f"'{ssid}'")
self.assertEqual(o.render(), self._tabs(expected_uci))

def test_parse_wifi_interface(self):
o = OpenWrt(native=self._wifi_uci)
self.assertDictEqual(o.config, self._wifi_netjson)
Expand Down