Files @ 6f26ccefa724
Branch filter:

Location: majic-ansible-roles/roles/wsgi_website/molecule/default/tests/test_parameters_mandatory.py

branko
MAR-151: Added support for Debian 10 Buster to php_website role:

- Updated role reference documentaiton.
- Updated role meta information.
- Updated tests.
- Refactor the code to take into account differences in PHP-related
paths between Debian Stretch and Debian Buster.
- Make the test for web application user less dependant on what the
actual UID number is in case of default value. By default user
should be created as system user, which means its UID number should
be less than 1000.
- Drop the installation of libmariadbclient-dev-compat library - the
test is good enough without it, and the actual package is
differently named under Debian Stretch and Debian Buster (which
would complicate the test without any benefits).
import os

import testinfra.utils.ansible_runner


testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
    os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('parameters-mandatory')


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-mandatory/')

    assert page.rc == 0
    assert "This is the WSGI application at parameters-mandatory." in page.stdout
    assert "Requested URL was: https://parameters-mandatory/" in page.stdout
    assert "MY_ENV_VAR: None" in page.stdout
    assert "Accept-Encoding: plain" in page.stdout
    assert "Python version: 2." in page.stdout


def test_static_file_serving(host):
    """
    Tests serving of static files.
    """

    page = host.run('curl https://parameters-mandatory/static/static_file.txt')
    assert page.rc == 0
    assert "This is the WSGI application at parameters-mandatory." in page.stdout
    assert "Requested URL was: https://parameters-mandatory/static/static_file.txt" in page.stdout

    page = host.run('curl https://parameters-mandatory/media/media_file.txt')
    assert page.rc == 0
    assert "This is the WSGI application at parameters-mandatory." in page.stdout
    assert "Requested URL was: https://parameters-mandatory/media/media_file.txt" in page.stdout