summaryrefslogtreecommitdiffstats
path: root/src/ceph-volume/ceph_volume/tests/systemd/test_systemctl.py
blob: 8eec4a3d44160f78c51a1b744fdcb0c7e435ab50 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import pytest
from ceph_volume.systemd import systemctl

class TestSystemctl(object):

    @pytest.mark.parametrize("stdout,expected", [
        (['Id=ceph-osd@1.service', '', 'Id=ceph-osd@2.service'], ['1','2']),
        (['Id=ceph-osd1.service',], []),
        (['Id=ceph-osd@1'], ['1']),
        ([], []),
    ])
    def test_get_running_osd_ids(self, stub_call, stdout, expected):
        stub_call((stdout, [], 0))
        osd_ids = systemctl.get_running_osd_ids()
        assert osd_ids == expected

    def test_returns_empty_list_on_nonzero_return_code(self, stub_call):
        stdout = ['Id=ceph-osd@1.service', '', 'Id=ceph-osd@2.service']
        stub_call((stdout, [], 1))
        osd_ids = systemctl.get_running_osd_ids()
        assert osd_ids == []