Skip to content

Commit

Permalink
Add more cases to test grains.core._systemd
Browse files Browse the repository at this point in the history
  • Loading branch information
vzhestkov committed Aug 30, 2024
1 parent b878cf3 commit f9ba05b
Showing 1 changed file with 89 additions and 0 deletions.
89 changes: 89 additions & 0 deletions tests/pytests/unit/grains/test_core.py
Original file line number Diff line number Diff line change
Expand Up @@ -3593,3 +3593,92 @@ def _mock_is_file(filename):

assert virtual_grains["virtual"] == "Nitro"
assert virtual_grains["virtual_subtype"] == "Amazon EC2"


@pytest.mark.parametrize(
"systemd_data,expected",
(
(
{
"pid": 1234,
"retcode": 0,
"stdout": "systemd 254 (254.3-1)\n+PAM +AUDIT -SELINUX -APPARMOR -IMA +SMACK "
"+SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS "
"+FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 "
"-PWQUALITY +P11KIT -QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD "
"+BPF_FRAMEWORK +XKBCOMMON +UTMP -SYSVINIT default-hierarchy=unified",
"stderr": "",
},
{
"version": "254",
"features": "+PAM +AUDIT -SELINUX -APPARMOR -IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL "
"+ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP "
"+LIBFDISK +PCRE2 -PWQUALITY +P11KIT -QRENCODE +TPM2 +BZIP2 +LZ4 +XZ "
"+ZLIB +ZSTD +BPF_FRAMEWORK +XKBCOMMON +UTMP -SYSVINIT default-hierarchy=unified",
},
),
(
{
"pid": 2345,
"retcode": 1,
"stdout": "",
"stderr": "some garbage in the output",
},
{
"version": "UNDEFINED",
"features": "",
},
),
(
{
"pid": 3456,
"retcode": 0,
"stdout": "unexpected stdout\none more line",
"stderr": "",
},
{
"version": "UNDEFINED",
"features": "",
},
),
(
{
"pid": 4567,
"retcode": 0,
"stdout": "",
"stderr": "",
},
{
"version": "UNDEFINED",
"features": "",
},
),
(
Exception("Some exception on calling `systemctl --version`"),
{
"version": "UNDEFINED",
"features": "",
},
),
),
)
def test__systemd(systemd_data, expected):
"""
test _systemd
"""

def mock_run_all_systemd(_):
if isinstance(systemd_data, Exception):
raise systemd_data
return systemd_data

with patch.dict(
core.__salt__,
{
"cmd.run_all": mock_run_all_systemd,
},
):
ret = core._systemd()
assert "version" in ret
assert "features" in ret
assert ret == expected

0 comments on commit f9ba05b

Please sign in to comment.