Infrastructure-as-Code/debian/tests/test_basic.py

79 lines
1.7 KiB
Python

import os
def test_packages_are_installed(host):
packages = [
"nginx",
"ufw",
"docker-ce",
"git",
"nginx",
"wget",
"curl",
"gpg",
"dnsutils",
"ca-certificates",
"zip",
"python3-pip",
"virtualenv",
"python3-setuptools",
]
for p in packages:
print(f"[*] Checking if {p} is installed")
pkg = host.package(p)
assert pkg.is_installed
def test_ssh_is_listening(host):
socket = host.socket(f"tcp://0.0.0.0:22")
assert socket.is_listening
def test_docker_is_installed(host):
keyring_dir = host.file("/etc/apt/keyrings")
assert keyring_dir.exists
assert keyring_dir.is_directory
def test_ufw_service_running_and_enabled(host):
service = host.service("ufw")
assert service.is_running
assert service.is_enabled
def test_ssh_service_running_and_enabled(host):
service = host.service("ssh")
assert service.is_running
assert service.is_enabled
def test_nginx_service_running_and_enabled(host):
service = host.service("nginx")
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