Files
@ 3dd7f39302f8
Branch filter:
Location: majic-ansible-roles/roles/preseed/tests/test_parameters_mandatory.py - annotation
3dd7f39302f8
2.7 KiB
text/x-python
MAR-29: Implemented tests for php_website role:
- Install some additional tools for testing everything.
- Updated test playbook to change allowed extensions for running PHP scripts on
parameters-optional.
- Updated error page to use correct extension for parameters-optional test
instance.
- Expanded rewrite configuration slightly for parameters-optional.
- Install libmariadb-client-lgpl-dev-compat to test mysql_config symlink
creation.
- Deploy a number of PHP pages used for testing if pages are served correctly.
- Set file permissions on deployed PHP FPM pool configuraiton files.
- Use expanded syntax when deploying TLS keys/certificates in order to avoid
issues with TAB mangling.
- Fixed set-up of Strict-Transport-Security header when HTTPS enforcement is
disabled.
- Added a number of PHP and static test pages.
- Wrote tests covering full functionality of the role.
- Install some additional tools for testing everything.
- Updated test playbook to change allowed extensions for running PHP scripts on
parameters-optional.
- Updated error page to use correct extension for parameters-optional test
instance.
- Expanded rewrite configuration slightly for parameters-optional.
- Install libmariadb-client-lgpl-dev-compat to test mysql_config symlink
creation.
- Deploy a number of PHP pages used for testing if pages are served correctly.
- Set file permissions on deployed PHP FPM pool configuraiton files.
- Use expanded syntax when deploying TLS keys/certificates in order to avoid
issues with TAB mangling.
- Fixed set-up of Strict-Transport-Security header when HTTPS enforcement is
disabled.
- Added a number of PHP and static test pages.
- Wrote tests covering full functionality of the role.
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 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 0f349663e20c da27c590e954 da27c590e954 da27c590e954 da27c590e954 da27c590e954 0f349663e20c 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(
'.molecule/ansible_inventory').get_hosts('parameters-mandatory')
def test_preseed_directory(File, Sudo):
"""
Tests presence and permissions on created preseed directory.
"""
with Sudo():
# Preseed directory created at same level as inventory.
preseed_directory = File(os.path.join(os.getcwd(), ".molecule", 'preseed_files'))
assert preseed_directory.is_directory
assert preseed_directory.mode == 0o750
def test_preseed_configuration_files(File, Sudo):
"""
Tests presence and permissions on created preseed configuration files.
"""
with Sudo():
# Preseed directory created at same level as inventory.
preseed_directory_path = os.path.join(os.getcwd(), ".molecule", 'preseed_files')
# Verify that preseed configuration files are created for all hosts.
for host in testinfra_hosts:
preseed_file = File(os.path.join(preseed_directory_path, "%s.cfg" % host))
assert preseed_file.is_file
assert preseed_file.mode == 0o640
def test_preseed_configuration_file_content(File, Sudo):
"""
Tests content of generated preseed configuration file.
"""
with Sudo():
preseed_file = File(os.path.join(os.getcwd(), ".molecule", "preseed_files", "parameters-mandatory.cfg"))
preseed_file_content = preseed_file.content_string
ssh_public_key = open(os.path.join(os.path.expanduser("~"), ".ssh", "id_rsa.pub")).read().strip()
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
|