Do not use SLS file for enabled/disabled pkg test

This commit is contained in:
Megan Wilhite 2023-01-26 08:57:56 -07:00 committed by Pedro Algarvio
parent 067242f33b
commit cc21e0fdec
3 changed files with 10 additions and 65 deletions

View file

@ -1,24 +0,0 @@
{% set services_enabled = ['salt-master', 'salt-minion', 'salt-syndic', 'salt-api'] %}
{% set services_disabled = [] %}
{% for service in services_enabled %}
check_services_enabled_{{ service }}:
service.enabled:
- name: {{ service }}
run_if_changes_{{ service }}:
cmd.run:
- name: failtest service is enabled
- onchanges:
- service: check_services_enabled_{{ service }}
{% endfor %}
{% for service in services_disabled %}
check_services_disabled_{{ service }}:
service.disabled:
- name: {{ service }}
run_if_changes_{{ service }}:
cmd.run:
- name: failtest service is disabled
- onchanges:
- service: check_services_disabled_{{ service }}
{% endfor %}

View file

@ -1,14 +0,0 @@
{% set services_enabled = [] %}
{% set services_disabled = ['salt-master', 'salt-minion', 'salt-syndic', 'salt-api'] %}
{% for service in services_enabled %}
check_services_enabled_{{ service }}:
service.enabled:
- name: {{ service }}
{% endfor %}
{% for service in services_disabled %}
check_services_disabled_{{ service }}:
service.disabled:
- name: {{ service }}
{% endfor %}

View file

@ -10,34 +10,17 @@ def test_services(install_salt, salt_cli, salt_minion):
if install_salt.compressed:
pytest.skip("Skip test on single binary and onedir package")
ret = salt_cli.run("grains.get", "os_family", minion_tgt=salt_minion.id)
assert ret.returncode == 0
assert ret.data
state_name = desired_state = None
os_family = ret.data
if os_family == "Debian":
state_name = "debianbased"
desired_state = "enabled"
elif os_family == "RedHat":
state_name = "redhatbased"
desired_state = "disabled"
if install_salt.distro_id in ("ubuntu", "debian"):
services_enabled = ["salt-master", "salt-minion", "salt-syndic", "salt-api"]
services_disabled = []
elif install_salt.distro_id in ("centos", "redhat", "amzn", "fedora"):
services_enabled = []
services_disabled = ["salt-master", "salt-minion", "salt-syndic", "salt-api"]
else:
pytest.fail(f"Don't know how to handle os_family={os_family}")
ret = salt_cli.run("state.apply", state_name, minion_tgt=salt_minion.id)
assert ret.returncode == 0
assert ret.data
for service in services_enabled:
assert salt_cli.run("service.enabled")
expected_in_comment = f"is already {desired_state}, and is in the desired state"
result = MultiStateResult(raw=ret.data)
for state_ret in result:
assert state_ret.result is True
if "__id__" not in state_ret.full_return:
# This is a state requirement
# For example:
# State was not run because none of the onchanges reqs changed
continue
assert expected_in_comment in state_ret.comment
for service in services_disabled:
assert salt_cli.run("service.disabled")