Skip to content

Commit ec8baa6

Browse files
authored
[fix] Avoid sending wifi clients if there isn't any
Fixes: ``` Invalid data in "#/interfaces/3/wireless/clients", validator says: {} is not of type 'array' ``` Lua doesn't distinguish between arrays and tables, so lua c-json converts an empty array to an empty object, which is rejected by OpenWISP Monitoring.
1 parent 8f7d402 commit ec8baa6

2 files changed

Lines changed: 4 additions & 4 deletions

File tree

openwisp-monitoring/files/lib/openwisp-monitoring/wifi.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ function wifi.parse_hostapd_clients(clients)
3232
properties.mac = mac
3333
table.insert(data, properties)
3434
end
35-
return data
35+
if #data > 0 then return data end
3636
end
3737

3838
function wifi.parse_iwinfo_clients(clients)
@@ -62,7 +62,7 @@ function wifi.parse_iwinfo_clients(clients)
6262
end
6363
table.insert(data, client)
6464
end
65-
return data
65+
if #data > 0 then return data end
6666
end
6767

6868
-- takes ubus wireless.status clients output and converts it to NetJSON

openwisp-monitoring/tests/test_wifi.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ function TestWifi.test_parse_hostapd_clients()
6464
luaunit.assertEquals(wifi_functions.parse_hostapd_clients(wifi_data.wlan1_clients),
6565
wifi_data.parsed_clients)
6666
luaunit.assertEquals(wifi_functions.parse_hostapd_clients(wifi_data.wlan2_clients),
67-
{})
67+
nil)
6868
end
6969

7070
function TestWifi.test_parse_iwinfo_clients()
@@ -79,7 +79,7 @@ function TestWifi.test_netjson_clients()
7979
luaunit.assertEquals(wifi_functions.netjson_clients(wifi_data.wlan1_clients, false),
8080
wifi_data.parsed_clients)
8181
luaunit.assertEquals(wifi_functions.netjson_clients(wifi_data.wlan2_clients, false),
82-
{})
82+
nil)
8383
-- testing iwinfo clients
8484
luaunit.assertEquals(
8585
wifi_functions.netjson_clients(wifi_data.mesh0_clients.results, true),

0 commit comments

Comments
 (0)