Gregory Nisbet | 265a52c | 2019-12-10 20:38:42 -0800 | [diff] [blame] | 1 | #!/usr/bin/python2 |
| 2 | # Copyright 2016 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 | import urlparse |
| 7 | import unittest |
| 8 | |
| 9 | import logging |
| 10 | import common |
| 11 | from autotest_lib.server import afe_utils |
| 12 | |
| 13 | |
| 14 | from autotest_lib.site_utils import stable_version_classify as sv |
| 15 | |
| 16 | class FakeConfigFromHost(object): |
| 17 | def get_config_value(self, _namespace, item, **kargs): |
| 18 | return { |
| 19 | "stable_version_config_repo_enable": True, |
| 20 | "stable_version_config_repo_opt_in_boards": ":all", |
| 21 | }[item] |
| 22 | |
| 23 | class FakeHostInfo(object): |
| 24 | def __init__(self, board, cros_stable_version, servo_cros_stable_version): |
| 25 | self._board = board |
| 26 | self._cros_stable_version = cros_stable_version |
| 27 | self._servo_cros_stable_version = servo_cros_stable_version |
| 28 | |
| 29 | @property |
| 30 | def board(self): |
| 31 | return self._board |
| 32 | |
| 33 | @property |
| 34 | def cros_stable_version(self): |
| 35 | return self._cros_stable_version |
| 36 | |
| 37 | @property |
| 38 | def servo_cros_stable_version(self): |
| 39 | return self._servo_cros_stable_version |
| 40 | |
| 41 | |
| 42 | class AfeUtilsTestCase(unittest.TestCase): |
| 43 | def test_get_stable_cros_image_name_v2(self): |
| 44 | board = "xxx-board" |
| 45 | host_info = FakeHostInfo( |
| 46 | board=board, |
| 47 | servo_cros_stable_version="some garbage", |
| 48 | cros_stable_version="R1-2.3.4" |
| 49 | ) |
| 50 | expected = "xxx-board-release/R1-2.3.4" |
| 51 | config = FakeConfigFromHost() |
| 52 | out = afe_utils.get_stable_cros_image_name_v2(info=host_info, _config_override=config) |
| 53 | self.assertEqual(out, expected) |
| 54 | |
| 55 | def test_get_stable_servo_cros_image_name_v2(self): |
| 56 | board = "xxx-board" |
| 57 | servo_cros_stable_version="R7-8.9.10" |
| 58 | expected = "xxx-board-release/R7-8.9.10" |
| 59 | config = FakeConfigFromHost() |
| 60 | out = afe_utils.get_stable_servo_cros_image_name_v2(board="xxx-board", servo_version_from_hi=servo_cros_stable_version, _config_override=config) |
| 61 | self.assertEqual(out, expected) |
| 62 | |
| 63 | |
| 64 | if __name__ == '__main__': |
| 65 | unittest.main() |