Files @ 605cdbaf9717
Branch filter:

Location: majic-ansible-roles/roles/web_server/molecule/default/tests/conftest.py

branko
MAR-163: Attach noqa directives to task names (if skipping is applicable on task level) for better uniformity:

- This way the indentation of comment describing the directive can
always be on the same level everywhere (irrespective of how the rest
of task arguments are listed).
from collections import namedtuple

import pytest


@pytest.fixture
def php_info(host):
    """
    Helper fixture used to define what the expected PHP-FPM package
    name, PHP-FPM service name, and PHP base configuration directory
    is based on Debian release.

    Currently supports Debian 9 (Stretch).

    Resulting information can be accessed through returned named tuple
    with the following properties:

    - fpm_package (name of the PHP-FPM package)
    - fpm_service (name of the PHP-FPM system service)
    - base_config_dir (base configuration directory for PHP)
    """

    PHPInfo = namedtuple('PHPInfo', 'fpm_package fpm_service base_config_dir')

    ansible_facts = host.ansible("setup")["ansible_facts"]
    ansible_distribution_release = ansible_facts['ansible_distribution_release']

    if ansible_distribution_release == 'stretch':
        info = PHPInfo(fpm_package='php-fpm', fpm_service='php7.0-fpm', base_config_dir='/etc/php/7.0')
    else:
        raise Exception('The php_info pytest fixture does not support Debian release: %s' % ansible_distribution_release)

    return info