mirror of
https://github.com/ansible/awx.git
synced 2026-05-10 10:57:35 -02:30
Merge pull request #203 from jangsutsr/7350_force_providing_tacacs_sec_when_host_is_set
Force providing TACACSPLUS_SECRET when TACACSPLUS_HOST is set
This commit is contained in:
@@ -147,6 +147,21 @@ def test_radius_settings(get, put, patch, delete, admin, settings):
|
|||||||
assert settings.RADIUS_SECRET == ''
|
assert settings.RADIUS_SECRET == ''
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.django_db
|
||||||
|
def test_tacacsplus_settings(get, put, patch, admin):
|
||||||
|
url = reverse('api:setting_singleton_detail', kwargs={'category_slug': 'tacacsplus'})
|
||||||
|
response = get(url, user=admin, expect=200)
|
||||||
|
put(url, user=admin, data=response.data, expect=200)
|
||||||
|
patch(url, user=admin, data={'TACACSPLUS_SECRET': 'mysecret'}, expect=200)
|
||||||
|
patch(url, user=admin, data={'TACACSPLUS_SECRET': ''}, expect=200)
|
||||||
|
patch(url, user=admin, data={'TACACSPLUS_HOST': 'localhost'}, expect=400)
|
||||||
|
patch(url, user=admin, data={'TACACSPLUS_SECRET': 'mysecret'}, expect=200)
|
||||||
|
patch(url, user=admin, data={'TACACSPLUS_HOST': 'localhost'}, expect=200)
|
||||||
|
patch(url, user=admin, data={'TACACSPLUS_HOST': '', 'TACACSPLUS_SECRET': ''}, expect=200)
|
||||||
|
patch(url, user=admin, data={'TACACSPLUS_HOST': 'localhost', 'TACACSPLUS_SECRET': ''}, expect=400)
|
||||||
|
patch(url, user=admin, data={'TACACSPLUS_HOST': 'localhost', 'TACACSPLUS_SECRET': 'mysecret'}, expect=200)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_ui_settings(get, put, patch, delete, admin):
|
def test_ui_settings(get, put, patch, delete, admin):
|
||||||
url = reverse('api:setting_singleton_detail', kwargs={'category_slug': 'ui'})
|
url = reverse('api:setting_singleton_detail', kwargs={'category_slug': 'ui'})
|
||||||
|
|||||||
@@ -1106,8 +1106,8 @@ def tacacs_validate(serializer, attrs):
|
|||||||
secret = serializer.instance.TACACSPLUS_SECRET
|
secret = serializer.instance.TACACSPLUS_SECRET
|
||||||
if 'TACACSPLUS_SECRET' in attrs:
|
if 'TACACSPLUS_SECRET' in attrs:
|
||||||
secret = attrs['TACACSPLUS_SECRET']
|
secret = attrs['TACACSPLUS_SECRET']
|
||||||
if bool(host) ^ bool(secret):
|
if host and not secret:
|
||||||
errors.append('TACACSPLUS_HOST and TACACSPLUS_SECRET can only be both empty or both populated.')
|
errors.append('TACACSPLUS_SECRET is required when TACACSPLUS_HOST is provided.')
|
||||||
if errors:
|
if errors:
|
||||||
raise serializers.ValidationError(_('\n'.join(errors)))
|
raise serializers.ValidationError(_('\n'.join(errors)))
|
||||||
return attrs
|
return attrs
|
||||||
|
|||||||
Reference in New Issue
Block a user