aboutsummaryrefslogtreecommitdiff
path: root/tests/mobly/controllers/android_device_lib/services/snippet_management_service_test.py
diff options
context:
space:
mode:
authorMinghao Li <minghaoli@google.com>2022-06-30 11:30:14 +0800
committerGitHub <noreply@github.com>2022-06-30 11:30:14 +0800
commit98273a255ed885f23d4396c6ad125a758f2683a9 (patch)
tree42feac63486cec4c8b70895dbdc15c3a339bcd35 /tests/mobly/controllers/android_device_lib/services/snippet_management_service_test.py
parent9778e55a611aa12f3c96db036f8c888c91631718 (diff)
downloadmobly-98273a255ed885f23d4396c6ad125a758f2683a9.tar.gz
Flip the default Android snippet client version to V2 (#839)
Diffstat (limited to 'tests/mobly/controllers/android_device_lib/services/snippet_management_service_test.py')
-rwxr-xr-xtests/mobly/controllers/android_device_lib/services/snippet_management_service_test.py143
1 files changed, 37 insertions, 106 deletions
diff --git a/tests/mobly/controllers/android_device_lib/services/snippet_management_service_test.py b/tests/mobly/controllers/android_device_lib/services/snippet_management_service_test.py
index 27d389a..f92e60e 100755
--- a/tests/mobly/controllers/android_device_lib/services/snippet_management_service_test.py
+++ b/tests/mobly/controllers/android_device_lib/services/snippet_management_service_test.py
@@ -18,7 +18,6 @@ from unittest import mock
from mobly.controllers.android_device_lib.services import snippet_management_service
MOCK_PACKAGE = 'com.mock.package'
-SNIPPET_CLIENT_CLASS_PATH = 'mobly.controllers.android_device_lib.snippet_client.SnippetClient'
SNIPPET_CLIENT_V2_CLASS_PATH = 'mobly.controllers.android_device_lib.snippet_client_v2.SnippetClientV2'
@@ -28,136 +27,149 @@ class SnippetManagementServiceTest(unittest.TestCase):
def test_empty_manager_start_stop(self):
manager = snippet_management_service.SnippetManagementService(
mock.MagicMock())
+ manager._use_client_v2_switch = True
manager.start()
# When no client is registered, manager is never alive.
self.assertFalse(manager.is_alive)
manager.stop()
self.assertFalse(manager.is_alive)
- @mock.patch(SNIPPET_CLIENT_CLASS_PATH)
+ @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
def test_get_snippet_client(self, mock_class):
mock_client = mock_class.return_value
manager = snippet_management_service.SnippetManagementService(
mock.MagicMock())
+ manager._use_client_v2_switch = True
manager.add_snippet_client('foo', MOCK_PACKAGE)
self.assertEqual(manager.get_snippet_client('foo'), mock_client)
- @mock.patch(SNIPPET_CLIENT_CLASS_PATH)
+ @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
def test_get_snippet_client_fail(self, _):
manager = snippet_management_service.SnippetManagementService(
mock.MagicMock())
+ manager._use_client_v2_switch = True
self.assertIsNone(manager.get_snippet_client('foo'))
- @mock.patch(SNIPPET_CLIENT_CLASS_PATH)
+ @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
def test_stop_with_live_client(self, mock_class):
mock_client = mock_class.return_value
manager = snippet_management_service.SnippetManagementService(
mock.MagicMock())
+ manager._use_client_v2_switch = True
manager.add_snippet_client('foo', MOCK_PACKAGE)
- mock_client.start_app_and_connect.assert_called_once_with()
+ mock_client.initialize.assert_called_once_with()
manager.stop()
- mock_client.stop_app.assert_called_once_with()
- mock_client.stop_app.reset_mock()
+ mock_client.stop.assert_called_once_with()
+ mock_client.stop.reset_mock()
mock_client.is_alive = False
self.assertFalse(manager.is_alive)
manager.stop()
- mock_client.stop_app.assert_not_called()
+ mock_client.stop.assert_not_called()
- @mock.patch(SNIPPET_CLIENT_CLASS_PATH)
+ @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
def test_add_snippet_client_dup_name(self, _):
manager = snippet_management_service.SnippetManagementService(
mock.MagicMock())
+ manager._use_client_v2_switch = True
manager.add_snippet_client('foo', MOCK_PACKAGE)
msg = ('.* Name "foo" is already registered with package ".*", it '
'cannot be used again.')
with self.assertRaisesRegex(snippet_management_service.Error, msg):
manager.add_snippet_client('foo', MOCK_PACKAGE + 'ha')
- @mock.patch(SNIPPET_CLIENT_CLASS_PATH)
+ @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
def test_add_snippet_client_dup_package(self, mock_class):
mock_client = mock_class.return_value
mock_client.package = MOCK_PACKAGE
manager = snippet_management_service.SnippetManagementService(
mock.MagicMock())
+ manager._use_client_v2_switch = True
manager.add_snippet_client('foo', MOCK_PACKAGE)
msg = ('Snippet package "com.mock.package" has already been loaded '
'under name "foo".')
with self.assertRaisesRegex(snippet_management_service.Error, msg):
manager.add_snippet_client('bar', MOCK_PACKAGE)
- @mock.patch(SNIPPET_CLIENT_CLASS_PATH)
+ @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
def test_remove_snippet_client(self, mock_class):
mock_client = mock.MagicMock()
mock_class.return_value = mock_client
manager = snippet_management_service.SnippetManagementService(
mock.MagicMock())
+ manager._use_client_v2_switch = True
manager.add_snippet_client('foo', MOCK_PACKAGE)
manager.remove_snippet_client('foo')
msg = 'No snippet client is registered with name "foo".'
with self.assertRaisesRegex(snippet_management_service.Error, msg):
manager.foo.do_something()
- @mock.patch(SNIPPET_CLIENT_CLASS_PATH)
+ @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
def test_remove_snippet_client(self, mock_class):
mock_client = mock.MagicMock()
mock_class.return_value = mock_client
manager = snippet_management_service.SnippetManagementService(
mock.MagicMock())
+ manager._use_client_v2_switch = True
with self.assertRaisesRegex(
snippet_management_service.Error,
'No snippet client is registered with name "foo".'):
manager.remove_snippet_client('foo')
- @mock.patch(SNIPPET_CLIENT_CLASS_PATH)
+ @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
def test_start_with_live_service(self, mock_class):
mock_client = mock_class.return_value
manager = snippet_management_service.SnippetManagementService(
mock.MagicMock())
+ manager._use_client_v2_switch = True
manager.add_snippet_client('foo', MOCK_PACKAGE)
- mock_client.start_app_and_connect.reset_mock()
+ mock_client.initialize.reset_mock()
mock_client.is_alive = True
manager.start()
- mock_client.start_app_and_connect.assert_not_called()
+ mock_client.initialize.assert_not_called()
self.assertTrue(manager.is_alive)
mock_client.is_alive = False
manager.start()
- mock_client.start_app_and_connect.assert_called_once_with()
+ mock_client.initialize.assert_called_once_with()
- @mock.patch(SNIPPET_CLIENT_CLASS_PATH)
+ @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
def test_pause(self, mock_class):
mock_client = mock_class.return_value
manager = snippet_management_service.SnippetManagementService(
mock.MagicMock())
+ manager._use_client_v2_switch = True
manager.add_snippet_client('foo', MOCK_PACKAGE)
manager.pause()
- mock_client.disconnect.assert_called_once_with()
+ mock_client.close_connection.assert_called_once_with()
- @mock.patch(SNIPPET_CLIENT_CLASS_PATH)
+ @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
def test_resume_positive_case(self, mock_class):
mock_client = mock_class.return_value
manager = snippet_management_service.SnippetManagementService(
mock.MagicMock())
+ manager._use_client_v2_switch = True
manager.add_snippet_client('foo', MOCK_PACKAGE)
mock_client.is_alive = False
manager.resume()
- mock_client.restore_app_connection.assert_called_once_with()
+ mock_client.restore_server_connection.assert_called_once_with()
- @mock.patch(SNIPPET_CLIENT_CLASS_PATH)
+ @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
def test_resume_negative_case(self, mock_class):
mock_client = mock_class.return_value
manager = snippet_management_service.SnippetManagementService(
mock.MagicMock())
+ manager._use_client_v2_switch = True
manager.add_snippet_client('foo', MOCK_PACKAGE)
mock_client.is_alive = True
manager.resume()
- mock_client.restore_app_connection.assert_not_called()
+ mock_client.restore_server_connection.assert_not_called()
- @mock.patch(SNIPPET_CLIENT_CLASS_PATH)
+ @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
def test_attribute_access(self, mock_class):
mock_client = mock.MagicMock()
mock_class.return_value = mock_client
manager = snippet_management_service.SnippetManagementService(
mock.MagicMock())
+ manager._use_client_v2_switch = True
manager.add_snippet_client('foo', MOCK_PACKAGE)
manager.foo.ha('param')
mock_client.ha.assert_called_once_with('param')
@@ -166,7 +178,7 @@ class SnippetManagementServiceTest(unittest.TestCase):
# tests after we complete the migration from v1 to v2.
def test_client_v2_switch_default_value(self):
self._set_device_attribute_and_check_client_v2_switch(
- expect_switch_value=False)
+ expect_switch_value=True)
def test_client_v2_switch_when_set_device_dimension_to_false(self):
self._set_device_attribute_and_check_client_v2_switch(
@@ -198,91 +210,10 @@ class SnippetManagementServiceTest(unittest.TestCase):
use_mobly_snippet_client_v2='true',
dimensions={'use_mobly_snippet_client_v2': 'true'})
- @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
- def test_client_v2_add_snippet_client(self, mock_class):
- mock_client = mock.MagicMock()
- mock_class.return_value = mock_client
- mock_device = mock.MagicMock(
- dimensions={'use_mobly_snippet_client_v2': 'true'})
- manager = snippet_management_service.SnippetManagementService(mock_device)
- manager.add_snippet_client('foo', MOCK_PACKAGE)
- self.assertIs(manager.get_snippet_client('foo'), mock_client)
- mock_client.initialize.assert_called_once_with()
-
- @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
- def test_client_v2_remove_snippet_client(self, mock_class):
- mock_client = mock.MagicMock()
- mock_class.return_value = mock_client
- mock_device = mock.MagicMock(
- dimensions={'use_mobly_snippet_client_v2': 'true'})
- manager = snippet_management_service.SnippetManagementService(mock_device)
- manager.add_snippet_client('foo', MOCK_PACKAGE)
- manager.remove_snippet_client('foo')
- mock_client.stop.assert_called_once_with()
-
- @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
- def test_client_v2_start(self, mock_class):
- mock_client = mock.MagicMock()
- mock_class.return_value = mock_client
- mock_device = mock.MagicMock(
- dimensions={'use_mobly_snippet_client_v2': 'true'})
- manager = snippet_management_service.SnippetManagementService(mock_device)
- manager.add_snippet_client('foo', MOCK_PACKAGE)
-
- mock_client.initialize.reset_mock()
- mock_client.is_alive = False
- manager.start()
-
- mock_client.initialize.assert_called_once_with()
-
- @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
- def test_client_v2_stop(self, mock_class):
- mock_client = mock.MagicMock()
- mock_class.return_value = mock_client
- mock_device = mock.MagicMock(
- dimensions={'use_mobly_snippet_client_v2': 'true'})
- manager = snippet_management_service.SnippetManagementService(mock_device)
- manager.add_snippet_client('foo', MOCK_PACKAGE)
-
- mock_client.stop.reset_mock()
- mock_client.is_alive = True
- manager.stop()
-
- mock_client.stop.assert_called_once_with()
-
- @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
- def test_client_v2_pause(self, mock_class):
- mock_client = mock.MagicMock()
- mock_class.return_value = mock_client
- mock_device = mock.MagicMock(
- dimensions={'use_mobly_snippet_client_v2': 'true'})
- manager = snippet_management_service.SnippetManagementService(mock_device)
- manager.add_snippet_client('foo', MOCK_PACKAGE)
-
- mock_client.close_connection.reset_mock()
- manager.pause()
-
- mock_client.close_connection.assert_called_once_with()
-
- @mock.patch(SNIPPET_CLIENT_V2_CLASS_PATH)
- def test_client_v2_resume(self, mock_class):
- mock_client = mock.MagicMock()
- mock_class.return_value = mock_client
- mock_device = mock.MagicMock(
- dimensions={'use_mobly_snippet_client_v2': 'true'})
- manager = snippet_management_service.SnippetManagementService(mock_device)
- manager.add_snippet_client('foo', MOCK_PACKAGE)
-
- mock_client.restore_server_connection.reset_mock()
- mock_client.is_alive = False
- manager.resume()
-
- mock_client.restore_server_connection.assert_called_once_with()
-
def _set_device_attribute_and_check_client_v2_switch(self,
expect_switch_value,
**device_attributes):
- mock_device = mock.MagicMock(**device_attributes)
+ mock_device = mock.MagicMock(**device_attributes, spec=['log'])
manager = snippet_management_service.SnippetManagementService(mock_device)
self.assertEqual(expect_switch_value, manager._is_using_client_v2())