| 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))
|
|
|