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()