xref: /aosp_15_r20/external/autotest/server/cros/ap_config_unittest.py (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
1*9c5db199SXin Li# Lint as: python2, python3
2*9c5db199SXin Li# Copyright 2019 The Chromium OS Authors. All rights reserved.
3*9c5db199SXin Li# Use of this source code is governed by a BSD-style license that can be
4*9c5db199SXin Li# found in the LICENSE file.
5*9c5db199SXin Li
6*9c5db199SXin Liimport io
7*9c5db199SXin Liimport six
8*9c5db199SXin Liimport unittest
9*9c5db199SXin Li
10*9c5db199SXin Lifrom . import common
11*9c5db199SXin Li
12*9c5db199SXin Lifrom autotest_lib.client.common_lib import seven
13*9c5db199SXin Lifrom autotest_lib.server.cros import ap_config
14*9c5db199SXin Li
15*9c5db199SXin Li
16*9c5db199SXin Liclass APTestCase(unittest.TestCase):
17*9c5db199SXin Li    def test_not_rpm_managed(self):
18*9c5db199SXin Li        conf = _parse_config_from_string("""
19*9c5db199SXin Li[test_bss]
20*9c5db199SXin Lirpm_managed = False
21*9c5db199SXin Lirpm_hostname = chromeos3-row2-rack3-rpm1
22*9c5db199SXin Lirpm_outlet = .A15""")
23*9c5db199SXin Li        ap = ap_config.AP('test_bss', conf)
24*9c5db199SXin Li        self.assertIsNone(ap.get_rpm_unit())
25*9c5db199SXin Li
26*9c5db199SXin Li
27*9c5db199SXin Li    def test_rpm_managed(self):
28*9c5db199SXin Li        conf = _parse_config_from_string("""
29*9c5db199SXin Li[test_bss]
30*9c5db199SXin Lirpm_managed = True
31*9c5db199SXin Lirpm_hostname = chromeos3-row2-rack3-rpm1
32*9c5db199SXin Lirpm_outlet = .A15""")
33*9c5db199SXin Li        ap = ap_config.AP('test_bss', conf)
34*9c5db199SXin Li        rpm_unit = ap.get_rpm_unit()
35*9c5db199SXin Li        self.assertIsNotNone(rpm_unit)
36*9c5db199SXin Li        self.assertEqual('chromeos3-row2-rack3-rpm1', rpm_unit.hostname)
37*9c5db199SXin Li        self.assertEqual('.A15', rpm_unit.outlet)
38*9c5db199SXin Li
39*9c5db199SXin Li    def test_get_ap_list_returns_non_empty(self):
40*9c5db199SXin Li        self.assertGreater(len(ap_config.get_ap_list()), 0)
41*9c5db199SXin Li
42*9c5db199SXin Li
43*9c5db199SXin Lidef _parse_config_from_string(conf):
44*9c5db199SXin Li    parser = seven.config_parser()
45*9c5db199SXin Li    if six.PY2:
46*9c5db199SXin Li        parser.readfp(io.BytesIO(conf))
47*9c5db199SXin Li    else:
48*9c5db199SXin Li        parser.read_string(conf)
49*9c5db199SXin Li
50*9c5db199SXin Li    return parser
51*9c5db199SXin Li
52*9c5db199SXin Li
53*9c5db199SXin Liif __name__ == '__main__':
54*9c5db199SXin Li    unittest.main()