Updated tests for purging of removed packages on Debian family systems

This commit is contained in:
David Murphy 2023-01-10 13:00:15 -07:00 committed by Megan Wilhite
parent 0cf89f147c
commit 06ffb86cf7

View file

@ -993,3 +993,41 @@ def test_pkg_cap_006_uptodate(PKG_CAP_TARGETS, modules, states):
finally:
ret = states.pkg.removed(name=realpkg)
assert ret.result is True
@pytest.mark.requires_salt_modules(
"pkg.version", "pkg.latest_version", "pkg.remove", "pkg.purge", "pkg.list_pkgs"
)
@pytest.mark.requires_salt_states("pkg.installed", "pkg.removed", "pkg.purged")
def test_pkg_purged_with_removed_pkg(grains, PKG_TARGETS, states, modules):
"""
This is a destructive test as it installs and then removes a package, then purges a removed package
"""
if grains["os_family"] != "Debian":
pytest.skip("Only runs on Debian.")
target = PKG_TARGETS[0]
ret = states.pkg.installed(
name=target,
version="<9999999",
refresh=False,
)
assert ret.result is True
# The version that was installed should be the latest available
version = modules.pkg.version(target)
assert version
# Clean up
ret = states.pkg.removed(name=target)
assert ret.result is True
ret = states.pkg.purged(name=target)
assert ret.result is True
assert ret.name == target
assert ret.comment == "All targeted packages were purged."
assert ret.changes == {
"installed": {},
"removed": {target: {"new": "", "old": version}},
}