Просмотр исходного кода

Add unit tests for `services/api.py` module

Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>
Mihaela Balutoiu 2 лет назад
Родитель
Сommit
3ebd32e675
2 измененных файлов с 43 добавлено и 0 удалено
  1. 0 0
      coriolis/tests/services/__init__.py
  2. 43 0
      coriolis/tests/services/test_api.py

+ 0 - 0
coriolis/tests/services/__init__.py


+ 43 - 0
coriolis/tests/services/test_api.py

@@ -0,0 +1,43 @@
+# Copyright 2023 Cloudbase Solutions Srl
+# All Rights Reserved.
+
+
+from unittest import mock
+
+from coriolis.services import api as api_service
+from coriolis.tests import test_base
+
+
+class APITestCase(test_base.CoriolisBaseTestCase):
+    """Test suite for the Coriolis API service."""
+
+    def setUp(self):
+        super(APITestCase, self).setUp()
+        self.api = api_service.API()
+        self.rpc_client_mock = mock.Mock()
+        self.api._rpc_client = self.rpc_client_mock
+
+    def test_create(self):
+        self.api.create('ctxt', 'host', 'binary', 'topic', 'mapped_regions',
+                        True)
+        self.rpc_client_mock.register_service.assert_called_once_with(
+            'ctxt', 'host', 'binary', 'topic', True, 'mapped_regions')
+
+    def test_update(self):
+        self.api.update('ctxt', 'service_id', 'updated_values')
+        self.rpc_client_mock.update_service.assert_called_once_with(
+            'ctxt', 'service_id', 'updated_values')
+
+    def test_delete(self):
+        self.api.delete('ctxt', 'region_id')
+        self.rpc_client_mock.delete_service.assert_called_once_with(
+            'ctxt', 'region_id')
+
+    def test_get_services(self):
+        self.api.get_services('ctxt')
+        self.rpc_client_mock.get_services.assert_called_once_with('ctxt')
+
+    def test_get_service(self):
+        self.api.get_service('ctxt', 'service_id')
+        self.rpc_client_mock.get_service.assert_called_once_with(
+            'ctxt', 'service_id')