1
0
mirror of https://github.com/ansible/awx.git synced 2024-11-02 01:21:21 +03:00

don't try and decode extra_vars if there are no extra_vars. Further, if extra_vars isn't a json, then don't try to redact.

This commit is contained in:
Chris Meyers 2015-02-20 15:37:53 -05:00
parent 78e1698333
commit 71318e5d9a
2 changed files with 11 additions and 7 deletions

View File

@ -1422,11 +1422,15 @@ class JobSerializer(UnifiedJobSerializer, JobOptionsSerializer):
ret['job_template'] = None
if obj.job_template and obj.job_template.survey_enabled:
extra_vars = json.loads(ret['extra_vars'])
for key in obj.job_template.survey_password_variables():
if key in extra_vars:
extra_vars[key] = REPLACE_STR
ret['extra_vars'] = json.dumps(extra_vars)
if ret['extra_vars']:
try:
extra_vars = json.loads(ret['extra_vars'])
for key in obj.job_template.survey_password_variables():
if key in extra_vars:
extra_vars[key] = REPLACE_STR
ret['extra_vars'] = json.dumps(extra_vars)
except ValueError:
pass
return ret

View File

@ -6,7 +6,7 @@ from django.core.urlresolvers import reverse
# AWX
from awx.main.models import * # noqa
from awx.main.tests.base import BaseTest
from awx.main.tests.base import BaseTest, QueueStartStopTestMixin
__all__ = ['SurveyPasswordRedactedTest']
@ -141,7 +141,7 @@ TESTS = {
}
}
class SurveyPasswordBaseTest(BaseTest):
class SurveyPasswordBaseTest(BaseTest, QueueStartStopTestMixin):
def setUp(self):
super(SurveyPasswordBaseTest, self).setUp()
self.setup_instances()