Skip to content

Commit 45f50ac

Browse files
authored
[feature] Added htmode to wireless interface stats #117
Closes #117
1 parent 452f7f9 commit 45f50ac

2 files changed

Lines changed: 18 additions & 3 deletions

File tree

openwisp-monitoring/files/sbin/netjson-monitoring.lua

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ for _, radio in pairs(wireless_status) do
7777
local name = interface.ifname
7878
local is_mesh = false
7979
local clients = nil
80+
local htmode = radio.config.htmode
8081
if name and not monitoring.utils.is_excluded(name) then
8182
local iwinfo = ubus:call('iwinfo', 'info', {device = name})
8283
local netjson_interface = {
@@ -90,7 +91,8 @@ for _, radio in pairs(wireless_status) do
9091
tx_power = iwinfo.txpower,
9192
signal = iwinfo.signal,
9293
noise = iwinfo.noise,
93-
country = iwinfo.country
94+
country = iwinfo.country,
95+
htmode = htmode
9496
}
9597
}
9698
if iwinfo.mode == 'Ad-Hoc' or iwinfo.mode == 'Mesh Point' then

openwisp-monitoring/tests/test_wifi.lua

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package.path = package.path ..
22
";../files/lib/openwisp-monitoring/?.lua;../files/sbin/?.lua"
33

4-
local cjson = require('cjson')
5-
local wifi_data = require('test_files/wireless_data')
4+
local cjson = require("cjson")
65
local luaunit = require('luaunit')
76
local wifi_functions = require('wifi')
7+
local wifi_data = require('test_files/wireless_data')
88

99
TestWifi = {setUp = function() end, tearDown = function() end}
1010

@@ -134,4 +134,17 @@ function TestNetJSON.test_wifi_interfaces_stats_include()
134134
luaunit.assertEquals(netjson["interfaces"][5]["statistics"]["tx_errors"], 0)
135135
end
136136

137+
function TestNetJSON.test_wifi_interfaces_stats_include_htmode()
138+
local netjson_file = assert(loadfile('../files/sbin/netjson-monitoring.lua'))
139+
local netjson = cjson.decode(netjson_file('wlan0 wlan1 mesh1'))
140+
luaunit.assertEquals(netjson["interfaces"][1]["name"], "mesh1")
141+
luaunit.assertEquals(netjson["interfaces"][1]["wireless"]["htmode"], "VHT80")
142+
luaunit.assertEquals(netjson["interfaces"][3]["name"], "wlan1")
143+
luaunit.assertEquals(netjson["interfaces"][3]["wireless"]["htmode"], "VHT80")
144+
luaunit.assertEquals(netjson["interfaces"][4]["name"], "mesh0")
145+
luaunit.assertEquals(netjson["interfaces"][4]["wireless"]["htmode"], "HT20")
146+
luaunit.assertEquals(netjson["interfaces"][5]["name"], "wlan0")
147+
luaunit.assertEquals(netjson["interfaces"][5]["wireless"]["htmode"], "HT20")
148+
end
149+
137150
os.exit(luaunit.LuaUnit.run())

0 commit comments

Comments
 (0)