diff options
Diffstat (limited to 'systrace/catapult/telemetry/telemetry/internal/backends/android_browser_backend_settings_unittest.py')
-rw-r--r-- | systrace/catapult/telemetry/telemetry/internal/backends/android_browser_backend_settings_unittest.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/systrace/catapult/telemetry/telemetry/internal/backends/android_browser_backend_settings_unittest.py b/systrace/catapult/telemetry/telemetry/internal/backends/android_browser_backend_settings_unittest.py new file mode 100644 index 0000000..5b6c6c2 --- /dev/null +++ b/systrace/catapult/telemetry/telemetry/internal/backends/android_browser_backend_settings_unittest.py @@ -0,0 +1,55 @@ +# Copyright 2017 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 mock +import unittest + +from telemetry.internal.backends import android_browser_backend_settings + + +class AndroidBrowserBackendSettingsUnittest(unittest.TestCase): + + def testWebViewGetDevtoolsRemotePortRetrySuccess(self): + mock_device = mock.Mock() + mock_device.GetPids.side_effect = [ + {}, + {}, + {'webview.package': ['1111']}, + ] + + settings = android_browser_backend_settings.WebviewBackendSettings( + package='webview.package') + with mock.patch('time.sleep', return_value=None): + self.assertEquals( + settings.GetDevtoolsRemotePort(mock_device), + 'localabstract:webview_devtools_remote_1111') + + def testWebViewGetDevtoolsRemotePortMultipleProcessesFailure(self): + mock_device = mock.Mock() + mock_device.GetPids.side_effect = [ + {'webview.package': ['1111', '2222']} + ] + + settings = android_browser_backend_settings.WebviewBackendSettings( + package='webview.package') + with mock.patch('time.sleep', return_value=None): + with self.assertRaises(Exception): + settings.GetDevtoolsRemotePort(mock_device) + + def testWebViewGetDevtoolsRemotePortTimeoutFailure(self): + mock_device = mock.Mock() + mock_device.GetPids.side_effect = [ + {}, + {}, + {}, + {}, + ] + + settings = android_browser_backend_settings.WebviewBackendSettings( + package='webview.package') + with mock.patch('time.sleep', return_value=None) as time_mock: + with self.assertRaises(Exception): + settings.GetDevtoolsRemotePort(mock_device) + time_mock.assert_has_calls( + [mock.call(1), mock.call(2), mock.call(4), mock.call(8)]) |