blob: c2e507cf5ddf8a6c83636dbba018699b8d1aa0d9 [file] [log] [blame]
Kuang-che Wu6e4beca2018-06-27 17:45:02 +08001# -*- coding: utf-8 -*-
Kuang-che Wu708310b2018-03-28 17:24:34 +08002# Copyright 2018 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"""Test switch_arc_prebuilt script."""
6
7from __future__ import print_function
8import unittest
9
Kuang-che Wua5723492019-11-25 20:59:34 +080010try:
11 from unittest import mock
12except ImportError:
13 # TODO(kcwu): remove once migrated to python3
14 import mock
Kuang-che Wu708310b2018-03-28 17:24:34 +080015
16import switch_arc_prebuilt
17
18
19@mock.patch('bisect_kit.common.config_logging', mock.Mock())
20class TestSwitchArcPrebuilt(unittest.TestCase):
21 """Test switch_arc_prebuilt.py."""
22
Kuang-che Wu0d90b4d2019-08-28 01:17:24 +080023 @mock.patch('bisect_kit.cros_util.is_good_dut', lambda *_: True)
Kuang-che Wu708310b2018-03-28 17:24:34 +080024 @mock.patch('bisect_kit.cros_util.query_dut_lsb_release')
25 @mock.patch('bisect_kit.arc_util.query_flavor')
26 @mock.patch('bisect_kit.arc_util.push_prebuilt_to_device')
27 def test_main(self, push_prebuilt_to_device, query_flavor,
28 query_dut_lsb_release):
Kuang-che Wu708310b2018-03-28 17:24:34 +080029 dut = 'this_is_dut'
30 flavor = 'detected_flavor'
31 bid = '123456789'
32 query_flavor.return_value = flavor
33 query_dut_lsb_release.return_value = {
34 'CHROMEOS_ARC_VERSION': flavor + '_' + bid
35 }
36
Kuang-che Wu89716072019-09-04 15:01:53 +080037 switch_arc_prebuilt.main(['--dut', dut, bid])
Kuang-che Wu94ef56e2019-01-15 21:17:42 +080038 push_prebuilt_to_device.assert_called_with(dut, flavor, bid)
Kuang-che Wu708310b2018-03-28 17:24:34 +080039
40
41if __name__ == '__main__':
42 unittest.main()