Files
@ ff510f233909
Branch filter:
Location: majic-ansible-roles/roles/preseed/molecule/default/tests/test_parameters_optional.py - annotation
ff510f233909
2.7 KiB
text/x-python
MAR-132: Added support for Debian 9 (Stretch) to php_website role:
- Implemented the necessary changes related to differences between PHP
versions and related paths (PHP 5 vs PHP 7).
- Set the shell for application system account explicitly (workaround
for Debian bug 865762 in Stretch).
- Updated Molecule tests to cover Debian 9.
- Updated Molecule test preparation playbook to account for a number
of differences between Jessie and Stretch (mainly related to mailing
functionality).
- Use more specific host groups in tests.
- Renamed a couple of variables in test for sending out mails to make
it clearer what is being looked up as part of regex matching.
- Updated Molecule tests where certain paths depend on what Debian
release they are ran against.
- Split-up Jessie-specific tests into separate file.
- Implemented the necessary changes related to differences between PHP
versions and related paths (PHP 5 vs PHP 7).
- Set the shell for application system account explicitly (workaround
for Debian bug 865762 in Stretch).
- Updated Molecule tests to cover Debian 9.
- Updated Molecule test preparation playbook to account for a number
of differences between Jessie and Stretch (mainly related to mailing
functionality).
- Use more specific host groups in tests.
- Renamed a couple of variables in test for sending out mails to make
it clearer what is being looked up as part of regex matching.
- Updated Molecule tests where certain paths depend on what Debian
release they are ran against.
- Split-up Jessie-specific tests into separate file.
da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 abe3f4e5e6a6 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 4ee589937d60 da27c590e954 da27c590e954 da27c590e954 da27c590e954 4ee589937d60 da27c590e954 4ee589937d60 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 4ee589937d60 da27c590e954 da27c590e954 da27c590e954 da27c590e954 4ee589937d60 da27c590e954 da27c590e954 4ee589937d60 da27c590e954 4ee589937d60 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 4ee589937d60 da27c590e954 da27c590e954 da27c590e954 da27c590e954 4ee589937d60 4ee589937d60 4ee589937d60 4ee589937d60 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 da27c590e954 da27c590e954 | import os
import testinfra.utils.ansible_runner
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts(['parameters-optional'])
PRESEED_DIRECTORY = '/tmp/custom_preseed_files_location'
def test_preseed_directory(host):
"""
Test presence and permissions of preseed directory.
"""
with host.sudo():
preseed_directory = host.file(PRESEED_DIRECTORY)
assert preseed_directory.is_directory
assert preseed_directory.mode == 0o750
def test_preseed_configuration_files(host):
"""
Tests presence and permissions on created preseed configuration files.
"""
with host.sudo():
# Verify that preseed configuration files are created for all hosts.
for testinfra_host in testinfra_hosts:
preseed_file = host.file(os.path.join(PRESEED_DIRECTORY, "%s.cfg" % testinfra_host))
assert preseed_file.is_file
assert preseed_file.mode == 0o640
def test_preseed_configuration_file_content(host):
"""
Tests content of generated preseed configuration file.
"""
hostname = host.run('hostname').stdout
with host.sudo():
preseed_file = host.file(os.path.join(PRESEED_DIRECTORY, "%s.cfg" % hostname))
preseed_file_content = preseed_file.content_string
ssh_public_key = "CUSTOMKEY"
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
|