Files @ 5f9f8aef3473
Branch filter:

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

branko
MAR-154: Drop support for Python 2.7 from the common role:

- This primarily concerns removal of pip requirements upgrade checks
for Python 2.7.
- The old Python 3-specific paths are getting deprecated, and the
Python 2 paths will be used instead.
- Set permissions on pipreqcheck directory explicitly (because of
deprecation testing).
import os

import testinfra.utils.ansible_runner


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


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-paste-req/')

    assert page.rc == 0
    assert "This is the WSGI application at parameters-paste-req." in page.stdout
    assert "Requested URL was: https://parameters-paste-req/" 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-paste-req/static/static_file.txt')
    assert page.rc == 0
    assert "This is the WSGI application at parameters-paste-req." in page.stdout
    assert "Requested URL was: https://parameters-paste-req/static/static_file.txt" in page.stdout

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


def test_website_application_user(host):
    """
    Tests if website application user has been created correctly.
    """

    app_user = "web-parameters-paste-req"

    expected_group = "web-parameters-paste-req"
    expected_home = "/var/www/parameters-paste-req"

    user = host.user(app_user)

    assert user.exists
    assert user.uid < 1000
    assert user.group == expected_group
    assert user.groups == [expected_group]
    assert user.shell == '/bin/sh'
    assert user.home == expected_home

    with host.sudo():
        umask = host.run("su -l " + app_user + " -c 'bash -c umask'")
        assert umask.stdout == '0007\n'