diff options
Diffstat (limited to 'molecule')
| -rw-r--r-- | molecule/default/converge.yml | 5 | ||||
| -rw-r--r-- | molecule/default/tests/test_systemd_success_exit_status.py | 33 |
2 files changed, 30 insertions, 8 deletions
diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml index 995ccd0..4c8aa06 100644 --- a/molecule/default/converge.yml +++ b/molecule/default/converge.yml @@ -29,10 +29,11 @@ - name: Set ssh_key ansible.builtin.set_fact: - borg_server_host_ssh_key: '{{ borg_server_ssh_keyscan.stdout + borg_server_host_ssh_key: >- + {{ borg_server_ssh_keyscan.stdout | split(" ") | reject("search", borg_server_host) - | join(" ") }}' + | join(" ") }} - name: Allow additional successful exit codes on alternate client ansible.builtin.set_fact: diff --git a/molecule/default/tests/test_systemd_success_exit_status.py b/molecule/default/tests/test_systemd_success_exit_status.py index 8f2e242..61c20c4 100644 --- a/molecule/default/tests/test_systemd_success_exit_status.py +++ b/molecule/default/tests/test_systemd_success_exit_status.py @@ -1,12 +1,33 @@ -testinfra_hosts = ["borg-client", "borg-client-success-exit-status"] +"""Tests for systemd success exit status functionality""" +import pytest +testinfra_hosts = ['borg-client', 'borg-client-success-exit-status'] -def test_systemd_service_success_exit_status(host): - service = host.file("/etc/systemd/system/borg_backup@borg-server.service") +def test_systemd_service_has_correct_success_exit_status(host): + service = host.file('/etc/systemd/system/borg_backup@borg-server.service') assert service.exists - if host.backend.get_hostname() == "borg-client-success-exit-status": - assert service.contains(r"^SuccessExitStatus=1 TEMPFAIL$") + if host.backend.get_hostname() == 'borg-client-success-exit-status': + assert service.contains('SuccessExitStatus=1 TEMPFAIL') else: - assert not service.contains(r"^SuccessExitStatus=") + assert not service.contains('SuccessExitStatus=') + + +def test_systemd_timer_is_enabled(host): + timer_name = 'borg_backup@borg-server.timer' + c = host.run(f"systemctl is-enabled {timer_name}") + assert c.rc == 0 + + +def test_systemd_timer_is_active(host): + timer_name = 'borg_backup@borg-server.timer' + c = host.run(f"systemctl is-active {timer_name}") + assert c.rc == 0 + + +@pytest.mark.parametrize('exit_status', [1, 'TEMPFAIL']) +def test_success_exit_status_values(host, exit_status): + if host.backend.get_hostname() == 'borg-client-success-exit-status': + service = host.file('/etc/systemd/system/borg_backup@borg-server.service') + assert service.contains(str(exit_status)) |