|
1 | 1 | package.path = package.path .. |
2 | 2 | ";../files/lib/openwisp-monitoring/?.lua;../files/sbin/?.lua" |
3 | 3 |
|
| 4 | +local cjson = require('cjson') |
4 | 5 | local wifi_data = require('test_files/wireless_data') |
5 | 6 | local luaunit = require('luaunit') |
6 | 7 | local wifi_functions = require('wifi') |
7 | 8 |
|
8 | | -local function string_count(base, pattern) |
9 | | - return select(2, string.gsub(base, pattern, "")) |
10 | | -end |
11 | | - |
12 | 9 | TestWifi = {setUp = function() end, tearDown = function() end} |
13 | 10 |
|
14 | 11 | TestNetJSON = { |
@@ -104,31 +101,37 @@ function TestWifi.test_invert_rx_tx() |
104 | 101 | end |
105 | 102 |
|
106 | 103 | function TestNetJSON.test_wifi_interfaces() |
107 | | - local netjson = require('netjson-monitoring') |
108 | | - luaunit.assertNotNil(string.find(netjson, '"signal":-67', 1, true)) |
109 | | - luaunit.assertNotNil(string.find(netjson, '"signal":-76', 1, true)) |
110 | | - luaunit.assertEquals(string_count(netjson, '"ssid":"meshID"'), 2) |
111 | | - luaunit.assertEquals(string_count(netjson, '"tx_power":20'), 4) |
112 | | - luaunit.assertEquals(string_count(netjson, '"vht":true'), 1) |
113 | | - luaunit.assertEquals(string_count(netjson, '"vht":false'), 1) |
114 | | - luaunit.assertEquals(string_count(netjson, '"tx_power":20'), 4) |
115 | | - luaunit.assertEquals(string_count(netjson, '"frequency":5200'), 1) |
116 | | - luaunit.assertEquals(string_count(netjson, '"mode":"access_point"'), 1) |
| 104 | + local netjson_string = require('netjson-monitoring') |
| 105 | + 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) |
| 112 | + luaunit.assertEquals(netjson["interfaces"][4]["wireless"]["tx_power"], 20) |
| 113 | + 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") |
117 | 118 | end |
118 | 119 |
|
119 | 120 | function TestNetJSON.test_wifi_interfaces_stats_include() |
120 | 121 | local netjson_file = assert(loadfile('../files/sbin/netjson-monitoring.lua')) |
121 | | - local netjson = netjson_file('wlan0 wlan1 mesh1') |
122 | | - luaunit.assertNotNil(string.find(netjson, '"channel":40', 1, true)) |
123 | | - luaunit.assertNotNil(string.find(netjson, '"mode":"802.11s"', 1, true)) |
124 | | - luaunit.assertNotNil(string.find(netjson, '"rx_packets":198', 1, true)) |
125 | | - luaunit.assertNotNil(string.find(netjson, '"rx_packets":2367515', 1, true)) |
126 | | - luaunit.assertNotNil(string.find(netjson, '"rx_bytes":25967', 1, true)) |
127 | | - luaunit.assertNotNil(string.find(netjson, '"tx_bytes":531641723', 1, true)) |
128 | | - luaunit.assertNotNil(string.find(netjson, '"tx_bytes":151599685066', 1, true)) |
129 | | - luaunit.assertNotNil(string.find(netjson, '"tx_packets":2367747', 1, true)) |
130 | | - luaunit.assertNotNil(string.find(netjson, '"tx_packets":2367747', 1, true)) |
131 | | - luaunit.assertEquals(string_count(netjson, '"tx_errors":0'), 3) |
| 122 | + 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"], |
| 130 | + 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) |
132 | 135 | end |
133 | 136 |
|
134 | 137 | os.exit(luaunit.LuaUnit.run()) |
0 commit comments