56 lines
1.2 KiB
Python
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
|