script_common_test.py revision cef7893435aa41160dd1255c43cb8498279738cc
1#!/usr/bin/env python 2# Copyright 2015 The Chromium 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 7import sys 8import unittest 9 10from devil import devil_env 11from devil.android import device_errors 12from devil.android import device_utils 13from devil.android.tools import script_common 14 15with devil_env.SysPath(devil_env.PYMOCK_PATH): 16 import mock # pylint: disable=import-error 17 18 19class ScriptCommonTest(unittest.TestCase): 20 21 def testGetDevices_noSpecs(self): 22 devices = [ 23 device_utils.DeviceUtils('123'), 24 device_utils.DeviceUtils('456'), 25 ] 26 with mock.patch('devil.android.device_utils.DeviceUtils.HealthyDevices', 27 return_value=devices): 28 self.assertEquals( 29 devices, 30 script_common.GetDevices(None, None)) 31 32 def testGetDevices_withDevices(self): 33 devices = [ 34 device_utils.DeviceUtils('123'), 35 device_utils.DeviceUtils('456'), 36 ] 37 with mock.patch('devil.android.device_utils.DeviceUtils.HealthyDevices', 38 return_value=devices): 39 self.assertEquals( 40 [device_utils.DeviceUtils('456')], 41 script_common.GetDevices(['456'], None)) 42 43 def testGetDevices_missingDevice(self): 44 with mock.patch('devil.android.device_utils.DeviceUtils.HealthyDevices', 45 return_value=[device_utils.DeviceUtils('123')]): 46 with self.assertRaises(device_errors.DeviceUnreachableError): 47 script_common.GetDevices(['456'], None) 48 49 def testGetDevices_noDevices(self): 50 with mock.patch('devil.android.device_utils.DeviceUtils.HealthyDevices', 51 return_value=[]): 52 with self.assertRaises(device_errors.NoDevicesError): 53 script_common.GetDevices(None, None) 54 55 56if __name__ == '__main__': 57 sys.exit(unittest.main()) 58 59