Files @ 770551dc8c6f
Branch filter:

Location: majic-ansible-roles/roles/backup/molecule/default/tests/test_default.py - annotation

branko
MAR-148: Improve the SSH connectivity tests in backup_server role to be more reliable:

- Introduce a session-level fixture for setting permissions for client
SSH private keys (fixes errors related to SSH requesting tighter
permissions).
- Add assertions for the tests that verify the backup clients cannot
connect to the regular SSH server in case the SSH private keys do
not have correct permissions (just in case).
import os

import testinfra.utils.ansible_runner


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


def test_backup_patterns_file(host):
    """
    Tests if deployed file with backup patterns has correct permissions.
    """

    with host.sudo():

        backup_pattern = host.file('/etc/duply/main/patterns/test')

        assert backup_pattern.is_file
        assert backup_pattern.user == 'root'
        assert backup_pattern.group == 'root'
        assert backup_pattern.mode == 0o600


def test_include_file(host):
    """
    Tests if assembled include file has correct permissions.
    """

    with host.sudo():

        include = host.file('/etc/duply/main/include')

        assert include.is_file
        assert include.user == 'root'
        assert include.group == 'root'
        assert include.mode == 0o600