Files
@ 325b9d16a72b
Branch filter:
Location: majic-ansible-roles/roles/ldap_server/molecule/default/tests/test_backup.py - annotation
325b9d16a72b
1.7 KiB
text/x-python
MAR-151: Added support for Debian 10 Buster to common role:
- Updated tests.
- Updated role reference documentation.
- Updated role metadata information.
- Refactored IP plan for the test machines for better separation
between different types of machines and versions.
- Parametrised tests for limited connectivity using the maintenance
mode.
- Don't use MariaDB compat package in tests - name differs between
Debian 9 and Debian 10, and relevant parameter is already getting
tested properly using the remaining packages.
- Updated tests.
- Updated role reference documentation.
- Updated role metadata information.
- Refactored IP plan for the test machines for better separation
between different types of machines and versions.
- Parametrised tests for limited connectivity using the maintenance
mode.
- Don't use MariaDB compat package in tests - name differs between
Debian 9 and Debian 10, and relevant parameter is already getting
tested properly using the remaining packages.
c082a26b62ff c082a26b62ff 064760bdc9d5 064760bdc9d5 c082a26b62ff 064760bdc9d5 d62b3adec462 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 d752715bb533 064760bdc9d5 ec4e3e91c4d3 064760bdc9d5 064760bdc9d5 ec4e3e91c4d3 064760bdc9d5 d752715bb533 | 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_string
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_string == database_dump.content_string
|