#!/usr/bin/env python
# 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()