Files @ a1e0221d24e7
Branch filter:

Location: majic-ansible-roles/roles/wsgi_website/molecule/default/tests/data/python/wsgi/testapp.py

branko
MAR-128: Upgraded tests for ROLE_NAME role:

- Switch to new Molecule configuration.
- Updated set-up playbook to use become: yes.
- Moved some preparatory steps outside of the main playbook (eases
idempotence tests).
- Updated tests to reference the yml inventory file.
- Updated tests to use new fixture (host instead of individual ones).
- Switched to extracting hostname instead of hard-coding it in a
couple of tests.
- Fixed some linting issues.
- Updated one of the tests that depend on output of pip freeze due to
new versions of packages coming out.
- Updated hostname to include Debian version (for future expansion).
- Renamded some test data to match new hostname.
#!/usr/bin/env python

import os

def application(environ, start_response):
    status = '200 OK'

    template = """<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>{host}</title>
  </head>
  <body>
    <p>This is the WSGI application at {host}.</p>
    <p>Requested URL was: {scheme}://{host}{script}{path}
    <p>MY_ENV_VAR: {my_env_var}</p>
    <p>Accept-Encoding: {accept_encoding}</p>
  </body>
</html>
"""

    parameters = {}
    parameters['host'] = environ['HTTP_HOST']
    parameters['scheme'] = environ['wsgi.url_scheme']
    parameters['script'] = environ['SCRIPT_NAME']
    parameters['path'] = environ['PATH_INFO']
    parameters['my_env_var'] = os.environ.get('MY_ENV_VAR', None)
    parameters['accept_encoding'] = environ.get('HTTP_ACCEPT_ENCODING')

    output = template.format(**parameters)

    response_headers = [('Content-type', 'text/html'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]