Files
@ c063f27000b9
Branch filter:
Location: majic-ansible-roles/roles/wsgi_website/molecule/default/tests/test_parameters_optional.py - annotation
c063f27000b9
2.8 KiB
text/x-python
MAR-175: Mail server should be opportunistic in using TLS when delivering mail to remove servers:
- Previously the mail server would only deliver mails over plaintext.
- Deploy a simple SMTP server on both client1/client2
machines. Servers are set-up to require/refuse the STARTTLS over
SMTP.
- Added tests for checking if STARTTLS is used when available for mail
delivery.
- Fixed the wrong configurtion (making sure the TLS security level is
properly set for Postfix).
- Previously the mail server would only deliver mails over plaintext.
- Deploy a simple SMTP server on both client1/client2
machines. Servers are set-up to require/refuse the STARTTLS over
SMTP.
- Added tests for checking if STARTTLS is used when available for mail
delivery.
- Fixed the wrong configurtion (making sure the TLS security level is
properly set for Postfix).
b5ed796b566a 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 d62b3adec462 998aab91d6b4 998aab91d6b4 a1e0221d24e7 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 b7de8e615ffd f05151d6f802 998aab91d6b4 998aab91d6b4 a1e0221d24e7 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 a1e0221d24e7 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 c8d4251a6ea5 998aab91d6b4 998aab91d6b4 a1e0221d24e7 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 a1e0221d24e7 998aab91d6b4 6790c3bb01ce 998aab91d6b4 a1e0221d24e7 998aab91d6b4 6790c3bb01ce 998aab91d6b4 998aab91d6b4 a1e0221d24e7 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 a1e0221d24e7 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 a1e0221d24e7 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 a1e0221d24e7 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 a1e0221d24e7 998aab91d6b4 998aab91d6b4 998aab91d6b4 998aab91d6b4 a1e0221d24e7 998aab91d6b4 998aab91d6b4 998aab91d6b4 a1e0221d24e7 998aab91d6b4 998aab91d6b4 | import os
import testinfra.utils.ansible_runner
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('parameters-optional')
def test_installed_packages(host):
"""
Tests if additional packages are installed.
"""
assert host.package('libmariadbclient-dev-compat').is_installed
assert host.package('global').is_installed
def test_index_page(host):
"""
Tests if index page is served correctly. This covers:
- Basic WSGI application operation.
- Handling of environment variables.
- Handling of proxy headers.
"""
page = host.run('curl -H "Accept-Encoding: plain" https://parameters-optional.local/')
assert page.rc == 0
assert "This is the WSGI application at parameters-optional.local." in page.stdout
assert "Requested URL was: https://parameters-optional.local/" in page.stdout
assert "MY_ENV_VAR: My environment variable" in page.stdout
assert "Accept-Encoding: None" in page.stdout
assert "Python version: 3." in page.stdout
def test_static_file_serving(host):
"""
Tests serving of static files.
"""
page = host.run('curl https://parameters-optional.local/static/static_file.txt')
assert page.rc == 0
assert page.stdout == open("tests/data/static_file.txt", 'r').read()
page = host.run('curl https://parameters-optional.local/media/media_file.txt')
assert page.rc == 0
assert page.stdout == open("tests/data/media_file.txt", 'r').read()
def test_additional_nginx_config(host):
"""
Tests if additional Nginx configuration directives are properly deployed.
"""
page = host.run('curl https://parameters-optional.local/static/missing_static_file.txt')
assert page.rc == 0
assert "Requested URL was: https://parameters-optional.local/my/own/error/page"
def test_environment_indicator(host):
"""
Tests if environment indicator is applied correctly.
"""
page = host.run('curl https://parameters-optional.local/')
assert page.rc == 0
assert "<div id='website-environment' style='background-color: #ff0000; width: 100%; text-align: center; position: fixed; bottom: 5px; color: #00ff00; " \
"font-weight: bold; z-index: 999999;'>parameters-optional</div></body>" in page.stdout
def test_nginx_rewrite_config(host):
"""
Tests if Nginx rewrite configuration is deployed correctly.
"""
page = host.run('curl https://parameters-optional.local/rewrite1/some/path')
assert page.rc == 0
assert "Requested URL was: https://parameters-optional.local/rewritten1/" in page.stdout
page = host.run('curl https://parameters-optional.local/rewrite2/some/other/path')
assert page.rc == 0
assert "Requested URL was: https://parameters-optional.local/rewritten2/some/other/path" in page.stdout
|