Files @ ab20d5b216c4
Branch filter:

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

branko
MAR-192: Added support for Debian 12 Bookworm to web_server role:

- Some tweaks had to be done to test the TLS, but it would be useful
to revisit the TLS configuration in general in the future, and to
modernise it for TLSv1.2 and TLSv1.3, especially once the supports
for Debian 11 Bullseye is dropped.
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 11 (Bullseye)

    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 == 'bullseye':
        info = PHPInfo(fpm_package='php-fpm', fpm_service='php7.4-fpm', base_config_dir='/etc/php/7.4')
    elif ansible_distribution_release == 'bookworm':
        info = PHPInfo(fpm_package='php-fpm', fpm_service='php8.2-fpm', base_config_dir='/etc/php/8.2')
    else:
        raise Exception('The php_info pytest fixture does not support Debian release: %s' % ansible_distribution_release)

    return info