Files
@ 0bfda9b0c3fe
Branch filter:
Location: majic-ansible-roles/roles/xmpp_server/molecule/default/tests/test_backup.py - annotation
0bfda9b0c3fe
2.0 KiB
text/x-python
MAR-132: Pin packages as part of wsgi_website role test to ensure reproducability:
- Provide explicit list of packages being deployed. This should ensure
we can always reproduce the tests without being affected by new
releases of packages.
- Updated expected requirements in test for the jedi version.
- Provide explicit list of packages being deployed. This should ensure
we can always reproduce the tests without being affected by new
releases of packages.
- Updated expected requirements in test for the jedi version.
2ada86e90026 2ada86e90026 da031f975c67 da031f975c67 da031f975c67 da031f975c67 2ada86e90026 da031f975c67 da031f975c67 e970d4afbea4 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 ceb51ff23ae3 ceb51ff23ae3 da031f975c67 da031f975c67 ceb51ff23ae3 ceb51ff23ae3 da031f975c67 da031f975c67 e970d4afbea4 da031f975c67 da031f975c67 da031f975c67 e970d4afbea4 da031f975c67 e970d4afbea4 da031f975c67 da031f975c67 e970d4afbea4 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 e970d4afbea4 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 e970d4afbea4 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 | 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 Prosody data directory is correctly backed-up.
"""
# Deliver a couple of messages in order to make sure the directory structure
# is created.
send = host.run("echo 'Hello' | sendxmpp --tls-ca-path /usr/local/share/ca-certificates/testca.crt "
"-t -u jane.doe -p janepassword -j domain2:5222 jane.doe@domain2")
assert send.rc == 0
send = host.run("echo 'Hello' | sendxmpp --tls-ca-path /usr/local/share/ca-certificates/testca.crt "
"-t -u mick.doe -p mickpassword -j domain3:5222 mick.doe@domain3")
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/lib/prosody/domain2",
"/root/restore/var/lib/prosody/domain2/offline",
"/root/restore/var/lib/prosody/domain3",
"/root/restore/var/lib/prosody/domain3/offline"]:
directory = host.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 = host.file(file_path)
assert f.is_file
assert f.user == 'prosody'
assert f.group == 'prosody'
assert f.mode == 0o640
|