from __future__ import absolute_import, division, print_function __metaclass__ = type import pytest from awx.conf.models import Setting @pytest.mark.django_db def test_setting_flat_value(run_module, admin_user): the_value = 'CN=service_account,OU=ServiceAccounts,DC=domain,DC=company,DC=org' result = run_module('tower_settings', dict(name='AUTH_LDAP_BIND_DN', value=the_value), admin_user) assert not result.get('failed', False), result.get('msg', result) assert result.get('changed'), result assert Setting.objects.get(key='AUTH_LDAP_BIND_DN').value == the_value @pytest.mark.django_db def test_setting_dict_value(run_module, admin_user): the_value = {'email': 'mail', 'first_name': 'givenName', 'last_name': 'surname'} result = run_module('tower_settings', dict(name='AUTH_LDAP_USER_ATTR_MAP', value=the_value), admin_user) assert not result.get('failed', False), result.get('msg', result) assert result.get('changed'), result assert Setting.objects.get(key='AUTH_LDAP_USER_ATTR_MAP').value == the_value @pytest.mark.django_db def test_setting_nested_type(run_module, admin_user): the_value = {'email': 'mail', 'first_name': 'givenName', 'last_name': 'surname'} result = run_module('tower_settings', dict(settings={'AUTH_LDAP_USER_ATTR_MAP': the_value}), admin_user) assert not result.get('failed', False), result.get('msg', result) assert result.get('changed'), result assert Setting.objects.get(key='AUTH_LDAP_USER_ATTR_MAP').value == the_value @pytest.mark.django_db def test_setting_bool_value(run_module, admin_user): for the_value in (True, False): result = run_module('tower_settings', dict(name='ACTIVITY_STREAM_ENABLED_FOR_INVENTORY_SYNC', value=the_value), admin_user) assert not result.get('failed', False), result.get('msg', result) assert result.get('changed'), result assert Setting.objects.get(key='ACTIVITY_STREAM_ENABLED_FOR_INVENTORY_SYNC').value is the_value