From 0d733cef9d4fdb7f6a19b8eea0847d3edb4ff85b Mon Sep 17 00:00:00 2001 From: Cristian Matiut Date: Mon, 18 Mar 2024 13:39:44 +0200 Subject: [PATCH] Add tests for `coriolis.diagnostics.api` module --- coriolis/diagnostics/api.py | 4 ++- coriolis/tests/diagnostics/__init__.py | 0 coriolis/tests/diagnostics/test_api.py | 40 ++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 coriolis/tests/diagnostics/__init__.py create mode 100644 coriolis/tests/diagnostics/test_api.py diff --git a/coriolis/diagnostics/api.py b/coriolis/diagnostics/api.py index 326f5c07d..364259303 100644 --- a/coriolis/diagnostics/api.py +++ b/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 diff --git a/coriolis/tests/diagnostics/__init__.py b/coriolis/tests/diagnostics/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/coriolis/tests/diagnostics/test_api.py b/coriolis/tests/diagnostics/test_api.py new file mode 100644 index 000000000..53731c366 --- /dev/null +++ b/coriolis/tests/diagnostics/test_api.py @@ -0,0 +1,40 @@ +# Copyright 2024 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()