import os import pytest import testinfra.utils.ansible_runner testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( os.environ["MOLECULE_INVENTORY_FILE"] ).get_hosts("all") def test_sysctl_file(host): sysctl = host.file("/etc/sysctl.d/99-local.conf") assert sysctl.exists assert sysctl.user == "root" assert sysctl.group == "root" assert sysctl.mode == 0o644 @pytest.mark.parametrize( "name,value", [ ("net.ipv4.ip_forward", 0), ("net.ipv6.conf.all.forwarding", 0), ("vm.panic_on_oom", 0), ("vm.overcommit_memory", 1), ], ) def test_sysctl_values(host, name, value): assert host.sysctl(name) == value def test_modprobe_file(host): modprobe = host.file("/etc/modprobe.d/custom.conf") assert modprobe.exists assert modprobe.user == "root" assert modprobe.group == "root" assert modprobe.mode == 0o644 assert modprobe.contains("install usb-storage /bin/true") assert modprobe.contains("blacklist firewire-core") def test_coredump_config(host): assert host.file("/etc/sysctl.d/99-dump.conf").exists assert host.file("/etc/security/limits.d/dump.conf").exists assert host.file("/etc/profile.d/dump.sh").exists