Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(613)

Side by Side Diff: devil/devil/android/sdk/adb_wrapper_test.py

Issue 2899093002: [devil] Allow instantiation of AdbWrapper with USB bus identifer.
Patch Set: [devil] Reorganize comments and add warning when instantiating an AdbWrapper from USB id. Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « devil/devil/android/sdk/adb_wrapper.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2017 The Chromium Authors. All rights reserved. 2 # Copyright 2017 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """ 6 """
7 Unit tests for some APIs with conditional logic in adb_wrapper.py 7 Unit tests for some APIs with conditional logic in adb_wrapper.py
8 """ 8 """
9 9
10 import unittest 10 import unittest
11 11
12 from devil import devil_env 12 from devil import devil_env
13 from devil.android import device_errors 13 from devil.android import device_errors
14 from devil.android.sdk import adb_wrapper 14 from devil.android.sdk import adb_wrapper
15 15
16 with devil_env.SysPath(devil_env.PYMOCK_PATH): 16 with devil_env.SysPath(devil_env.PYMOCK_PATH):
17 import mock # pylint: disable=import-error 17 import mock # pylint: disable=import-error
18 18
19 19
20 def MockRunDeviceAdbCmd(adb, return_value):
21 return mock.patch.object(
22 adb,
23 '_RunDeviceAdbCmd',
rnephew (Reviews Here) 2017/05/30 20:15:05 This is the method that has its return value mocke
24 mock.Mock(side_effect=None, return_value=return_value))
25
26
20 class AdbWrapperTest(unittest.TestCase): 27 class AdbWrapperTest(unittest.TestCase):
21 def setUp(self): 28 def setUp(self):
22 self.adb = adb_wrapper.AdbWrapper('ABC12345678') 29 self.adb_wrappers = [
23 30 adb_wrapper.AdbWrapper('ABC12345678'),
24 def _MockRunDeviceAdbCmd(self, return_value): 31 adb_wrapper.AdbWrapper('usb:1-2.3'),
25 return mock.patch.object( 32 ]
26 self.adb,
27 '_RunDeviceAdbCmd',
28 mock.Mock(side_effect=None, return_value=return_value))
29 33
30 def testDisableVerityWhenDisabled(self): 34 def testDisableVerityWhenDisabled(self):
31 with self._MockRunDeviceAdbCmd('Verity already disabled on /system'): 35 return_value = 'Verity already disabled on /system'
32 self.adb.DisableVerity() 36 for adb in self.adb_wrappers:
37 with MockRunDeviceAdbCmd(adb, return_value):
38 adb.DisableVerity()
33 39
34 def testDisableVerityWhenEnabled(self): 40 def testDisableVerityWhenEnabled(self):
35 with self._MockRunDeviceAdbCmd( 41 return_value = 'Verity disabled on /system\nNow reboot your device for ' \
36 'Verity disabled on /system\nNow reboot your device for settings to ' 42 'settings to take effect'
37 'take effect'): 43 for adb in self.adb_wrappers:
38 self.adb.DisableVerity() 44 with MockRunDeviceAdbCmd(adb, return_value):
45 adb.DisableVerity()
39 46
40 def testEnableVerityWhenEnabled(self): 47 def testEnableVerityWhenEnabled(self):
41 with self._MockRunDeviceAdbCmd('Verity already enabled on /system'): 48 return_value = 'Verity already enabled on /system'
42 self.adb.EnableVerity() 49 for adb in self.adb_wrappers:
50 with MockRunDeviceAdbCmd(adb, return_value):
51 adb.EnableVerity()
43 52
44 def testEnableVerityWhenDisabled(self): 53 def testEnableVerityWhenDisabled(self):
45 with self._MockRunDeviceAdbCmd( 54 return_value = 'Verity enabled on /system\nNow reboot your device for ' \
46 'Verity enabled on /system\nNow reboot your device for settings to ' 55 'settings to take effect'
47 'take effect'): 56 for adb in self.adb_wrappers:
48 self.adb.EnableVerity() 57 with MockRunDeviceAdbCmd(adb, return_value):
58 adb.EnableVerity()
49 59
50 def testFailEnableVerity(self): 60 def testFailEnableVerity(self):
51 with self._MockRunDeviceAdbCmd('error: closed'): 61 return_value = 'error: closed'
52 self.assertRaises( 62 for adb in self.adb_wrappers:
53 device_errors.AdbCommandFailedError, self.adb.EnableVerity) 63 with MockRunDeviceAdbCmd(adb, return_value):
64 self.assertRaises(device_errors.AdbCommandFailedError, adb.EnableVerity)
54 65
55 def testFailDisableVerity(self): 66 def testFailDisableVerity(self):
56 with self._MockRunDeviceAdbCmd('error: closed'): 67 return_value = 'error: closed'
57 self.assertRaises( 68 for adb in self.adb_wrappers:
58 device_errors.AdbCommandFailedError, self.adb.DisableVerity) 69 with MockRunDeviceAdbCmd(adb, return_value):
70 self.assertRaises(device_errors.AdbCommandFailedError,
71 adb.DisableVerity)
59 72
73 def testGetStateOnline(self):
74 return_value = 'device'
75 for adb in self.adb_wrappers:
76 with MockRunDeviceAdbCmd(adb, return_value):
77 adb.GetState()
78
79 def testGetStateOffline(self):
80 return_value = 'offline'
81 for adb in self.adb_wrappers:
82 with MockRunDeviceAdbCmd(adb, return_value):
83 adb.GetState()
84
85 def testGetStateUnauthorized(self):
86 return_value = 'unauthorized'
87 for adb in self.adb_wrappers:
88 with MockRunDeviceAdbCmd(adb, return_value):
89 adb.GetState()
90
91 def testGetStateBootloader(self):
92 return_value = 'bootloader'
93 for adb in self.adb_wrappers:
94 with MockRunDeviceAdbCmd(adb, return_value):
95 adb.GetState()
96
97 def testGetStateNoPermissions(self):
98 return_value = 'no' # as in 'no permissions'
99 for adb in self.adb_wrappers:
100 with MockRunDeviceAdbCmd(adb, return_value):
101 adb.GetState()
102
103
104 if __name__ == '__main__':
105 unittest.main()
OLDNEW
« no previous file with comments | « devil/devil/android/sdk/adb_wrapper.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698