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

Unified Diff: tools/chrome_remote_control/chrome_remote_control/android_browser_finder_unittest.py

Issue 10945043: [chrome_remote_control] Use monkey patching for stubs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: PyLint Created 8 years, 3 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
Index: tools/chrome_remote_control/chrome_remote_control/android_browser_finder_unittest.py
diff --git a/tools/chrome_remote_control/chrome_remote_control/android_browser_finder_unittest.py b/tools/chrome_remote_control/chrome_remote_control/android_browser_finder_unittest.py
index d7d5eb6500473e21fb9dc2432a154e5a0c9a0e48..c2de1640b3e9c3c05830b952eb76b4073c116bca 100644
--- a/tools/chrome_remote_control/chrome_remote_control/android_browser_finder_unittest.py
+++ b/tools/chrome_remote_control/chrome_remote_control/android_browser_finder_unittest.py
@@ -6,83 +6,41 @@ import unittest
from chrome_remote_control import android_browser_finder
from chrome_remote_control import browser_options
-from chrome_remote_control.system_stub import PopenStub
-from chrome_remote_control.system_stub import SubprocessModuleStub
+from chrome_remote_control import system_stub
-# adb not even found
-# android_browser_finder not returning
-class ADBCommandsStub(object):
- def __init__(self, module, device):
- self._module = module
- self._device = device
- self.is_root_enabled = True
-
- def RunShellCommand(self, args):
- if isinstance(args, basestring):
- import shlex
- args = shlex.split(args)
- handler = self._module.shell_command_handlers[args[0]]
- return handler(args)
-
- def IsRootEnabled(self):
- return self.is_root_enabled
-
-class ADBCommandsModuleStub(object):
- def __init__(self):
- self.attached_devices = []
- self.shell_command_handlers = {}
-
- def ADBCommandsStubConstructor(device=None):
- return ADBCommandsStub(self, device)
- self.ADBCommands = ADBCommandsStubConstructor
-
- def IsAndroidSupported(self): # pylint: disable=R0201
- return True
-
- def GetAttachedDevices(self):
- return self.attached_devices
+class AndroidBrowserFinderTest(unittest.TestCase):
+ def setUp(self):
+ self._stubs = system_stub.Override(android_browser_finder,
+ ['adb_commands', 'subprocess'])
- def HasForwarder(self, adb): # pylint: disable=W0613,R0201
- return True
+ def tearDown(self):
+ self._stubs.Restore()
-class AndroidBrowserFinderTest(unittest.TestCase):
def test_no_adb(self):
options = browser_options.BrowserOptions()
- subprocess_stub = SubprocessModuleStub()
- def NoADB(*args, **kargs): # pylint: disable=W0613
+ def NoAdb(*args, **kargs): # pylint: disable=W0613
raise OSError('not found')
- subprocess_stub.Popen_hook = NoADB
- browsers = android_browser_finder.FindAllAvailableBrowsers(
- options, subprocess_stub)
+ self._stubs.subprocess.Popen = NoAdb
+ browsers = android_browser_finder.FindAllAvailableBrowsers(options)
self.assertEquals(0, len(browsers))
def test_adb_no_devices(self):
options = browser_options.BrowserOptions()
- subprocess_stub = SubprocessModuleStub()
- popen_stub = PopenStub(('', ''))
- subprocess_stub.Popen_result = popen_stub
-
- adb_commands_module_stub = ADBCommandsModuleStub()
- browsers = android_browser_finder.FindAllAvailableBrowsers(
- options, subprocess_stub, adb_commands_module_stub)
+ browsers = android_browser_finder.FindAllAvailableBrowsers(options)
self.assertEquals(0, len(browsers))
def test_adb_permissions_error(self):
options = browser_options.BrowserOptions()
- subprocess_stub = SubprocessModuleStub()
- popen_stub = PopenStub((
+ self._stubs.subprocess.Popen.communicate_result = (
"""List of devices attached
????????????\tno permissions""",
"""* daemon not running. starting it now on port 5037 *
* daemon started successfully *
-"""))
- subprocess_stub.Popen_result = popen_stub
-
- adb_commands_module_stub = ADBCommandsModuleStub()
+""")
warnings = []
class TempFilter(logging.Filter):
@@ -95,8 +53,7 @@ class AndroidBrowserFinderTest(unittest.TestCase):
logger = logging.getLogger()
logger.addFilter(temp_filter)
- browsers = android_browser_finder.FindAllAvailableBrowsers(
- options, subprocess_stub, adb_commands_module_stub)
+ browsers = android_browser_finder.FindAllAvailableBrowsers(options)
finally:
logger.removeFilter(temp_filter)
self.assertEquals(3, len(warnings))
@@ -106,11 +63,7 @@ class AndroidBrowserFinderTest(unittest.TestCase):
def test_adb_two_devices(self):
options = browser_options.BrowserOptions()
- subprocess_stub = SubprocessModuleStub()
- popen_stub = PopenStub(('', ''))
- subprocess_stub.Popen_result = popen_stub
- adb_commands_module_stub = ADBCommandsModuleStub()
- adb_commands_module_stub.attached_devices = ['015d14fec128220c',
+ self._stubs.adb_commands.attached_devices = ['015d14fec128220c',
'015d14fec128220d']
warnings = []
@@ -124,8 +77,7 @@ class AndroidBrowserFinderTest(unittest.TestCase):
logger = logging.getLogger()
logger.addFilter(temp_filter)
- browsers = android_browser_finder.FindAllAvailableBrowsers(
- options, subprocess_stub, adb_commands_module_stub)
+ browsers = android_browser_finder.FindAllAvailableBrowsers(options)
finally:
logger.removeFilter(temp_filter)
self.assertEquals(1, len(warnings))
@@ -134,11 +86,7 @@ class AndroidBrowserFinderTest(unittest.TestCase):
def test_adb_one_device(self):
options = browser_options.BrowserOptions()
- subprocess_stub = SubprocessModuleStub()
- popen_stub = PopenStub(('', ''))
- subprocess_stub.Popen_result = popen_stub
- adb_commands_module_stub = ADBCommandsModuleStub()
- adb_commands_module_stub.attached_devices = ['015d14fec128220c']
+ self._stubs.adb_commands.attached_devices = ['015d14fec128220c']
def OnPM(args):
assert args[0] == 'pm'
@@ -147,8 +95,7 @@ class AndroidBrowserFinderTest(unittest.TestCase):
return ['package:org.chromium.content_shell',
'package.com.google.android.setupwizard']
- adb_commands_module_stub.shell_command_handlers['pm'] = OnPM
+ self._stubs.adb_commands.shell_command_handlers['pm'] = OnPM
- browsers = android_browser_finder.FindAllAvailableBrowsers(
- options, subprocess_stub, adb_commands_module_stub)
+ browsers = android_browser_finder.FindAllAvailableBrowsers(options)
self.assertEquals(1, len(browsers))

Powered by Google App Engine
This is Rietveld 408576698