Преглед на файлове

Add unit tests for `replica_cron/rpc/client.py`
module

Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>

Mihaela Balutoiu преди 2 години
родител
ревизия
6187030890
променени са 2 файла, в които са добавени 38 реда и са изтрити 0 реда
  1. 0 0
      coriolis/tests/replica_cron/rpc/__init__.py
  2. 38 0
      coriolis/tests/replica_cron/rpc/test_client.py

+ 0 - 0
coriolis/tests/replica_cron/rpc/__init__.py


+ 38 - 0
coriolis/tests/replica_cron/rpc/test_client.py

@@ -0,0 +1,38 @@
+# Copyright 2024 Cloudbase Solutions Srl
+# All Rights Reserved.
+
+from unittest import mock
+
+from coriolis.replica_cron.rpc import client as rpc_client
+from coriolis.tests import test_base
+
+
+class ReplicaCronClientTestCase(test_base.CoriolisBaseTestCase):
+    """Test suite for the ReplicaCronClient class."""
+
+    def setUp(self):
+        super(ReplicaCronClientTestCase, self).setUp()
+        self.client = rpc_client.ReplicaCronClient()
+        self.ctxt = mock.MagicMock()
+
+    def test_register(self):
+        self.client._call = mock.Mock()
+        self.client.register(self.ctxt, mock.sentinel.schedule)
+
+        self.client._call.assert_called_once_with(
+            self.ctxt, 'register', schedule=mock.sentinel.schedule)
+
+    def test_unregister(self):
+        self.client._call = mock.Mock()
+        self.client.unregister(self.ctxt, mock.sentinel.schedule)
+
+        self.client._call.assert_called_once_with(
+            self.ctxt, 'unregister', schedule=mock.sentinel.schedule)
+
+    def test_get_diagnostics(self):
+        self.client._call = mock.Mock()
+        result = self.client.get_diagnostics(self.ctxt)
+
+        self.client._call.assert_called_once_with(
+            self.ctxt, 'get_diagnostics')
+        self.assertEqual(result, self.client._call.return_value)