76 lines
2.8 KiB
Python
76 lines
2.8 KiB
Python
import os
|
|
import sys
|
|
import unittest
|
|
|
|
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', 'payload', 'user', 'remote_access', 'pager-webui'))
|
|
import server
|
|
|
|
|
|
def setUpModule():
|
|
__import__('importlib').reload(server)
|
|
|
|
|
|
class ChannelBandTest(unittest.TestCase):
|
|
def test_2g_channels(self):
|
|
for ch in (1, 6, 11, 14):
|
|
self.assertEqual(server.channel_band(ch), server.BAND_2G)
|
|
|
|
def test_5g_channels(self):
|
|
for ch in (36, 48, 100, 149, 165, 177):
|
|
self.assertEqual(server.channel_band(ch), server.BAND_5G)
|
|
|
|
def test_6g_channels(self):
|
|
for ch in (181, 189, 197, 205, 213, 225, 233):
|
|
self.assertEqual(server.channel_band(ch), server.BAND_6G)
|
|
|
|
def test_invalid(self):
|
|
for ch in (0, 15, 35, 178, 234, None, 'x'):
|
|
self.assertIsNone(server.channel_band(ch))
|
|
|
|
|
|
class ChannelBandsConsistencyTest(unittest.TestCase):
|
|
def test_lists_match_channel_band(self):
|
|
for band, channels in server.CHANNEL_BANDS.items():
|
|
for ch in channels:
|
|
self.assertEqual(server.channel_band(ch), band, '%s should be %s' % (ch, band))
|
|
|
|
def test_boundaries(self):
|
|
self.assertEqual(server.CHANNEL_BANDS[server.BAND_2G][-1], 14)
|
|
self.assertEqual(server.CHANNEL_BANDS[server.BAND_5G][-1], 177)
|
|
self.assertEqual(server.CHANNEL_BANDS[server.BAND_6G][0], 181)
|
|
self.assertEqual(server.CHANNEL_BANDS[server.BAND_6G][-1], 233)
|
|
|
|
|
|
class ChannelFreqTest(unittest.TestCase):
|
|
def test_freqs(self):
|
|
self.assertEqual(server.channel_freq(server.BAND_2G, 1), 2412)
|
|
self.assertEqual(server.channel_freq(server.BAND_2G, 11), 2462)
|
|
self.assertEqual(server.channel_freq(server.BAND_5G, 36), 5180)
|
|
self.assertEqual(server.channel_freq(server.BAND_5G, 165), 5825)
|
|
self.assertEqual(server.channel_freq(server.BAND_6G, 1), 5955)
|
|
self.assertEqual(server.channel_freq(server.BAND_6G, 233), 7115)
|
|
|
|
|
|
class BandAuxTest(unittest.TestCase):
|
|
def test_htmode(self):
|
|
self.assertEqual(server.band_htmode(server.BAND_2G), 'HT20')
|
|
self.assertEqual(server.band_htmode(server.BAND_5G), 'VHT80')
|
|
self.assertEqual(server.band_htmode(server.BAND_6G), 'HE80')
|
|
|
|
def test_radio(self):
|
|
self.assertEqual(server.band_radio(server.BAND_2G), 'radio0')
|
|
self.assertEqual(server.band_radio(server.BAND_5G), 'radio1')
|
|
self.assertEqual(server.band_radio(server.BAND_6G), 'radio1')
|
|
|
|
def test_dfs_marker(self):
|
|
for ch in (52, 64, 100, 144):
|
|
self.assertIn(ch, server.DFS_CHANNELS)
|
|
for ch in (36, 48, 149):
|
|
self.assertNotIn(ch, server.DFS_CHANNELS)
|
|
self.assertEqual(set(server.DFS_CHANNELS),
|
|
set(range(52, 65, 4)) | set(range(100, 145, 4)))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|