diff options
| author | Colin Wilk <colin@wilk.cx> | 2026-06-28 23:24:21 +0200 |
|---|---|---|
| committer | Colin Wilk <colin@wilk.cx> | 2026-06-28 23:24:21 +0200 |
| commit | a0432093db76d7bb462f113d4bbeca0a8f376e95 (patch) | |
| tree | 1a7bd3659d22f07ed3d3dfc035d88913b85d37ed /molecule/default/tests/test_systemd.py | |
| parent | 1143a273413e8c3df0b4c0f553eab30acb0804f8 (diff) | |
| download | ansible-role-borgbackup-a0432093db76d7bb462f113d4bbeca0a8f376e95.tar.gz ansible-role-borgbackup-a0432093db76d7bb462f113d4bbeca0a8f376e95.zip | |
Format python files with ruff
Diffstat (limited to 'molecule/default/tests/test_systemd.py')
| -rw-r--r-- | molecule/default/tests/test_systemd.py | 190 |
1 files changed, 105 insertions, 85 deletions
diff --git a/molecule/default/tests/test_systemd.py b/molecule/default/tests/test_systemd.py index 94b82c4..e68e232 100644 --- a/molecule/default/tests/test_systemd.py +++ b/molecule/default/tests/test_systemd.py @@ -2,44 +2,50 @@ import pytest -testinfra_hosts = ['borg-client', 'borg-client-2', 'borg-client-multi', 'borg-client-nonroot', 'borg-client-multi-keys'] +testinfra_hosts = [ + "borg-client", + "borg-client-2", + "borg-client-multi", + "borg-client-nonroot", + "borg-client-multi-keys", +] CLIENT_CONFIGS = { - 'borg-client': { - 'user': 'root', - 'server': 'borg-server', - 'schedule': '*-*-* 02:00:00', - 'success_exit_status': False, + "borg-client": { + "user": "root", + "server": "borg-server", + "schedule": "*-*-* 02:00:00", + "success_exit_status": False, }, - 'borg-client-2': { - 'user': 'root', - 'server': 'borg-server-2', - 'schedule': '*-*-* 03:00:00', - 'success_exit_status': True, + "borg-client-2": { + "user": "root", + "server": "borg-server-2", + "schedule": "*-*-* 03:00:00", + "success_exit_status": True, }, - 'borg-client-nonroot': { - 'user': 'backupuser', - 'server': 'borg-server', - 'schedule': '*-*-* 02:00:00', - 'success_exit_status': False, + "borg-client-nonroot": { + "user": "backupuser", + "server": "borg-server", + "schedule": "*-*-* 02:00:00", + "success_exit_status": False, }, } MULTI_INSTANCE_CONFIGS = { - 'borg-client-multi': { - 'user': 'root', - 'repos': ['configs', 'home-data'], - 'schedules': { - 'configs': '*-*-* 02:00:00', - 'home-data': '*-*-* 04:00:00', + "borg-client-multi": { + "user": "root", + "repos": ["configs", "home-data"], + "schedules": { + "configs": "*-*-* 02:00:00", + "home-data": "*-*-* 04:00:00", }, }, - 'borg-client-multi-keys': { - 'user': 'root', - 'repos': ['configs-keys', 'home-data-keys'], - 'schedules': { - 'configs-keys': '*-*-* 02:00:00', - 'home-data-keys': '*-*-* 04:00:00', + "borg-client-multi-keys": { + "user": "root", + "repos": ["configs-keys", "home-data-keys"], + "schedules": { + "configs-keys": "*-*-* 02:00:00", + "home-data-keys": "*-*-* 04:00:00", }, }, } @@ -49,127 +55,141 @@ MULTI_INSTANCE_CONFIGS = { def config(host): hostname = host.backend.hostname if hostname in CLIENT_CONFIGS: - return {'type': 'single', **CLIENT_CONFIGS[hostname]} - return {'type': 'multi', **MULTI_INSTANCE_CONFIGS[hostname]} + return {"type": "single", **CLIENT_CONFIGS[hostname]} + return {"type": "multi", **MULTI_INSTANCE_CONFIGS[hostname]} class TestSystemdServiceFile: def test_service_file_exists(self, host, config): - if config['type'] == 'single': - service = host.file(f"/etc/systemd/system/borg_backup@{config['server']}.service") + if config["type"] == "single": + service = host.file( + f"/etc/systemd/system/borg_backup@{config['server']}.service" + ) assert service.exists - assert service.user == 'root' - assert service.group == 'root' + assert service.user == "root" + assert service.group == "root" assert service.mode == 0o644 else: - for repo in config['repos']: + for repo in config["repos"]: service = host.file(f"/etc/systemd/system/borg_backup@{repo}.service") assert service.exists - assert service.user == 'root' - assert service.group == 'root' + assert service.user == "root" + assert service.group == "root" def test_service_content(self, host, config): - if config['type'] == 'single': - service = host.file(f"/etc/systemd/system/borg_backup@{config['server']}.service") - assert service.contains('[Unit]') - assert service.contains('[Service]') - assert service.contains('[Install]') - assert service.contains('Type=oneshot') - assert service.contains('ExecStart=/usr/local/bin/run_borg_backup') + if config["type"] == "single": + service = host.file( + f"/etc/systemd/system/borg_backup@{config['server']}.service" + ) + assert service.contains("[Unit]") + assert service.contains("[Service]") + assert service.contains("[Install]") + assert service.contains("Type=oneshot") + assert service.contains("ExecStart=/usr/local/bin/run_borg_backup") else: - for repo in config['repos']: + for repo in config["repos"]: service = host.file(f"/etc/systemd/system/borg_backup@{repo}.service") - assert service.contains('[Unit]') - assert service.contains('[Service]') - assert service.contains('[Install]') - assert service.contains('Type=oneshot') + assert service.contains("[Unit]") + assert service.contains("[Service]") + assert service.contains("[Install]") + assert service.contains("Type=oneshot") def test_service_user(self, host, config): - if config['type'] == 'single': - service = host.file(f"/etc/systemd/system/borg_backup@{config['server']}.service") + if config["type"] == "single": + service = host.file( + f"/etc/systemd/system/borg_backup@{config['server']}.service" + ) assert service.contains(f"User={config['user']}") assert service.contains(f"Group={config['user']}") else: - for repo in config['repos']: + for repo in config["repos"]: service = host.file(f"/etc/systemd/system/borg_backup@{repo}.service") assert service.contains(f"User={config['user']}") assert service.contains(f"Group={config['user']}") def test_success_exit_status(self, host, config): - if config['type'] != 'single': + if config["type"] != "single": return - service = host.file(f"/etc/systemd/system/borg_backup@{config['server']}.service") + service = host.file( + f"/etc/systemd/system/borg_backup@{config['server']}.service" + ) assert service.exists - if config['success_exit_status']: - assert service.contains('SuccessExitStatus=1 TEMPFAIL') + if config["success_exit_status"]: + assert service.contains("SuccessExitStatus=1 TEMPFAIL") else: - assert not service.contains('SuccessExitStatus=') + assert not service.contains("SuccessExitStatus=") class TestSystemdTimerFile: def test_timer_file_exists(self, host, config): - if config['type'] == 'single': - timer = host.file(f"/etc/systemd/system/borg_backup@{config['server']}.timer") + if config["type"] == "single": + timer = host.file( + f"/etc/systemd/system/borg_backup@{config['server']}.timer" + ) assert timer.exists - assert timer.user == 'root' - assert timer.group == 'root' + assert timer.user == "root" + assert timer.group == "root" assert timer.mode == 0o644 else: - for repo in config['repos']: + for repo in config["repos"]: timer = host.file(f"/etc/systemd/system/borg_backup@{repo}.timer") assert timer.exists def test_timer_content(self, host, config): - if config['type'] == 'single': - timer = host.file(f"/etc/systemd/system/borg_backup@{config['server']}.timer") - assert timer.contains('[Unit]') - assert timer.contains('[Timer]') - assert timer.contains('[Install]') - assert timer.contains('OnCalendar=') - assert timer.contains('AccuracySec=') + if config["type"] == "single": + timer = host.file( + f"/etc/systemd/system/borg_backup@{config['server']}.timer" + ) + assert timer.contains("[Unit]") + assert timer.contains("[Timer]") + assert timer.contains("[Install]") + assert timer.contains("OnCalendar=") + assert timer.contains("AccuracySec=") else: - for repo in config['repos']: + for repo in config["repos"]: timer = host.file(f"/etc/systemd/system/borg_backup@{repo}.timer") - assert timer.contains('[Unit]') - assert timer.contains('[Timer]') - assert timer.contains('[Install]') - assert timer.contains('OnCalendar=') - assert timer.contains('AccuracySec=') + assert timer.contains("[Unit]") + assert timer.contains("[Timer]") + assert timer.contains("[Install]") + assert timer.contains("OnCalendar=") + assert timer.contains("AccuracySec=") def test_timer_schedule(self, host, config): - if config['type'] == 'single': - timer = host.file(f"/etc/systemd/system/borg_backup@{config['server']}.timer") + if config["type"] == "single": + timer = host.file( + f"/etc/systemd/system/borg_backup@{config['server']}.timer" + ) assert f"OnCalendar={config['schedule']}" in timer.content_string else: - for repo in config['repos']: + for repo in config["repos"]: timer = host.file(f"/etc/systemd/system/borg_backup@{repo}.timer") assert f"OnCalendar={config['schedules'][repo]}" in timer.content_string class TestSystemdState: def test_timer_enabled(self, host, config): - if config['type'] == 'single': + if config["type"] == "single": timer_name = f"borg_backup@{config['server']}.timer" c = host.run(f"systemctl is-enabled {timer_name}") assert c.rc == 0 - assert c.stdout.strip() == 'enabled' + assert c.stdout.strip() == "enabled" else: - for repo in config['repos']: + for repo in config["repos"]: c = host.run(f"systemctl is-enabled borg_backup@{repo}.timer") assert c.rc == 0 - assert c.stdout.strip() == 'enabled' + assert c.stdout.strip() == "enabled" def test_timer_active(self, host, config): - if config['type'] == 'single': + if config["type"] == "single": timer_name = f"borg_backup@{config['server']}.timer" c = host.run(f"systemctl is-active {timer_name}") assert c.rc == 0 else: - for repo in config['repos']: + for repo in config["repos"]: c = host.run(f"systemctl is-active borg_backup@{repo}.timer") assert c.rc == 0 def test_daemon_reload_ok(self, host, config): - c = host.run('systemctl daemon-reload') + c = host.run("systemctl daemon-reload") assert c.rc == 0 |