From 41553c879c5d3d9651a4466d9cf95a4655fcdc9e Mon Sep 17 00:00:00 2001 From: Chris Church Date: Fri, 20 Jan 2017 16:02:18 -0500 Subject: [PATCH] Make AWX_PROOT_HIDE_PATHS, AWX_PROOT_SHOW_PATHS and AWX_ANSIBLE_CALLBACK_PLUGINS not required. --- awx/main/conf.py | 3 +++ .../tests/functional/api/test_settings.py | 21 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/awx/main/conf.py b/awx/main/conf.py index c51205eaa7..2361a54e3e 100644 --- a/awx/main/conf.py +++ b/awx/main/conf.py @@ -134,6 +134,7 @@ register( register( 'AWX_PROOT_HIDE_PATHS', field_class=fields.StringListField, + required=False, label=_('Paths to hide from isolated jobs'), help_text=_('Additional paths to hide from isolated processes.'), category=_('Jobs'), @@ -143,6 +144,7 @@ register( register( 'AWX_PROOT_SHOW_PATHS', field_class=fields.StringListField, + required=False, label=_('Paths to expose to isolated jobs'), help_text=_('Whitelist of paths that would otherwise be hidden to expose to isolated jobs.'), category=_('Jobs'), @@ -182,6 +184,7 @@ register( register( 'AWX_ANSIBLE_CALLBACK_PLUGINS', field_class=fields.StringListField, + required=False, label=_('Ansible Callback Plugins'), help_text=_('List of paths to search for extra callback plugins to be used when running jobs.'), category=_('Jobs'), diff --git a/awx/main/tests/functional/api/test_settings.py b/awx/main/tests/functional/api/test_settings.py index 94aa316aea..a3fd24b22b 100644 --- a/awx/main/tests/functional/api/test_settings.py +++ b/awx/main/tests/functional/api/test_settings.py @@ -44,6 +44,27 @@ def test_license_cannot_be_removed_via_system_settings(mock_no_license_file, get assert response.data['LICENSE'] +@pytest.mark.django_db +def test_jobs_settings(get, put, patch, delete, admin): + url = reverse('api:setting_singleton_detail', args=('jobs',)) + get(url, user=admin, expect=200) + delete(url, user=admin, expect=204) + response = get(url, user=admin, expect=200) + data = dict(response.data.items()) + put(url, user=admin, data=data, expect=200) + patch(url, user=admin, data={'AWX_PROOT_HIDE_PATHS': ['/home']}, expect=200) + response = get(url, user=admin, expect=200) + assert response.data['AWX_PROOT_HIDE_PATHS'] == ['/home'] + data.pop('AWX_PROOT_HIDE_PATHS') + data.pop('AWX_PROOT_SHOW_PATHS') + data.pop('AWX_ANSIBLE_CALLBACK_PLUGINS') + put(url, user=admin, data=data, expect=200) + response = get(url, user=admin, expect=200) + assert response.data['AWX_PROOT_HIDE_PATHS'] == [] + assert response.data['AWX_PROOT_SHOW_PATHS'] == [] + assert response.data['AWX_ANSIBLE_CALLBACK_PLUGINS'] == [] + + @pytest.mark.django_db def test_ldap_settings(get, put, patch, delete, admin, enterprise_license): url = reverse('api:setting_singleton_detail', args=('ldap',))