mirror of
https://github.com/ansible/awx.git
synced 2026-01-16 04:10:44 -03: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:
commit
119d96c950
@ -147,6 +147,21 @@ def test_radius_settings(get, put, patch, delete, admin, settings):
|
||||
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
|
||||
def test_ui_settings(get, put, patch, delete, admin):
|
||||
url = reverse('api:setting_singleton_detail', kwargs={'category_slug': 'ui'})
|
||||
|
||||
@ -1106,8 +1106,8 @@ def tacacs_validate(serializer, attrs):
|
||||
secret = serializer.instance.TACACSPLUS_SECRET
|
||||
if 'TACACSPLUS_SECRET' in attrs:
|
||||
secret = attrs['TACACSPLUS_SECRET']
|
||||
if bool(host) ^ bool(secret):
|
||||
errors.append('TACACSPLUS_HOST and TACACSPLUS_SECRET can only be both empty or both populated.')
|
||||
if host and not secret:
|
||||
errors.append('TACACSPLUS_SECRET is required when TACACSPLUS_HOST is provided.')
|
||||
if errors:
|
||||
raise serializers.ValidationError(_('\n'.join(errors)))
|
||||
return attrs
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user