Files
@ 814be5def61d
Branch filter:
Location: majic-ansible-roles/roles/mail_server/molecule/default/tests/test_backup.py - annotation
814be5def61d
1.6 KiB
text/x-python
MAR-189: Added support for Debian 11 Bullseye to xmpp_server role:
- Roll-out LDAP client configuration since Bullseye does not come with
a stock one at /etc/ldap/ldap.conf that sets the trust anchor
correctly for validating LDAP server certificates.
- Drop the backports pinning in case of Bullseye (for now let's try to
keep the Buster and Bullseye at same versions for simplicity).
- Drop installation of Python apt bindings (no longer used).
- Tests for Buster and Bullseye need to be split-up a bit due to some
differences around backports etc.
- Roll-out LDAP client configuration since Bullseye does not come with
a stock one at /etc/ldap/ldap.conf that sets the trust anchor
correctly for validating LDAP server certificates.
- Drop the backports pinning in case of Bullseye (for now let's try to
keep the Buster and Bullseye at same versions for simplicity).
- Drop installation of Python apt bindings (no longer used).
- Tests for Buster and Bullseye need to be split-up a bit due to some
differences around backports etc.
b0c92677ba93 b0c92677ba93 b598cf22ae50 b598cf22ae50 b0c92677ba93 b598cf22ae50 d62b3adec462 b598cf22ae50 b598cf22ae50 d7f5980cc68a b598cf22ae50 b598cf22ae50 b598cf22ae50 b598cf22ae50 b598cf22ae50 b598cf22ae50 d7f5980cc68a b598cf22ae50 d7f5980cc68a b598cf22ae50 b598cf22ae50 d7f5980cc68a b598cf22ae50 b598cf22ae50 b598cf22ae50 d7f5980cc68a b598cf22ae50 d7f5980cc68a b598cf22ae50 b598cf22ae50 d7f5980cc68a b598cf22ae50 b598cf22ae50 b598cf22ae50 b598cf22ae50 b598cf22ae50 b598cf22ae50 b598cf22ae50 b598cf22ae50 b598cf22ae50 d7f5980cc68a b598cf22ae50 b598cf22ae50 b598cf22ae50 b598cf22ae50 b598cf22ae50 | import os
import testinfra.utils.ansible_runner
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('parameters-optional')
def test_backup(host):
"""
Tests if mail directory is correctly backed-up.
"""
# Deliver two mails in order to make sure the directory structure is
# created.
send = host.run('swaks --suppress-data --to john.doe@domain1 --server localhost')
assert send.rc == 0
send = host.run('swaks --suppress-data --to jane.doe@domain2 --server localhost')
assert send.rc == 0
with host.sudo():
# Remove restore directory in order to make sure restore has worked
# correctly.
host.run("rm -rf /root/restore")
backup_run = host.run('duply main backup')
assert backup_run.rc == 0
restore_run = host.run('duply main restore /root/restore')
assert restore_run.rc == 0
for directory_path in ["/root/restore/var/virtmail/domain1",
"/root/restore/var/virtmail/domain1/john.doe",
"/root/restore/var/virtmail/domain1/john.doe/Maildir",
"/root/restore/var/virtmail/domain2",
"/root/restore/var/virtmail/domain2/jane.doe",
"/root/restore/var/virtmail/domain2/jane.doe/Maildir"]:
directory = host.file(directory_path)
assert directory.is_directory
assert directory.user == "virtmail"
assert directory.group == "virtmail"
assert directory.mode == 0o700
|