summaryrefslogtreecommitdiffstats
path: root/src/pybind/mgr/dashboard/tests/test_daemon.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/pybind/mgr/dashboard/tests/test_daemon.py
parentInitial commit. (diff)
downloadceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.tar.xz
ceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/pybind/mgr/dashboard/tests/test_daemon.py')
-rw-r--r--src/pybind/mgr/dashboard/tests/test_daemon.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/pybind/mgr/dashboard/tests/test_daemon.py b/src/pybind/mgr/dashboard/tests/test_daemon.py
new file mode 100644
index 000000000..2008c8630
--- /dev/null
+++ b/src/pybind/mgr/dashboard/tests/test_daemon.py
@@ -0,0 +1,41 @@
+# -*- coding: utf-8 -*-
+
+from ..controllers._version import APIVersion
+from ..controllers.daemon import Daemon
+from ..tests import ControllerTestCase, patch_orch
+
+
+class DaemonTest(ControllerTestCase):
+
+ URL_DAEMON = '/api/daemon'
+
+ @classmethod
+ def setup_server(cls):
+ cls.setup_controllers([Daemon])
+
+ def test_daemon_action(self):
+ msg = "Scheduled to stop crash.b78cd1164a1b on host 'hostname'"
+
+ with patch_orch(True) as fake_client:
+ fake_client.daemons.action.return_value = msg
+ payload = {
+ 'action': 'restart',
+ 'container_image': None
+ }
+ self._put(f'{self.URL_DAEMON}/crash.b78cd1164a1b', payload, version=APIVersion(0, 1))
+ self.assertJsonBody(msg)
+ self.assertStatus(200)
+
+ def test_daemon_invalid_action(self):
+ payload = {
+ 'action': 'invalid',
+ 'container_image': None
+ }
+ with patch_orch(True):
+ self._put(f'{self.URL_DAEMON}/crash.b78cd1164a1b', payload, version=APIVersion(0, 1))
+ self.assertJsonBody({
+ 'detail': 'Daemon action "invalid" is either not valid or not supported.',
+ 'code': 'invalid_daemon_action',
+ 'component': None
+ })
+ self.assertStatus(400)