Files
@ a4669a111e0f
Branch filter:
Location: majic-ansible-roles/roles/preseed/molecule/default/tests/test_parameters_optional_with_overrides.py - annotation
a4669a111e0f
3.9 KiB
text/x-python
MAR-239: Drop Debian 11 Bullseye from metadata of all roles, fix configuration file headings.
da27c590e954 da27c590e954 bcad613ab0c5 bcad613ab0c5 da27c590e954 da27c590e954 da27c590e954 da27c590e954 d62b3adec462 da27c590e954 ec01c5579795 ec01c5579795 da27c590e954 ec01c5579795 ec01c5579795 ec01c5579795 ec01c5579795 ec01c5579795 ec01c5579795 da27c590e954 da27c590e954 da27c590e954 da27c590e954 4ee589937d60 d47bd45e61b3 d20f150f3cca bb8003ddf790 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c ec01c5579795 ec01c5579795 0f349663e20c 0f349663e20c 0f349663e20c 0f349663e20c 4ee589937d60 d47bd45e61b3 d20f150f3cca bb8003ddf790 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 | import os
import pytest
import testinfra.utils.ansible_runner
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('parameters-optional-with-overrides')
parameters_mandatory_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('parameters-mandatory')
parameters_optional_with_overrides_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('parameters-optional-with-overrides')
@pytest.mark.parametrize("hostname", parameters_mandatory_hosts)
def test_preseed_configuration_file_content_host_without_overrides(host, hostname):
"""
Tests content of generated preseed configuration file.
"""
with host.sudo():
preseed_file = host.file(os.path.join("/tmp/preseed_files", "%s.cfg" % hostname))
preseed_file_content = preseed_file.content_string
ssh_public_key = "MY_ANSIBLE_KEY"
assert "d-i debian-installer/language string en" in preseed_file_content
assert "d-i debian-installer/country string SE" in preseed_file_content
assert "d-i debian-installer/locale string en_US.UTF-8" in preseed_file_content
assert "d-i keyboard-configuration/xkb-keymap select us" in preseed_file_content
assert "d-i netcfg/choose_interface select eth0" in preseed_file_content
assert """# DHCP network configuration.
d-i netcfg/disable_autoconfig boolean false
d-i netcfg/get_hostname string ignored-value
d-i netcfg/get_domain string ignored-value""" in preseed_file_content
assert "d-i mirror/http/hostname string ftp.se.debian.org" in preseed_file_content
assert "d-i mirror/http/directory string /debian" in preseed_file_content
assert "d-i mirror/http/proxy string " in preseed_file_content
assert "d-i passwd/root-password password root" in preseed_file_content
assert "d-i passwd/root-password-again password root" in preseed_file_content
assert "d-i time/zone string Europe/Stockholm" in preseed_file_content
assert ssh_public_key in preseed_file_content
@pytest.mark.parametrize("hostname", parameters_optional_with_overrides_hosts)
def test_preseed_configuration_file_content_host_with_overrides(host, hostname):
"""
Tests content of generated preseed configuration file.
"""
with host.sudo():
preseed_file = host.file(os.path.join("/tmp/preseed_files", "%s.cfg" % hostname))
preseed_file_content = preseed_file.content_string
ssh_public_key = "MY_ANSIBLE_KEY"
assert "d-i debian-installer/language string sr" in preseed_file_content
assert "d-i debian-installer/country string RS" in preseed_file_content
assert "d-i debian-installer/locale string en_UK.UTF-8" in preseed_file_content
assert "d-i keyboard-configuration/xkb-keymap select sv" in preseed_file_content
assert "d-i netcfg/choose_interface select eth1" in preseed_file_content
assert """# Manual network configuration.
d-i netcfg/disable_autoconfig boolean true
d-i netcfg/get_ipaddress string 3.3.3.3
d-i netcfg/get_netmask string 255.255.0.0
d-i netcfg/get_gateway string 2.2.2.2
d-i netcfg/get_nameservers string 1.1.1.1
d-i netcfg/confirm_static boolean true
# Hostname and domain configuration.
d-i netcfg/get_hostname string testing
d-i netcfg/get_domain string example.com""" in preseed_file_content
assert "d-i mirror/http/hostname string ftp.de.debian.org" in preseed_file_content
assert "d-i mirror/http/directory string /" in preseed_file_content
assert "d-i mirror/http/proxy string http://proxy.local" in preseed_file_content
assert "d-i passwd/root-password password myrootpassword" in preseed_file_content
assert "d-i passwd/root-password-again password myrootpassword" in preseed_file_content
assert "d-i time/zone string Europe/Belgrade" in preseed_file_content
assert ssh_public_key in preseed_file_content
|