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

Unified Diff: devil/devil/android/sdk/adb_wrapper_test.py

Issue 2899093002: [devil] Allow instantiation of AdbWrapper with USB bus identifer.
Patch Set: Allow AdbWrapper to specify devices using either serial number or USB id. serial number Created 3 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « devil/devil/android/sdk/adb_wrapper.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: devil/devil/android/sdk/adb_wrapper_test.py
diff --git a/devil/devil/android/sdk/adb_wrapper_test.py b/devil/devil/android/sdk/adb_wrapper_test.py
index ef08661208d8fe96e28cdda09dadcca79f16d478..b49d2ca97efa2ce4e3d9df6618c35746ffa5aa23 100755
--- a/devil/devil/android/sdk/adb_wrapper_test.py
+++ b/devil/devil/android/sdk/adb_wrapper_test.py
@@ -19,41 +19,102 @@ with devil_env.SysPath(devil_env.PYMOCK_PATH):
class AdbWrapperTest(unittest.TestCase):
def setUp(self):
- self.adb = adb_wrapper.AdbWrapper('ABC12345678')
+ self.adb_wrapper_serial = adb_wrapper.AdbWrapper('ABC12345678')
+ self.adb_wrapper_busid = adb_wrapper.AdbWrapper('usb:1-2.3')
+ self.adb_wrappers = [self.adb_wrapper_serial, self.adb_wrapper_busid]
- def _MockRunDeviceAdbCmd(self, return_value):
+ @staticmethod
+ def _MockRunDeviceAdbCmd(adb, mock_return_value):
return mock.patch.object(
- self.adb,
- '_RunDeviceAdbCmd',
- mock.Mock(side_effect=None, return_value=return_value))
+ adb,
+ '_RunDeviceAdbCmd',
+ mock.Mock(side_effect=None, return_value=mock_return_value))
+
+ @staticmethod
+ def _MockRunAdbCmd(mock_return_value):
+ return mock.patch(
+ 'devil.android.sdk.adb_wrapper.AdbWrapper._RunAdbCmd',
+ mock.Mock(side_effect=None, return_value=mock_return_value))
def testDisableVerityWhenDisabled(self):
- with self._MockRunDeviceAdbCmd('Verity already disabled on /system'):
- self.adb.DisableVerity()
+ mock_return_value = 'Verity already disabled on /system'
+ with self._MockRunDeviceAdbCmd(self.adb_wrapper_serial, mock_return_value):
+ self.adb_wrapper_serial.DisableVerity()
def testDisableVerityWhenEnabled(self):
- with self._MockRunDeviceAdbCmd(
- 'Verity disabled on /system\nNow reboot your device for settings to '
- 'take effect'):
- self.adb.DisableVerity()
+ mock_return_value = 'Verity disabled on /system\nNow reboot your device '\
+ 'for settings to take effect'
perezju 2017/07/04 08:24:01 nit: bad indent; try something like: mock_return_
+ with self._MockRunDeviceAdbCmd(self.adb_wrapper_serial, mock_return_value):
+ self.adb_wrapper_serial.DisableVerity()
def testEnableVerityWhenEnabled(self):
- with self._MockRunDeviceAdbCmd('Verity already enabled on /system'):
- self.adb.EnableVerity()
+ mock_return_value = 'Verity already enabled on /system'
+ with self._MockRunDeviceAdbCmd(self.adb_wrapper_serial, mock_return_value):
+ self.adb_wrapper_serial.EnableVerity()
def testEnableVerityWhenDisabled(self):
- with self._MockRunDeviceAdbCmd(
- 'Verity enabled on /system\nNow reboot your device for settings to '
- 'take effect'):
- self.adb.EnableVerity()
+ mock_return_value = 'Verity enabled on /system\nNow reboot your device '\
+ 'for settings to take effect'
perezju 2017/07/04 08:24:00 nit: bad indent.
+ with self._MockRunDeviceAdbCmd(self.adb_wrapper_serial, mock_return_value):
+ self.adb_wrapper_serial.EnableVerity()
def testFailEnableVerity(self):
- with self._MockRunDeviceAdbCmd('error: closed'):
+ mock_return_value = 'error: closed'
+ with self._MockRunDeviceAdbCmd(self.adb_wrapper_serial, mock_return_value):
self.assertRaises(
- device_errors.AdbCommandFailedError, self.adb.EnableVerity)
+ device_errors.AdbCommandFailedError,
+ self.adb_wrapper_serial.EnableVerity)
def testFailDisableVerity(self):
- with self._MockRunDeviceAdbCmd('error: closed'):
+ mock_return_value = 'error: closed'
+ with self._MockRunDeviceAdbCmd(self.adb_wrapper_serial, mock_return_value):
self.assertRaises(
- device_errors.AdbCommandFailedError, self.adb.DisableVerity)
+ device_errors.AdbCommandFailedError,
+ self.adb_wrapper_serial.DisableVerity)
+
+ def testGetStateEmpty(self):
+ mock_return_value = 'List of devices attached\n'
+ for adb in self.adb_wrappers:
+ with self._MockRunAdbCmd(mock_return_value):
+ self.assertEqual(adb.GetState(), 'offline')
+
+ def testGetStateNoPermissions(self):
+ mock_return_value = 'List of devices attached\n' \
perezju 2017/07/04 08:24:01 nit: break long string using parenthesis, so you d
+ 'PLACEHOLDER no permissions (verify udev ' \
perezju 2017/07/04 08:24:00 On the real adb output the PLACEHOLDER will always
+ 'rules); see [' \
+ 'http://developer.android.com/tools/device.html] ' \
+ 'usb:1-2.3'
+ for adb in self.adb_wrappers:
+ ret = mock_return_value.replace("PLACEHOLDER", adb.GetDeviceSerial())
+ with self._MockRunAdbCmd(ret):
+ self.assertEqual(adb.GetState(), 'no')
+
+ def testGetStateUnauthorized(self):
+ mock_return_value = 'List of devices attached\n' \
+ 'PLACEHOLDER unauthorized usb:1-2.3'
+ for adb in self.adb_wrappers:
+ ret = mock_return_value.replace("PLACEHOLDER", adb.GetDeviceSerial())
+ with self._MockRunAdbCmd(ret):
+ self.assertEqual(adb.GetState(), 'unauthorized')
+
+ def testGetStateOffline(self):
+ mock_return_value = 'List of devices attached\n' \
+ 'PLACEHOLDER offline usb:1-2.3'
+ for adb in self.adb_wrappers:
+ ret = mock_return_value.replace("PLACEHOLDER", adb.GetDeviceSerial())
+ with self._MockRunAdbCmd(ret):
+ self.assertEqual(adb.GetState(), 'offline')
+
+ def testGetStateOnline(self):
+ mock_return_value = 'List of devices attached\n' \
+ 'PLACEHOLDER device ' \
+ 'usb:1-2.3 product:ramshead' \
+ 'model:Nexus_123 device:ramshead'
+ for adb in self.adb_wrappers:
+ ret = mock_return_value.replace("PLACEHOLDER", adb.GetDeviceSerial())
+ with self._MockRunAdbCmd(ret):
+ self.assertEqual(adb.GetState(), 'device')
+
+if __name__ == '__main__':
+ unittest.main()
« 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