| #!/usr/bin/env python2 |
| # Copyright (c) 2011 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # pylint: disable-msg=C0111 |
| |
| import unittest |
| import cellular |
| import labconfig |
| # Use the same import line to keep this global on the same key |
| from autotest_lib.client.cros.cellular import labconfig_data |
| |
| |
| TEST_CELL = { |
| 'duts': [ |
| { |
| 'address': '1.2.3.4', |
| 'name': 'one_two_three_four', |
| 'technologies': ['CDMA_2000'], |
| 'rf_switch_port': 0 |
| }, |
| { |
| 'address': '5.6.7.8', |
| 'name': 'five_six_seven_eight', |
| 'technologies': ['GPRS', 'EGPRS'], |
| }, |
| ], |
| 'rf_switch': { |
| 'type': 'ether_io', |
| 'address': '172.31.206.172', |
| } |
| } |
| |
| class TestLabConfig(unittest.TestCase): |
| def setUp(self): |
| # Monkey-patch in our test cell |
| labconfig_data.CELLS['test'] = TEST_CELL |
| |
| def test_get_present_cell(self): |
| c = labconfig.Configuration(['--cell', 'test']) |
| |
| def test_get_missing_cell(self): |
| self.assertRaises(labconfig.LabConfigError, |
| labconfig.Configuration, ['--cell', 'NOT_PRESENT']) |
| |
| def test_get_dut(self): |
| c = labconfig.Configuration(['--cell', 'test']) |
| m = c._get_dut('1.2.3.4') |
| self.assertEqual('one_two_three_four', m['name']) |
| |
| m = c._get_dut('one_two_three_four') |
| self.assertEqual('one_two_three_four', m['name']) |
| |
| def test_get_technologies(self): |
| c = labconfig.Configuration(['--cell', 'test', '--technology=all']) |
| t = c.get_technologies('five_six_seven_eight') |
| self.assertEqual([cellular.Technology.GPRS, cellular.Technology.EGPRS], |
| t) |
| |
| c = labconfig.Configuration(['--cell=test', |
| '--technology=WCDMA,CDMA_2000']) |
| |
| self.assertEqual( |
| [cellular.Technology.WCDMA, cellular.Technology.CDMA_2000], |
| c.get_technologies('five_six_seven_eight')) |
| |
| def test_get_interface_ip(self): |
| self.assertEqual('127.0.0.1', labconfig.get_interface_ip('lo')) |
| |
| def test_get_rf_switch_port(self): |
| c = labconfig.Configuration(['--cell', 'test', '--technology=all']) |
| self.assertEqual(0, |
| c.get_rf_switch_port('one_two_three_four')) |
| |
| if __name__ == '__main__': |
| unittest.main() |