mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-29 23:08:06 +02:00
refactor(systemd-services): migrate SYS_SERVICE_SUFFIX usage to get_service_name filter
Replaced all hardcoded service name concatenations with the new get_service_name filter. This ensures consistency, proper lowercase formatting, and correct handling of '@' suffixed units. Added unittests for the filter (normal, custom suffix, '@'-units, and lowercase normalization). Context: see ChatGPT discussion https://chatgpt.com/share/68a38beb-b9bc-800f-b7ed-cdd2b64b2604
This commit is contained in:
39
tests/unit/filter_plugins/test_get_service_name.py
Normal file
39
tests/unit/filter_plugins/test_get_service_name.py
Normal file
@@ -0,0 +1,39 @@
|
||||
import unittest
|
||||
from filter_plugins import get_service_name
|
||||
|
||||
class TestGetServiceName(unittest.TestCase):
|
||||
def test_normal_service(self):
|
||||
# Expect a dot between id and software name
|
||||
self.assertEqual(
|
||||
get_service_name.get_service_name("sys-ctl-cln-backups", "nginx"),
|
||||
"sys-ctl-cln-backups.nginx.service"
|
||||
)
|
||||
|
||||
def test_normal_service_custom_suffix(self):
|
||||
self.assertEqual(
|
||||
get_service_name.get_service_name("sys-ctl-cln-backups", "nginx", "timer"),
|
||||
"sys-ctl-cln-backups.nginx.timer"
|
||||
)
|
||||
|
||||
def test_with_at_suffix(self):
|
||||
# If systemctl_id ends with '@', @ is moved behind software name
|
||||
self.assertEqual(
|
||||
get_service_name.get_service_name("sys-ctl-bkp@", "postgres"),
|
||||
"sys-ctl-bkp.postgres@.service"
|
||||
)
|
||||
|
||||
def test_with_at_and_custom_suffix(self):
|
||||
self.assertEqual(
|
||||
get_service_name.get_service_name("sys-ctl-bkp@", "postgres", "timer"),
|
||||
"sys-ctl-bkp.postgres@.timer"
|
||||
)
|
||||
|
||||
def test_case_is_lowered(self):
|
||||
self.assertEqual(
|
||||
get_service_name.get_service_name("Sys-CTL-BKP@", "Postgres", "SeRviCe"),
|
||||
"sys-ctl-bkp.postgres@.service"
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
Reference in New Issue
Block a user