Files
@ fdba88395073
Branch filter:
Location: majic-ansible-roles/roles/mail_server/molecule/default/tests/test_backup.py - annotation
fdba88395073
1.6 KiB
text/x-python
MAR-129: Updated database role for new Molecule and Ansible versions:
- Fixed linting issues.
- Moved test variables into group_vars.
- Renamed the server which effectively tests the optional
parameters (mainly the backup).
- Updated tests to use correct mechanism for obtaining the list of
hosts on top of which the tests should be run.
- Fixed linting issues.
- Moved test variables into group_vars.
- Renamed the server which effectively tests the optional
parameters (mainly the backup).
- Updated tests to use correct mechanism for obtaining the list of
hosts on top of which the tests should be run.
b598cf22ae50 b598cf22ae50 b598cf22ae50 d7f5980cc68a 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 testinfra.utils.ansible_runner
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
'.molecule/ansible_inventory.yml').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
|