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