Procházet zdrojové kódy

Add tests for `coriolis.diagnostics.api` module

Cristian Matiut před 2 roky
rodič
revize
130d690e36

+ 3 - 1
coriolis/diagnostics/api.py

@@ -1,7 +1,9 @@
-from coriolis import utils
+# Copyright 2024 Cloudbase Solutions Srl
+# All Rights Reserved.
 
 from coriolis.conductor.rpc import client as conductor_rpc
 from coriolis.replica_cron.rpc import client as cron_rpc
+from coriolis import utils
 from coriolis.worker.rpc import client as worker_rpc
 
 

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


+ 40 - 0
coriolis/tests/diagnostics/test_api.py

@@ -0,0 +1,40 @@
+# Copyright 2019 Cloudbase Solutions Srl
+# All Rights Reserved.
+
+from unittest import mock
+
+from coriolis.diagnostics import api
+from coriolis.tests import test_base
+from coriolis import utils
+
+
+class DiagnosticsAPITestCase(test_base.CoriolisBaseTestCase):
+    """Test suite for the Coriolis Diagnostics API."""
+
+    def setUp(self):
+        super(DiagnosticsAPITestCase, self).setUp()
+        self.diagnostics_api = api.API()
+        self.diagnostics_api._conductor_cli = mock.Mock()
+
+    @mock.patch.object(utils, "get_diagnostics_info")
+    def test_get(
+        self,
+        mock_get_diagnostics_info
+    ):
+        (self.diagnostics_api._conductor_cli.get_all_diagnostics.
+            return_value) = [mock.sentinel.all_diag]
+        mock_get_diagnostics_info.return_value = mock.sentinel.diag_info
+        expected_result = [
+            mock.sentinel.all_diag,
+            mock.sentinel.diag_info
+        ]
+
+        result = self.diagnostics_api.get(mock.sentinel.context)
+
+        self.assertEqual(
+            expected_result,
+            result
+        )
+        (self.diagnostics_api._conductor_cli.get_all_diagnostics.
+            assert_called_once_with)(mock.sentinel.context)
+        mock_get_diagnostics_info.assert_called_once()