@@ -34,6 +34,8 @@ TestNetJSON = {
3434 return wifi_data .wlan0_iwinfo
3535 elseif arg [4 ].device == " wlan1" then
3636 return wifi_data .wlan1_iwinfo
37+ elseif arg [4 ].device == " wlan2" then
38+ return wifi_data .wlan2_iwinfo
3739 elseif arg [4 ].device == " mesh0" then
3840 return wifi_data .mesh0_iwinfo
3941 elseif arg [4 ].device == " mesh1" then
@@ -103,48 +105,68 @@ end
103105function TestNetJSON .test_wifi_interfaces ()
104106 local netjson_string = require (' netjson-monitoring' )
105107 local netjson = cjson .decode (netjson_string )
106- luaunit .assertEquals (netjson [" interfaces" ][4 ][" wireless" ][" signal" ], - 67 )
107- luaunit .assertEquals (netjson [" interfaces" ][1 ][" wireless" ][" signal" ], - 76 )
108- luaunit .assertEquals (netjson [" interfaces" ][1 ][" wireless" ][" ssid" ], " meshID" )
109- luaunit .assertEquals (netjson [" interfaces" ][4 ][" wireless" ][" ssid" ], " meshID" )
110- luaunit .assertEquals (netjson [" interfaces" ][1 ][" wireless" ][" tx_power" ], 20 )
111- luaunit .assertEquals (netjson [" interfaces" ][3 ][" wireless" ][" tx_power" ], 20 )
108+ luaunit .assertEquals (netjson [" interfaces" ][5 ][" wireless" ][" signal" ], - 67 )
109+ luaunit .assertEquals (netjson [" interfaces" ][2 ][" wireless" ][" signal" ], - 76 )
110+ luaunit .assertEquals (netjson [" interfaces" ][2 ][" wireless" ][" ssid" ], " meshID" )
111+ luaunit .assertEquals (netjson [" interfaces" ][5 ][" wireless" ][" ssid" ], " meshID" )
112+ luaunit .assertEquals (netjson [" interfaces" ][2 ][" wireless" ][" tx_power" ], 20 )
112113 luaunit .assertEquals (netjson [" interfaces" ][4 ][" wireless" ][" tx_power" ], 20 )
113114 luaunit .assertEquals (netjson [" interfaces" ][5 ][" wireless" ][" tx_power" ], 20 )
114- luaunit .assertEquals (netjson [" interfaces" ][4 ][" wireless" ][" clients" ][1 ][" vht" ], true )
115- luaunit .assertEquals (netjson [" interfaces" ][1 ][" wireless" ][" clients" ][1 ][" vht" ], false )
116- luaunit .assertEquals (netjson [" interfaces" ][1 ][" wireless" ][" frequency" ], 5200 )
117- luaunit .assertEquals (netjson [" interfaces" ][3 ][" wireless" ][" mode" ], " access_point" )
115+ luaunit .assertEquals (netjson [" interfaces" ][6 ][" wireless" ][" tx_power" ], 20 )
116+ luaunit .assertEquals (netjson [" interfaces" ][5 ][" wireless" ][" clients" ][1 ][" vht" ], true )
117+ luaunit .assertEquals (netjson [" interfaces" ][2 ][" wireless" ][" clients" ][1 ][" vht" ],
118+ false )
119+ luaunit .assertEquals (netjson [" interfaces" ][2 ][" wireless" ][" frequency" ], 5200 )
120+ luaunit .assertEquals (netjson [" interfaces" ][4 ][" wireless" ][" mode" ], " access_point" )
118121end
119122
120123function TestNetJSON .test_wifi_interfaces_stats_include ()
121124 local netjson_file = assert (loadfile (' ../files/sbin/netjson-monitoring.lua' ))
122125 local netjson = cjson .decode (netjson_file (' wlan0 wlan1 mesh1' ))
123- luaunit .assertEquals (netjson [" interfaces" ][1 ][" wireless" ][" channel" ], 40 )
124- luaunit .assertEquals (netjson [" interfaces" ][1 ][" wireless" ][" mode" ], " 802.11s" )
125- luaunit .assertEquals (netjson [" interfaces" ][5 ][" statistics" ][" rx_packets" ], 198 )
126- luaunit .assertEquals (netjson [" interfaces" ][3 ][" statistics" ][" rx_packets" ], 2367515 )
127- luaunit .assertEquals (netjson [" interfaces" ][5 ][" statistics" ][" rx_bytes" ], 25967 )
128- luaunit .assertEquals (netjson [" interfaces" ][5 ][" statistics" ][" tx_bytes" ], 531641723 )
129- luaunit .assertEquals (netjson [" interfaces" ][1 ][" statistics" ][" tx_bytes" ],
126+ luaunit .assertEquals (netjson [" interfaces" ][2 ][" wireless" ][" channel" ], 40 )
127+ luaunit .assertEquals (netjson [" interfaces" ][2 ][" wireless" ][" mode" ], " 802.11s" )
128+ luaunit .assertEquals (netjson [" interfaces" ][6 ][" statistics" ][" rx_packets" ], 198 )
129+ luaunit .assertEquals (netjson [" interfaces" ][4 ][" statistics" ][" rx_packets" ], 2367515 )
130+ luaunit .assertEquals (netjson [" interfaces" ][6 ][" statistics" ][" rx_bytes" ], 25967 )
131+ luaunit .assertEquals (netjson [" interfaces" ][6 ][" statistics" ][" tx_bytes" ], 531641723 )
132+ luaunit .assertEquals (netjson [" interfaces" ][2 ][" statistics" ][" tx_bytes" ],
130133 151599685066 )
131- luaunit .assertEquals (netjson [" interfaces" ][5 ][" statistics" ][" tx_packets" ], 2367747 )
132- luaunit .assertEquals (netjson [" interfaces" ][1 ][" statistics" ][" tx_errors" ], 0 )
133- luaunit .assertEquals (netjson [" interfaces" ][3 ][" statistics" ][" tx_errors" ], 0 )
134- luaunit .assertEquals (netjson [" interfaces" ][5 ][" statistics" ][" tx_errors" ], 0 )
134+ luaunit .assertEquals (netjson [" interfaces" ][6 ][" statistics" ][" tx_packets" ], 2367747 )
135+ luaunit .assertEquals (netjson [" interfaces" ][2 ][" statistics" ][" tx_errors" ], 0 )
136+ luaunit .assertEquals (netjson [" interfaces" ][4 ][" statistics" ][" tx_errors" ], 0 )
137+ luaunit .assertEquals (netjson [" interfaces" ][6 ][" statistics" ][" tx_errors" ], 0 )
135138end
136139
137140function TestNetJSON .test_wifi_interfaces_stats_include_htmode ()
138141 local netjson_file = assert (loadfile (' ../files/sbin/netjson-monitoring.lua' ))
139142 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" )
143+ luaunit .assertEquals (netjson [" interfaces" ][1 ][" name" ], " wlan2" )
144+ luaunit .assertEquals (netjson [" interfaces" ][2 ][" name" ], " mesh1" )
145+ luaunit .assertEquals (netjson [" interfaces" ][2 ][" wireless" ][" htmode" ], " VHT80" )
146+ luaunit .assertEquals (netjson [" interfaces" ][4 ][" name" ], " wlan1" )
147+ luaunit .assertEquals (netjson [" interfaces" ][4 ][" wireless" ][" htmode" ], " VHT80" )
148+ luaunit .assertEquals (netjson [" interfaces" ][5 ][" name" ], " mesh0" )
147149 luaunit .assertEquals (netjson [" interfaces" ][5 ][" wireless" ][" htmode" ], " HT20" )
150+ luaunit .assertEquals (netjson [" interfaces" ][6 ][" name" ], " wlan0" )
151+ luaunit .assertEquals (netjson [" interfaces" ][6 ][" wireless" ][" htmode" ], " HT20" )
148152end
149153
154+ function TestNetJSON .test_wifi_interfaces_when_iwinfo_channel_empty ()
155+ local netjson_file = assert (loadfile (' ../files/sbin/netjson-monitoring.lua' ))
156+ local netjson = cjson .decode (netjson_file (' wlan0 wlan1 wlan2 mesh1' ))
157+ -- make sure the correct `name` and `type` are present in the netjson
158+ luaunit .assertEquals (netjson [" interfaces" ][1 ][" name" ], " wlan2" )
159+ luaunit .assertEquals (netjson [" interfaces" ][1 ][" type" ], " wireless" )
160+ -- the `wireless` key should be missing when "iwinfo.channel" is `nil`
161+ luaunit .assertNil (netjson [" interfaces" ][1 ][" wireless" ])
162+ luaunit .assertEquals (netjson [" interfaces" ][2 ][" name" ], " mesh1" )
163+ luaunit .assertIsTable (netjson [" interfaces" ][2 ][" wireless" ])
164+ luaunit .assertEquals (netjson [" interfaces" ][3 ][" name" ], " wan" )
165+ luaunit .assertEquals (netjson [" interfaces" ][4 ][" name" ], " wlan1" )
166+ luaunit .assertIsTable (netjson [" interfaces" ][4 ][" wireless" ])
167+ luaunit .assertEquals (netjson [" interfaces" ][5 ][" name" ], " mesh0" )
168+ luaunit .assertIsTable (netjson [" interfaces" ][5 ][" wireless" ])
169+ luaunit .assertEquals (netjson [" interfaces" ][6 ][" name" ], " wlan0" )
170+ luaunit .assertIsTable (netjson [" interfaces" ][6 ][" wireless" ])
171+ end
150172os.exit (luaunit .LuaUnit .run ())
0 commit comments