1*9c5db199SXin Li#!/usr/bin/python3 2*9c5db199SXin Li# Copyright 2016 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 Liimport unittest 7*9c5db199SXin Li 8*9c5db199SXin Liimport common 9*9c5db199SXin Lifrom autotest_lib.server import afe_utils 10*9c5db199SXin Li 11*9c5db199SXin Li 12*9c5db199SXin Liclass FakeHostInfo(object): 13*9c5db199SXin Li def __init__(self, board, cros_stable_version, servo_cros_stable_version): 14*9c5db199SXin Li self._board = board 15*9c5db199SXin Li self._cros_stable_version = cros_stable_version 16*9c5db199SXin Li self._servo_cros_stable_version = servo_cros_stable_version 17*9c5db199SXin Li 18*9c5db199SXin Li @property 19*9c5db199SXin Li def board(self): 20*9c5db199SXin Li return self._board 21*9c5db199SXin Li 22*9c5db199SXin Li @property 23*9c5db199SXin Li def cros_stable_version(self): 24*9c5db199SXin Li return self._cros_stable_version 25*9c5db199SXin Li 26*9c5db199SXin Li @property 27*9c5db199SXin Li def servo_cros_stable_version(self): 28*9c5db199SXin Li return self._servo_cros_stable_version 29*9c5db199SXin Li 30*9c5db199SXin Li 31*9c5db199SXin Liclass AfeUtilsTestCase(unittest.TestCase): 32*9c5db199SXin Li def test_get_stable_cros_image_name_v2(self): 33*9c5db199SXin Li board = "xxx-board" 34*9c5db199SXin Li host_info = FakeHostInfo( 35*9c5db199SXin Li board=board, 36*9c5db199SXin Li servo_cros_stable_version="some garbage", 37*9c5db199SXin Li cros_stable_version="R1-2.3.4" 38*9c5db199SXin Li ) 39*9c5db199SXin Li expected = "xxx-board-release/R1-2.3.4" 40*9c5db199SXin Li out = afe_utils.get_stable_cros_image_name_v2(host_info=host_info) 41*9c5db199SXin Li self.assertEqual(out, expected) 42*9c5db199SXin Li 43*9c5db199SXin Li 44*9c5db199SXin Liif __name__ == '__main__': 45*9c5db199SXin Li unittest.main() 46