Files
@ 74b1cab547fc
Branch filter:
Location: majic-ansible-roles/roles/xmpp_server/tests/test_backup.py - annotation
74b1cab547fc
1.8 KiB
text/x-python
MAR-122: Fixed handling of complex package versions for pip with Ansible 2.x:
- Use list for installing specific version of pip in the "pipreqcheck" virtual
environment in common role.
- Removed superficious (and incorrect) definition for application admin username
in wsgi_website role.
- Updated test playbook for wsgi_website role to test the fix.
- Switched to passing-in package list for installing packages in virtual
environment instead of using "with_items" in wsgi_website role.
- Use list for installing specific version of pip in the "pipreqcheck" virtual
environment in common role.
- Removed superficious (and incorrect) definition for application admin username
in wsgi_website role.
- Updated test playbook for wsgi_website role to test the fix.
- Switched to passing-in package list for installing packages in virtual
environment instead of using "with_items" in wsgi_website role.
da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 | import testinfra.utils.ansible_runner
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
'.molecule/ansible_inventory').get_hosts('parameters-optional')
def test_backup(Command, File, Sudo):
"""
Tests if Prosody data directory is correctly backed-up.
"""
# Deliver a couple of messages in order to make sure the directory structure
# is created.
send = Command("echo 'Hello' | sendxmpp -t -u jane.doe -p janepassword -j domain2:5222 jane.doe@domain2")
assert send.rc == 0
send = Command("echo 'Hello' | sendxmpp -t -u mick.doe -p mickpassword -j domain3:5222 mick.doe@domain3")
assert send.rc == 0
with Sudo():
# Remove restore directory in order to make sure restore has worked
# correctly.
Command("rm -rf /root/restore")
backup_run = Command('duply main backup')
assert backup_run.rc == 0
restore_run = Command('duply main restore /root/restore')
assert restore_run.rc == 0
for directory_path in ["/root/restore/var/lib/prosody/domain2",
"/root/restore/var/lib/prosody/domain2/offline",
"/root/restore/var/lib/prosody/domain3",
"/root/restore/var/lib/prosody/domain3/offline"]:
directory = File(directory_path)
assert directory.is_directory
assert directory.user == "prosody"
assert directory.group == "prosody"
assert directory.mode == 0o750
for file_path in ["/root/restore/var/lib/prosody/domain2/offline/jane%2edoe.list",
"/root/restore/var/lib/prosody/domain3/offline/mick%2edoe.list"]:
f = File(file_path)
assert f.is_file
assert f.user == 'prosody'
assert f.group == 'prosody'
assert f.mode == 0o640
|