Files
@ f176b9957d1b
Branch filter:
Location: majic-ansible-roles/roles/common/molecule/default/tests/test_maintenance_from_disallowed_client.py - annotation
f176b9957d1b
1.8 KiB
text/x-python
MAR-218: Drop the workaround for running connectivity tests:
- Relevant PR has been long merged into testinfra, and no longer poses
an issue.
- Relevant PR has been long merged into testinfra, and no longer poses
an issue.
7b004fce5c8b 7b004fce5c8b 325b9d16a72b 325b9d16a72b 7b004fce5c8b 7b004fce5c8b 7b004fce5c8b 7b004fce5c8b 7b004fce5c8b 7b004fce5c8b f6bd1ff55982 f6bd1ff55982 7b004fce5c8b f6bd1ff55982 f6bd1ff55982 f6bd1ff55982 f6bd1ff55982 f6bd1ff55982 736e06e7ffd6 736e06e7ffd6 7b004fce5c8b 7b004fce5c8b 7b004fce5c8b 7b004fce5c8b 7b004fce5c8b 7b004fce5c8b 736e06e7ffd6 76debadf4dae 76debadf4dae 76debadf4dae 7b004fce5c8b 7b004fce5c8b f6bd1ff55982 736e06e7ffd6 736e06e7ffd6 7b004fce5c8b 7b004fce5c8b 7b004fce5c8b 7b004fce5c8b 7b004fce5c8b 7b004fce5c8b 736e06e7ffd6 76debadf4dae 76debadf4dae 76debadf4dae 7b004fce5c8b f6bd1ff55982 f6bd1ff55982 736e06e7ffd6 736e06e7ffd6 f6bd1ff55982 f6bd1ff55982 f6bd1ff55982 f6bd1ff55982 f6bd1ff55982 f6bd1ff55982 736e06e7ffd6 76debadf4dae 76debadf4dae 76debadf4dae | import os
import pytest
import testinfra.utils.ansible_runner
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('client-disallowed')
parameters_mandatory_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('parameters-mandatory')
parameters_optional_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('parameters-optional')
@pytest.mark.parametrize("target_host", parameters_mandatory_hosts + parameters_optional_hosts)
@pytest.mark.parametrize("ip_protocol", [4, 6])
def test_ssh_connectivity(host, target_host, ip_protocol):
"""
Test if SSH server is reachable.
"""
with host.sudo():
scan = host.run('nmap -%s -p 22 -oG - %s', str(ip_protocol), target_host)
assert scan.rc == 0
assert "Ports: 22/open/tcp//ssh" in scan.stdout
@pytest.mark.parametrize("target_host", parameters_mandatory_hosts)
@pytest.mark.parametrize("ip_protocol", [4, 6])
def test_http_connectivity_allowed(host, target_host, ip_protocol):
"""
Test if HTTP server is reachable.
"""
with host.sudo():
scan = host.run('nmap -%s -p 80 -oG - %s', str(ip_protocol), target_host)
assert scan.rc == 0
assert "Ports: 80/open/tcp//http" in scan.stdout
@pytest.mark.parametrize("target_host", parameters_optional_hosts)
@pytest.mark.parametrize("ip_protocol", [4, 6])
def test_http_connectivity_disallowed(host, target_host, ip_protocol):
"""
Test if HTTP server is reachable.
"""
with host.sudo():
scan = host.run('nmap -%s -p 80 -oG - %s', str(ip_protocol), target_host)
assert scan.rc == 0
assert "Ports: 80/filtered/tcp//http" in scan.stdout
|