mirror of
https://github.com/ansible/awx.git
synced 2026-03-02 01:08:48 -03:30
Merge pull request #6864 from ryanpetrello/fix-6780
substitute "$encrypted$" for actual password on logging config test
This commit is contained in:
@@ -161,6 +161,12 @@ class SettingLoggingTest(GenericAPIView):
|
|||||||
obj = type('Settings', (object,), defaults)()
|
obj = type('Settings', (object,), defaults)()
|
||||||
serializer = self.get_serializer(obj, data=request.data)
|
serializer = self.get_serializer(obj, data=request.data)
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
|
|
||||||
|
if request.data.get('LOG_AGGREGATOR_PASSWORD', '').startswith('$encrypted$'):
|
||||||
|
serializer.validated_data['LOG_AGGREGATOR_PASSWORD'] = getattr(
|
||||||
|
settings, 'LOG_AGGREGATOR_PASSWORD', ''
|
||||||
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
class MockSettings:
|
class MockSettings:
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -222,6 +222,25 @@ def test_logging_aggregrator_connection_test_valid(mocker, get, post, admin):
|
|||||||
assert getattr(create_settings, k) == v
|
assert getattr(create_settings, k) == v
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.django_db
|
||||||
|
def test_logging_aggregrator_connection_test_with_masked_password(mocker, patch, post, admin):
|
||||||
|
url = reverse('api:setting_singleton_detail', kwargs={'category_slug': 'logging'})
|
||||||
|
patch(url, user=admin, data={'LOG_AGGREGATOR_PASSWORD': 'password123'}, expect=200)
|
||||||
|
|
||||||
|
with mock.patch.object(BaseHTTPSHandler, 'perform_test') as perform_test:
|
||||||
|
url = reverse('api:setting_logging_test')
|
||||||
|
user_data = {
|
||||||
|
'LOG_AGGREGATOR_TYPE': 'logstash',
|
||||||
|
'LOG_AGGREGATOR_HOST': 'localhost',
|
||||||
|
'LOG_AGGREGATOR_PORT': 8080,
|
||||||
|
'LOG_AGGREGATOR_USERNAME': 'logger',
|
||||||
|
'LOG_AGGREGATOR_PASSWORD': '$encrypted$'
|
||||||
|
}
|
||||||
|
post(url, user_data, user=admin, expect=200)
|
||||||
|
create_settings = perform_test.call_args[0][0]
|
||||||
|
assert getattr(create_settings, 'LOG_AGGREGATOR_PASSWORD') == 'password123'
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_logging_aggregrator_connection_test_invalid(mocker, get, post, admin):
|
def test_logging_aggregrator_connection_test_invalid(mocker, get, post, admin):
|
||||||
with mock.patch.object(BaseHTTPSHandler, 'perform_test') as perform_test:
|
with mock.patch.object(BaseHTTPSHandler, 'perform_test') as perform_test:
|
||||||
|
|||||||
Reference in New Issue
Block a user