• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
6import urlparse
7import unittest
8
9import logging
10import common
11from autotest_lib.server import afe_utils
12
13
14from autotest_lib.site_utils import stable_version_classify as sv
15
16class 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
23class 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
42class 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
64if __name__ == '__main__':
65    unittest.main()
66