79 lines
1.7 KiB
Python
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
|