Files
@ c8d4251a6ea5
Branch filter:
Location: majic-ansible-roles/roles/ldap_server/molecule/default/tests/test_backup.py - annotation
c8d4251a6ea5
1.7 KiB
text/x-python
MAR-131: Added support for specifying Python version in wsgi_website role:
- Introduced additional role parameter for specifying the Python
version.
- Updated tests to verify new functionality.
- Fixed existing tests to account for differences between Python 2 and
Python 3 - including changes to WSGI test applications.
- Updated documentation, documenting new parameter and fixing one
minor typo.
- Updated release notes.
- Bumped default version of Gunicorn/futures used.
- Introduced additional role parameter for specifying the Python
version.
- Updated tests to verify new functionality.
- Fixed existing tests to account for differences between Python 2 and
Python 3 - including changes to WSGI test applications.
- Updated documentation, documenting new parameter and fixing one
minor typo.
- Updated release notes.
- Bumped default version of Gunicorn/futures used.
c082a26b62ff c082a26b62ff 064760bdc9d5 064760bdc9d5 c082a26b62ff 064760bdc9d5 c082a26b62ff 064760bdc9d5 064760bdc9d5 ec4e3e91c4d3 064760bdc9d5 064760bdc9d5 064760bdc9d5 064760bdc9d5 064760bdc9d5 ec4e3e91c4d3 064760bdc9d5 ec4e3e91c4d3 064760bdc9d5 064760bdc9d5 064760bdc9d5 064760bdc9d5 064760bdc9d5 064760bdc9d5 064760bdc9d5 ec4e3e91c4d3 064760bdc9d5 064760bdc9d5 064760bdc9d5 064760bdc9d5 ec4e3e91c4d3 064760bdc9d5 ec4e3e91c4d3 064760bdc9d5 064760bdc9d5 064760bdc9d5 064760bdc9d5 064760bdc9d5 064760bdc9d5 064760bdc9d5 ec4e3e91c4d3 064760bdc9d5 064760bdc9d5 064760bdc9d5 064760bdc9d5 ec4e3e91c4d3 064760bdc9d5 064760bdc9d5 064760bdc9d5 ec4e3e91c4d3 064760bdc9d5 ec4e3e91c4d3 064760bdc9d5 064760bdc9d5 ec4e3e91c4d3 064760bdc9d5 064760bdc9d5 064760bdc9d5 ec4e3e91c4d3 064760bdc9d5 064760bdc9d5 ec4e3e91c4d3 064760bdc9d5 064760bdc9d5 | 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_database_dump_directory(host):
"""
Tests configuration of the directory where database dumps are stored prior
to running backup.
"""
with host.sudo():
directory = host.file('/srv/backup')
assert directory.is_directory
assert directory.user == 'root'
assert directory.group == 'root'
assert directory.mode == 0o700
def test_database_dump_script(host):
"""
Tests if database dump script is deployed correctly.
"""
with host.sudo():
script = host.file('/etc/duply/main/pre.d/ldapdump.sh')
assert script.is_file
assert script.user == 'root'
assert script.group == 'root'
assert script.mode == 0o700
def test_backup(host):
"""
Tests if LDAP directory is correctly backed-up.
"""
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
database_dump = host.file('/srv/backup/slapd.bak')
assert database_dump.is_file
assert 'dn: dc=local' in database_dump.content
restore_run = host.run('duply main restore /root/restore')
assert restore_run.rc == 0
restored_database_dump = host.file('/root/restore/srv/backup/slapd.bak')
assert restored_database_dump.is_file
assert restored_database_dump.content == database_dump.content
|