Files
docker-pi-hole/test/tests/test_general.py
2025-04-04 19:16:10 +02:00

46 lines
1.2 KiB
Python

import pytest
@pytest.mark.parametrize("test_args", ['-e "PIHOLE_UID=456"'])
def test_pihole_uid_env_var(docker):
func = docker.run("id -u pihole")
assert "456" in func.stdout
@pytest.mark.parametrize("test_args", ['-e "PIHOLE_GID=456"'])
def test_pihole_gid_env_var(docker):
func = docker.run("id -g pihole")
assert "456" in func.stdout
def test_pihole_ftl_version(docker):
func = docker.run("pihole-FTL -vv")
assert func.rc == 0
assert "Version:" in func.stdout
# Wait 5 seconds for startup, then kill the start.sh script
# Finally, grep the FTL log to see if it has been shut down cleanly
def test_pihole_ftl_clean_shutdown(docker):
func = docker.run(
"""
sleep 5
killall --signal 15 start.sh
sleep 5
grep 'terminated' /var/log/pihole/FTL.log
"""
)
assert "INFO: ########## FTL terminated after" in func.stdout
assert "(code 0)" in func.stdout
def test_cronfile_valid(docker):
func = docker.run(
"""
/usr/bin/crontab /crontab.txt
crond -d 8 -L /cron.log
grep 'parse error' /cron.log
"""
)
assert "parse error" not in func.stdout