import os import pytest import testinfra.utils.ansible_runner testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all') def test_seraph_file(host): f = host.file('/opt/atlassian/confluence/current/confluence/WEB-INF/classes/seraph-config.xml') assert f.exists assert f.contains('COOKIEAGE') def test_conf_init_file(host): f = host.file('/opt/atlassian/confluence/current/confluence/WEB-INF/classes/confluence-init.properties') assert f.exists assert f.contains('confluence.home = /var/atlassian/application-data/confluence') def test_conf_attachment_symlinks(host): assert host.file('/var/atlassian/application-data/confluence').is_directory assert host.file('/media/atl/confluence/shared-home/attachments/').is_directory f = host.file('/var/atlassian/application-data/confluence/attachments') assert f.is_symlink and f.linked_to == '/media/atl/confluence/shared-home/attachments' f = host.file('/var/atlassian/application-data/confluence/shared-home') assert f.is_symlink and f.linked_to == '/media/atl/confluence/shared-home' def test_setenv_file(host): f = host.file('/opt/atlassian/confluence/current/bin/setenv.sh') assert f.exists assert f.contains('-XmsPLACEHOLDER') assert f.contains('-XmxPLACEHOLDER') assert f.contains('-Dconfluence.cluster.node.name=1.1.1.1') def test_server_file(host): f = host.file('/opt/atlassian/confluence/current/conf/server.xml') assert f.exists assert f.contains('Connector port="8080"') assert f.contains('Server port="8005"') assert f.contains('/media/atl/confluence/shared-home') assert f.contains('org.postgresql.Driver') assert f.contains('ec2.amazonaws.com') assert f.contains('jdbc:postgresql://postgres-db.ap-southeast-2.rds.amazonaws.com:5432/confluence') assert f.contains('molecule_password') assert f.contains('select 1;') assert f.contains('/foo') assert f.contains('my-cluster-tag') @pytest.mark.parametrize('font', [ # '/usr/lib/jvm/java/lib/fonts/fallback/NotoSansJavanese-Regular.ttf' '/opt/atlassian/confluence/current/jre/lib/fonts/fallback/NotoSansJavanese-Regular.ttf' ]) def test_fonts_installed_and_linked(host, font): f = host.file(font) assert f.exists