notes/devops/sandbox/testinfra/getting-started/test_librepages.py

56 lines
1.2 KiB
Python

# see https://librepages.org/blog/2022-09-10-how-to-publish-website-without-librepages/
import os
DOMAIN = os.getenv("DOMAIN")
def test_nginx_is_installed(host):
pkg = host.package("nginx-common")
assert pkg.is_installed
def test_nginx_service_running_and_enabled(host):
service = host.service("nginx")
assert service.is_running
assert service.is_enabled
def test_nginx_is_listening(host):
for addr in ["0.0.0.0:80", "0.0.0.0:443"]:
socket = host.socket(f"tcp://{addr}")
assert socket.is_listening
def test_ufw_is_installed(host):
pkg = host.package("ufw")
assert pkg.is_installed
def test_ufw_service_running_and_enabled(host):
service = host.service("ufw")
assert service.is_running
assert service.is_enabled
def test_fail2ban_is_installed(host):
pkg = host.package("fail2ban")
assert pkg.is_installed
def test_fail2ban_is_enabled_and_running(host):
service = host.service("fail2ban")
assert service.is_running
assert service.is_enabled
def test_ssh_is_installed(host):
pkg = host.package("openssh-server")
assert pkg.is_installed
def test_ssh_is_enabled_and_running(host):
service = host.service("sshd")
assert service.is_running
assert service.is_enabled