blob: 8cec942729cfc3d9a078b0dfa64ee705bf026dc0 [file] [log] [blame]
Xixuan Wu51bb7102019-03-18 14:51:44 -07001# Copyright 2018 The Chromium OS Authors. All rights reserved.
Xixuan Wuabbaa4c2017-08-23 17:31:49 -07002# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
Xixuan Wu51bb7102019-03-18 14:51:44 -07005"""Module for task config reader unittests."""
Xixuan Wu5ff0fac2019-01-07 10:06:35 -08006# pylint: disable=g-missing-super-call
Xixuan Wuabbaa4c2017-08-23 17:31:49 -07007
8import unittest
9
10import config_reader
Xixuan Wu244e0ec2018-05-23 14:49:55 -070011
Xixuan Wuabbaa4c2017-08-23 17:31:49 -070012
13class LabReaderTestCase(unittest.TestCase):
14
15 def setUp(self):
16 self.config = config_reader.ConfigReader(None)
Xixuan Wu26d06e02017-09-20 14:50:28 -070017 self.config.add_section(config_reader.ANDROID_SETTINGS)
Xixuan Wu6fb16272017-10-19 13:16:00 -070018 self.config.add_section(config_reader.CROS_SETTINGS)
Xixuan Wuabbaa4c2017-08-23 17:31:49 -070019
20 def testGetAndroidBoardList(self):
21 """Ensure android board list can be correctly fetched."""
Xixuan Wu26d06e02017-09-20 14:50:28 -070022 self.config.set(config_reader.ANDROID_SETTINGS, 'board_list',
23 '\nabox_edge,\nandroid-angler-1,\nangler-6')
Xixuan Wuabbaa4c2017-08-23 17:31:49 -070024 lab_config = config_reader.LabConfig(self.config)
25 self.assertEqual(lab_config.get_android_board_list(),
Dhanya Ganeshc45d3192020-08-06 20:52:12 +000026 set([]))
Xixuan Wuabbaa4c2017-08-23 17:31:49 -070027
Xixuan Wu6fb16272017-10-19 13:16:00 -070028 def testGetCrOSBoardList(self):
29 """Ensure android board list can be correctly fetched."""
30 self.config.set(config_reader.CROS_SETTINGS, 'board_list',
Dhanya Ganeshc45d3192020-08-06 20:52:12 +000031 '\nlink')
Xixuan Wu6fb16272017-10-19 13:16:00 -070032 lab_config = config_reader.LabConfig(self.config)
33 self.assertEqual(lab_config.get_cros_board_list(),
34 set(['link']))
35
C Shapiro7f24a002017-12-05 14:25:09 -070036 def testGetCrOSModelMap(self):
37 """Ensure cros_model_map can be correctly fetched."""
38 self.config.set(config_reader.CROS_SETTINGS, 'model_list',
39 '\ncoral_astronaut,\ncoral_robo360')
40 lab_config = config_reader.LabConfig(self.config)
41 result = lab_config.get_cros_model_map()
42 self.assertEqual(len(result), 1)
43 self.assertEqual(result['coral'], ['astronaut', 'robo360'])
44
Xixuan Wuf4a4c882019-03-15 14:48:26 -070045 def testGetEmptyCrOSModelMap(self):
46 """Ensure cros_model_map can be correctly fetched."""
47 lab_config = config_reader.LabConfig(self.config)
48 self.assertEqual(lab_config.get_cros_model_map(), {})
49
Garry Wang6ca42dd2022-02-28 21:54:19 -080050 def testGetAndroidModelMap(self):
51 """Ensure android_model_map can be correctly fetched."""
52 self.config.set(config_reader.ANDROID_SETTINGS, 'model_list',
53 '\npixel3_pixel3xl,\npixel3_pixel3a,\npixel4_pixel4a')
54 lab_config = config_reader.LabConfig(self.config)
55 expected = {'pixel3': ['pixel3xl', 'pixel3a'],
56 'pixel4': ['pixel4a']}
57 actual = lab_config.get_android_model_map()
58 self.assertEqual(len(actual), 2)
59 self.assertEqual(actual, expected)
60
Xixuan Wuf4a4c882019-03-15 14:48:26 -070061
Xixuan Wuabbaa4c2017-08-23 17:31:49 -070062if __name__ == '__main__':
63 unittest.main()