1 #!/usr/bin/env python 2 # Copyright (c) 2011 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 6 # pylint: disable-msg=C0111 7 8 import unittest 9 import cellular 10 import labconfig 11 # Use the same import line to keep this global on the same key 12 from autotest_lib.client.cros.cellular import labconfig_data 13 14 15 TEST_CELL = { 16 'duts': [ 17 { 18 'address': '1.2.3.4', 19 'name': 'one_two_three_four', 20 'technologies': ['CDMA_2000'], 21 'rf_switch_port': 0 22 }, 23 { 24 'address': '5.6.7.8', 25 'name': 'five_six_seven_eight', 26 'technologies': ['GPRS', 'EGPRS'], 27 }, 28 ], 29 'rf_switch': { 30 'type': 'ether_io', 31 'address': '172.31.206.172', 32 } 33 } 34 35 class TestLabConfig(unittest.TestCase): 36 def setUp(self): 37 # Monkey-patch in our test cell 38 labconfig_data.CELLS['test'] = TEST_CELL 39 40 def test_get_present_cell(self): 41 c = labconfig.Configuration(['--cell', 'test']) 42 43 def test_get_missing_cell(self): 44 self.assertRaises(labconfig.LabConfigError, 45 labconfig.Configuration, ['--cell', 'NOT_PRESENT']) 46 47 def test_get_dut(self): 48 c = labconfig.Configuration(['--cell', 'test']) 49 m = c._get_dut('1.2.3.4') 50 self.assertEqual('one_two_three_four', m['name']) 51 52 m = c._get_dut('one_two_three_four') 53 self.assertEqual('one_two_three_four', m['name']) 54 55 def test_get_technologies(self): 56 c = labconfig.Configuration(['--cell', 'test', '--technology=all']) 57 t = c.get_technologies('five_six_seven_eight') 58 self.assertEqual([cellular.Technology.GPRS, cellular.Technology.EGPRS], 59 t) 60 61 c = labconfig.Configuration(['--cell=test', 62 '--technology=WCDMA,CDMA_2000']) 63 64 self.assertEqual( 65 [cellular.Technology.WCDMA, cellular.Technology.CDMA_2000], 66 c.get_technologies('five_six_seven_eight')) 67 68 def test_get_interface_ip(self): 69 self.assertEqual('127.0.0.1', labconfig.get_interface_ip('lo')) 70 71 def test_get_rf_switch_port(self): 72 c = labconfig.Configuration(['--cell', 'test', '--technology=all']) 73 self.assertEqual(0, 74 c.get_rf_switch_port('one_two_three_four')) 75 76 if __name__ == '__main__': 77 unittest.main() 78