From 27df97ec4361f0a2d61952f1a2a937a6e5d23e13 Mon Sep 17 00:00:00 2001 From: c4ch3c4d3 Date: Mon, 17 Aug 2026 23:15:01 -0500 Subject: [PATCH] test: pin CHANNEL_BANDS consistency and DFS coverage --- .../user/remote_access/pager-webui/server.py | 8 +++---- tests/test_pineap_bands.py | 22 ++++++++++++++++--- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/payload/user/remote_access/pager-webui/server.py b/payload/user/remote_access/pager-webui/server.py index 5f9994a..d4d1f2b 100644 --- a/payload/user/remote_access/pager-webui/server.py +++ b/payload/user/remote_access/pager-webui/server.py @@ -1599,11 +1599,9 @@ BAND_5G = '5' BAND_6G = '6' CHANNEL_BANDS = { - BAND_2G: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - BAND_5G: [36, 40, 44, 48, 52, 56, 60, 64, - 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, - 149, 153, 157, 161, 165], - BAND_6G: list(range(1, 234, 4)), + BAND_2G: list(range(1, 15)), + BAND_5G: list(range(36, 178)), + BAND_6G: list(range(181, 234, 4)), } DFS_CHANNELS = frozenset([52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144]) diff --git a/tests/test_pineap_bands.py b/tests/test_pineap_bands.py index 773b5b5..e23a19c 100644 --- a/tests/test_pineap_bands.py +++ b/tests/test_pineap_bands.py @@ -28,6 +28,19 @@ class ChannelBandTest(unittest.TestCase): 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) @@ -50,9 +63,12 @@ class BandAuxTest(unittest.TestCase): self.assertEqual(server.band_radio(server.BAND_6G), 'radio1') def test_dfs_marker(self): - self.assertIn(52, server.DFS_CHANNELS) - self.assertIn(144, server.DFS_CHANNELS) - self.assertNotIn(149, server.DFS_CHANNELS) + 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__':