Files
@ e970d4afbea4
Branch filter:
Location: majic-ansible-roles/roles/mail_forwarder/molecule/default/tests/test_connectivity_from_relay.py - annotation
e970d4afbea4
2.1 KiB
text/x-python
MAR-128: Upgraded tests for xmpp_server role:
- Switch to new Molecule configuration.
- Updated set-up playbook to use become: yes.
- Moved some preparatory steps outside of the main playbook (eases
idempotence tests).
- Updated tests to reference the yml inventory file.
- Updated tests to use new fixture (host instead of individual ones).
- Switched to extracting hostname instead of hard-coding it in a
couple of tests.
- Renamed hosts to include the Debian version.
- Updated names for some of the test data to cater to change in host
names.
- Switched to using more robust task for populating /etc/hosts.
- Switch to new Molecule configuration.
- Updated set-up playbook to use become: yes.
- Moved some preparatory steps outside of the main playbook (eases
idempotence tests).
- Updated tests to reference the yml inventory file.
- Updated tests to use new fixture (host instead of individual ones).
- Switched to extracting hostname instead of hard-coding it in a
couple of tests.
- Renamed hosts to include the Debian version.
- Updated names for some of the test data to cater to change in host
names.
- Switched to using more robust task for populating /etc/hosts.
fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 fb5e4e372902 | import testinfra.utils.ansible_runner
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
'.molecule/ansible_inventory.yml').get_hosts('mail-server')
def test_connectivity_from_relay(host):
"""
Tests connectivity towards mail forwarder servers from relay. Connection
towards parameters-mandatory should fail.
"""
with host.sudo():
ping = host.run('hping3 -S -p 25 -c 1 parameters-mandatory-jessie64')
assert ping.rc != 0
assert "100% packet loss" in ping.stderr
ping = host.run('hping3 -S -p 25 -c 1 parameters-optional-jessie64')
assert ping.rc == 0
ping = host.run('hping3 -S -p 25 -c 1 parameters-no-incoming-jessie64')
assert "100% packet loss" in ping.stderr
assert ping.rc != 0
ping = host.run('hping3 -S -p 25 -c 1 parameters-mandatory-stretch64')
assert ping.rc != 0
assert "100% packet loss" in ping.stderr
ping = host.run('hping3 -S -p 25 -c 1 parameters-optional-stretch64')
assert ping.rc == 0
ping = host.run('hping3 -S -p 25 -c 1 parameters-no-incoming-stretch64')
assert "100% packet loss" in ping.stderr
assert ping.rc != 0
def test_mail_reception_from_relay(host):
"""
Tests if mails can be sent from relay to servers configured to use the
relay.
"""
send = host.run('swaks --suppress-data --to root@parameters-optional-jessie64 --server parameters-optional-jessie64')
assert send.rc == 0
send = host.run('swaks --suppress-data --to root@parameters-optional-stretch64 --server parameters-optional-stretch64')
assert send.rc == 0
def test_open_relay(host):
"""
Tests if mail forwarder behaves as open relay.
"""
no_recipients_accepted = 24
send = host.run('swaks --suppress-data --to root@client1 --server parameters-optional-jessie64')
assert send.rc == no_recipients_accepted
assert "Relay access denied" in send.stdout
send = host.run('swaks --suppress-data --to root@client1 --server parameters-optional-stretch64')
assert send.rc == no_recipients_accepted
assert "Relay access denied" in send.stdout
|