diff options
author | Minghao Li <minghaoli@google.com> | 2022-05-17 23:52:23 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-17 08:52:23 -0700 |
commit | c6145d2d18b6594420e5fa2ca95123d38e4b10ff (patch) | |
tree | 1640fac0e1138b70f9f6f2242b48a70ed7e709b7 /tests/mobly/controllers/android_device_lib/services | |
parent | d2490db020217fe37fd4636caf40fa3f78985c4c (diff) | |
download | mobly-c6145d2d18b6594420e5fa2ca95123d38e4b10ff.tar.gz |
Add a flag for whether to use Snippet Client V2 (#815)
Diffstat (limited to 'tests/mobly/controllers/android_device_lib/services')
-rwxr-xr-x | tests/mobly/controllers/android_device_lib/services/snippet_management_service_test.py | 100 |
1 files changed, 100 insertions, 0 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 469ce4e..54bf60d 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 @@ -19,6 +19,7 @@ from mobly.controllers.android_device_lib.services import snippet_management_ser 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' class SnippetManagementServiceTest(unittest.TestCase): @@ -161,6 +162,105 @@ class SnippetManagementServiceTest(unittest.TestCase): manager.foo.ha('param') mock_client.ha.assert_called_once_with('param') + def test_client_v2_flag_default_value(self): + mock_device = mock.MagicMock() + mock_device.dimensions = {} + manager = snippet_management_service.SnippetManagementService(mock_device) + self.assertFalse(manager._is_using_client_v2()) + + def test_client_v2_flag_false(self): + mock_device = mock.MagicMock( + dimensions={'use_mobly_snippet_client_v2': 'false'}) + manager = snippet_management_service.SnippetManagementService(mock_device) + self.assertFalse(manager._is_using_client_v2()) + + def test_client_v2_flag_true(self): + mock_device = mock.MagicMock( + dimensions={'use_mobly_snippet_client_v2': 'true'}) + manager = snippet_management_service.SnippetManagementService(mock_device) + self.assertTrue(manager._is_using_client_v2()) + + @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() + if __name__ == '__main__': unittest.main() |