Files
@ b1b2928c582b
Branch filter:
Location: majic-ansible-roles/roles/xmpp_server/tests/test_backup.py - annotation
b1b2928c582b
1.8 KiB
text/x-python
Noticket: Fixed two tests related to application user profile directory in php_website role, and renamed two tests to make more sense.
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
|