]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: Add extensive test for blink_device_light
authorSebastian Wagner <sebastian.wagner@suse.com>
Mon, 31 Aug 2020 13:11:24 +0000 (15:11 +0200)
committerSebastian Wagner <sebastian.wagner@suse.com>
Thu, 10 Sep 2020 09:00:52 +0000 (11:00 +0200)
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit 17cdcdc73094f4cb4f45575e02434234cf9cebd8)

src/pybind/mgr/cephadm/tests/test_cephadm.py

index ebddee226cb4095e8168149f1863d28afb2df6b8..9243294644ae273d48d131d894cc01da2813951c 100644 (file)
@@ -581,11 +581,29 @@ class TestCephadm(object):
             # automatically.
             assert_rm_service(cephadm_module, 'iscsi.name')
 
-    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm", _run_cephadm('{}'))
-    def test_blink_device_light(self, cephadm_module):
+    @pytest.mark.parametrize(
+        "on_bool",
+        [
+            True,
+            False
+        ]
+    )
+    @pytest.mark.parametrize(
+        "fault_ident",
+        [
+            'fault',
+            'ident'
+        ]
+    )
+    @mock.patch("cephadm.module.CephadmOrchestrator._run_cephadm")
+    def test_blink_device_light(self, _run_cephadm, on_bool, fault_ident, cephadm_module):
+        _run_cephadm.return_value = '{}', '', 0
         with with_host(cephadm_module, 'test'):
-            c = cephadm_module.blink_device_light('ident', True, [('test', '', '')])
-            assert wait(cephadm_module, c) == ['Set ident light for test: on']
+            c = cephadm_module.blink_device_light(fault_ident, on_bool, [('test', '', 'dev')])
+            on_off = 'on' if on_bool else 'off'
+            assert wait(cephadm_module, c) == [f'Set {fault_ident} light for test: {on_off}']
+            _run_cephadm.assert_called_with('test', 'osd', 'shell', [
+                                            '--', 'lsmcli', f'local-disk-{fault_ident}-led-{on_off}', '--path', 'dev'], error_ok=True)
 
     @pytest.mark.parametrize(
         "spec, meth",