xref: /aosp_15_r20/external/autotest/client/cros/cellular/labconfig_test.py (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
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