1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
#!/usr/bin/env python
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import argparse
import sys
import tempfile
import unittest
from devil import devil_env
from devil.android import device_errors
from devil.android import device_utils
from devil.android.tools import script_common
with devil_env.SysPath(devil_env.PYMOCK_PATH):
import mock # pylint: disable=import-error
with devil_env.SysPath(devil_env.DEPENDENCY_MANAGER_PATH):
# pylint: disable=wrong-import-order
from dependency_manager import exceptions
class GetDevicesTest(unittest.TestCase):
def testNoSpecs(self):
devices = [
device_utils.DeviceUtils('123'),
device_utils.DeviceUtils('456'),
]
with mock.patch(
'devil.android.device_utils.DeviceUtils.HealthyDevices',
return_value=devices):
self.assertEquals(devices, script_common.GetDevices(None, None))
def testWithDevices(self):
devices = [
device_utils.DeviceUtils('123'),
device_utils.DeviceUtils('456'),
]
with mock.patch(
'devil.android.device_utils.DeviceUtils.HealthyDevices',
return_value=devices):
self.assertEquals([device_utils.DeviceUtils('456')],
script_common.GetDevices(['456'], None))
def testMissingDevice(self):
with mock.patch(
'devil.android.device_utils.DeviceUtils.HealthyDevices',
return_value=[device_utils.DeviceUtils('123')]):
with self.assertRaises(device_errors.DeviceUnreachableError):
script_common.GetDevices(['456'], None)
def testNoDevices(self):
with mock.patch(
'devil.android.device_utils.DeviceUtils.HealthyDevices',
return_value=[]):
with self.assertRaises(device_errors.NoDevicesError):
script_common.GetDevices(None, None)
class InitializeEnvironmentTest(unittest.TestCase):
def setUp(self):
# pylint: disable=protected-access
self.parser = argparse.ArgumentParser()
script_common.AddEnvironmentArguments(self.parser)
devil_env.config = devil_env._Environment()
def testNoAdb(self):
args = self.parser.parse_args([])
script_common.InitializeEnvironment(args)
with self.assertRaises(exceptions.NoPathFoundError):
devil_env.config.LocalPath('adb')
def testAdb(self):
with tempfile.NamedTemporaryFile() as f:
args = self.parser.parse_args(['--adb-path=%s' % f.name])
script_common.InitializeEnvironment(args)
self.assertEquals(f.name, devil_env.config.LocalPath('adb'))
def testNonExistentAdb(self):
with tempfile.NamedTemporaryFile() as f:
args = self.parser.parse_args(['--adb-path=%s' % f.name])
script_common.InitializeEnvironment(args)
with self.assertRaises(exceptions.NoPathFoundError):
devil_env.config.LocalPath('adb')
if __name__ == '__main__':
sys.exit(unittest.main())
|