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