Files
@ 8d272d91d3d2
Branch filter:
Location: majic-ansible-roles/roles/database/molecule/default/tests/test_backup.py - annotation
8d272d91d3d2
1.9 KiB
text/x-python
MAR-165: Deploy Diffie-Helman parameters for LDAP server in the ldap_server role:
- Not relevant for Debian Strech because of a bug in the OpenLDAP
version it ships with.
- This should allow use of DHE ciphers with LDAP server.
- Generated DH parameters only help pick one of the parameters from
RFC-7919 (based on the size of generated ones).
- Make the cipher test lists distro-specific due to differences
between supported algorithms in respective GnuTLS versions.
- Not relevant for Debian Strech because of a bug in the OpenLDAP
version it ships with.
- This should allow use of DHE ciphers with LDAP server.
- Generated DH parameters only help pick one of the parameters from
RFC-7919 (based on the size of generated ones).
- Make the cipher test lists distro-specific due to differences
between supported algorithms in respective GnuTLS versions.
fdba88395073 fdba88395073 862402d2c45b 862402d2c45b fdba88395073 862402d2c45b d62b3adec462 862402d2c45b 862402d2c45b 8278ff584984 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 8278ff584984 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 8278ff584984 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 8278ff584984 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 8278ff584984 8278ff584984 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b d752715bb533 862402d2c45b 862402d2c45b 8278ff584984 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 8278ff584984 862402d2c45b 862402d2c45b 862402d2c45b 8278ff584984 862402d2c45b 8278ff584984 862402d2c45b 862402d2c45b 8278ff584984 862402d2c45b d752715bb533 862402d2c45b 8278ff584984 862402d2c45b 862402d2c45b 8278ff584984 862402d2c45b 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_backup_directories(host):
"""
Tests if backup directories have been set-up correctly.
"""
with host.sudo():
directories = ["/srv/backup", "/srv/backup/mariadb"]
for path in directories:
directory = host.file(path)
assert directory.is_directory
assert directory.user == 'root'
assert directory.group == 'root'
assert directory.mode == 0o700
def test_backup_script_file(host):
"""
Tests if backup script file for dumping database has been set-up correctly.
"""
with host.sudo():
script = host.file('/etc/duply/main/pre.d/dump_testdb.sh')
assert script.is_file
assert script.user == 'root'
assert script.group == 'root'
assert script.mode == 0o700
assert "/usr/bin/mysqldump \"testdb\" > \"/srv/backup/mariadb/testdb.sql\"" in script.content_string
def test_backup_run(host):
"""
Tests if backup runs correctly, and if restore will included the backed-up
database.
"""
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/mariadb/testdb.sql')
assert database_dump.is_file
assert 'Database: testdb' 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/mariadb/testdb.sql')
assert restored_database_dump.is_file
assert restored_database_dump.content_string == database_dump.content_string
|