Files
@ 693d6960b1a0
Branch filter:
Location: majic-ansible-roles/roles/xmpp_server/molecule/default/tests/test_mandatory.py - annotation
693d6960b1a0
2.8 KiB
text/x-python
MAR-148: Fix test for the common role:
- Do some additional stripping on command outputs to get rid of extra
new lines.
- Do some additional stripping on command outputs to get rid of extra
new lines.
2ada86e90026 2ada86e90026 da031f975c67 da031f975c67 da031f975c67 da031f975c67 d62b3adec462 da031f975c67 da031f975c67 e970d4afbea4 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 e970d4afbea4 da031f975c67 e970d4afbea4 e970d4afbea4 e970d4afbea4 da031f975c67 da031f975c67 da031f975c67 da031f975c67 e970d4afbea4 da031f975c67 e970d4afbea4 da031f975c67 da031f975c67 da031f975c67 da031f975c67 e970d4afbea4 da031f975c67 da031f975c67 e970d4afbea4 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 e970d4afbea4 e970d4afbea4 e970d4afbea4 da031f975c67 da031f975c67 da031f975c67 da031f975c67 e970d4afbea4 da031f975c67 da031f975c67 e970d4afbea4 da031f975c67 da031f975c67 da031f975c67 da031f975c67 e970d4afbea4 e970d4afbea4 e970d4afbea4 da031f975c67 e970d4afbea4 da031f975c67 da031f975c67 e970d4afbea4 e970d4afbea4 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 da031f975c67 cc7de990e9e4 cc7de990e9e4 cc7de990e9e4 cc7de990e9e4 cc7de990e9e4 cc7de990e9e4 cc7de990e9e4 cc7de990e9e4 | import os
import testinfra.utils.ansible_runner
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('parameters-mandatory')
def test_prosody_tls_files(host):
"""
Tests if Prosody TLS private key and certificage have been deployed
correctly.
"""
hostname = host.run('hostname').stdout
with host.sudo():
tls_file = host.file('/etc/ssl/private/%s.domain1_xmpp.key' % hostname)
assert tls_file.is_file
assert tls_file.user == 'root'
assert tls_file.group == 'prosody'
assert tls_file.mode == 0o640
assert tls_file.content == open("tests/data/x509/%s.domain1_xmpp.key" % hostname, "r").read().rstrip()
tls_file = host.file('/etc/ssl/certs/%s.domain1_xmpp.pem' % hostname)
assert tls_file.is_file
assert tls_file.user == 'root'
assert tls_file.group == 'root'
assert tls_file.mode == 0o644
assert tls_file.content == open("tests/data/x509/%s.domain1_xmpp.pem" % hostname, "r").read().rstrip()
def test_certificate_validity_check_configuration(host):
"""
Tests if certificate validity check configuration file has been deployed
correctly.
"""
hostname = host.run('hostname').stdout
config = host.file('/etc/check_certificate/%s.domain1_xmpp.conf' % hostname)
assert config.is_file
assert config.user == 'root'
assert config.group == 'root'
assert config.mode == 0o644
assert config.content == "/etc/ssl/certs/%s.domain1_xmpp.pem" % hostname
def test_prosody_configuration_file_content(host):
"""
Tests if Prosody configuration file has correct content.
"""
hostname = host.run('hostname').stdout
with host.sudo():
config = host.file('/etc/prosody/prosody.cfg.lua')
assert "admins = { \"john.doe@domain1\", }" in config.content
assert "key = \"/etc/ssl/private/%s.domain1_xmpp.key\";" % hostname in config.content
assert "certificate = \"/etc/ssl/certs/%s.domain1_xmpp.pem\";" % hostname in config.content
assert "ldap_server = \"ldap-server\"" in config.content
assert "ldap_rootdn = \"cn=prosody,ou=services,dc=local\"" in config.content
assert "ldap_password = \"prosodypassword\"" in config.content
assert "ldap_filter = \"(&(mail=$user@$host)(memberOf=cn=xmpp,ou=groups,dc=local))\"" in config.content
assert "ldap_base = \"ou=people,dc=local\"" in config.content
assert """VirtualHost "domain1"
Component "conference.domain1" "muc"
restrict_room_creation = "local"
Component "proxy.domain1" "proxy65"
proxy65_acl = { "domain1" }""" in config.content
def test_correct_prosody_package_installed(host):
"""
Tests if correct Prosody package has been installed.
"""
assert host.package('prosody-0.10').is_installed
|