Files @ b68d19ad38a3
Branch filter:

Location: majic-ansible-roles/roles/mail_forwarder/tests/test_connectivity_from_relay.py

branko
MAR-33: Added initial scaffolding for wsgi_website tests:

- Added Molecule configuration file.
- Implemented test playbook that sets-up three separate instances of WSGI
website in order to test all variations of parameters.
- Added name for the set_fact task.
- Fixed linting errors related to mode that lacks leading zero.
- Added skip_ansible_lint tag for command that creates the Python virtual
environment.
- Added missing become keyword wherever become_user is specified.
- Fixed invalid parameter name for specifying if HTTPS should be enforced or
not.
- Added small initial sample WSGI apps that get deployed.
- Added static/media sample files.
- Added TLS material.
- Added initial dummy test file.
import testinfra.utils.ansible_runner


testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
    '.molecule/ansible_inventory').get_hosts('mail-server')


def test_connectivity_from_relay(Command, Sudo):
    """
    Tests connectivity towards mail forwarder servers from relay. Connection
    towards parameters-mandatory should fail.
    """

    with Sudo():

        ping = Command('hping3 -S -p 25 -c 1 parameters-mandatory')
        assert ping.rc != 0

        ping = Command('hping3 -S -p 25 -c 1 parameters-optional')
        assert ping.rc == 0


def test_mail_reception_from_relay(Command, Sudo):
    """
    Tests if mails can be sent from relay to servers configured to use the
    relay.
    """

    send = Command('swaks --suppress-data --to root@parameters-optional --server parameters-optional')
    assert send.rc == 0


def test_open_relay(Command):
    """
    Tests if mail forwarder behaves as open relay.
    """

    no_recipients_accepted = 24

    send = Command('swaks --suppress-data --to root@client1 --server parameters-optional')
    assert send.rc == no_recipients_accepted
    assert "Relay access denied" in send.stdout