mirror of
https://github.com/saltstack/salt.git
synced 2025-04-16 09:40:20 +00:00
Add tests and a changelog
This commit is contained in:
parent
700274b475
commit
ad2b54e337
2 changed files with 78 additions and 0 deletions
1
changelog/62131.fixed
Normal file
1
changelog/62131.fixed
Normal file
|
@ -0,0 +1 @@
|
|||
Ignore some command return codes in openbsdrcctl_service to prevent spurious errors
|
77
tests/pytests/unit/modules/test_openbsdrcctl_service.py
Normal file
77
tests/pytests/unit/modules/test_openbsdrcctl_service.py
Normal file
|
@ -0,0 +1,77 @@
|
|||
import pytest
|
||||
|
||||
import salt.modules.openbsdrcctl_service as openbsdrcctl
|
||||
from tests.support.mock import MagicMock, patch
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def rcctl():
|
||||
cmd = "rcctl"
|
||||
with patch.object(openbsdrcctl, "_cmd", return_value=cmd):
|
||||
yield cmd
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def retcode_mock():
|
||||
return MagicMock()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def configure_loader_modules(retcode_mock):
|
||||
return {
|
||||
openbsdrcctl: {
|
||||
"__salt__": {"cmd.retcode": retcode_mock},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
def test_available(retcode_mock, rcctl):
|
||||
retcode_mock.return_value = 0
|
||||
assert openbsdrcctl.available("test") is True
|
||||
retcode_mock.assert_called_with("{} get test".format(rcctl), ignore_retcode=True)
|
||||
retcode_mock.return_value = 2
|
||||
assert openbsdrcctl.available("test") is False
|
||||
retcode_mock.assert_called_with("{} get test".format(rcctl), ignore_retcode=True)
|
||||
|
||||
|
||||
def test_status(retcode_mock, rcctl):
|
||||
retcode_mock.return_value = 0
|
||||
assert openbsdrcctl.status("test") is True
|
||||
retcode_mock.assert_called_with("{} check test".format(rcctl), ignore_retcode=True)
|
||||
retcode_mock.return_value = 2
|
||||
assert openbsdrcctl.status("test") is False
|
||||
retcode_mock.assert_called_with("{} check test".format(rcctl), ignore_retcode=True)
|
||||
|
||||
|
||||
def test_disabled(retcode_mock, rcctl):
|
||||
retcode_mock.return_value = 0
|
||||
assert openbsdrcctl.disabled("test") is False
|
||||
retcode_mock.assert_called_with(
|
||||
"{} get test status".format(rcctl), ignore_retcode=True
|
||||
)
|
||||
retcode_mock.return_value = 2
|
||||
assert openbsdrcctl.disabled("test") is True
|
||||
retcode_mock.assert_called_with(
|
||||
"{} get test status".format(rcctl), ignore_retcode=True
|
||||
)
|
||||
|
||||
|
||||
def test_enabled(retcode_mock, rcctl):
|
||||
retcode_mock.return_value = 0
|
||||
flags_return = {"flag1": "value1"}
|
||||
stdout_mock = MagicMock(return_value=flags_return)
|
||||
salt_mock = {
|
||||
"cmd.run_stdout": stdout_mock,
|
||||
"config.option": MagicMock(),
|
||||
}
|
||||
with patch.dict(openbsdrcctl.__salt__, salt_mock):
|
||||
assert openbsdrcctl.enabled("test", flags=flags_return) is True
|
||||
retcode_mock.assert_called_with(
|
||||
"{} get test status".format(rcctl), ignore_retcode=True
|
||||
)
|
||||
retcode_mock.return_value = 2
|
||||
stdout_mock.reset_mock()
|
||||
assert openbsdrcctl.enabled("test") is False
|
||||
retcode_mock.assert_called_with(
|
||||
"{} get test status".format(rcctl), ignore_retcode=True
|
||||
)
|
Loading…
Add table
Reference in a new issue