1
0
mirror of https://github.com/ansible/awx.git synced 2024-10-27 17:55:10 +03:00

Fix bug: WFJT-type node YAML vars broke task manager

This commit is contained in:
AlanCoding 2019-10-25 11:41:58 -04:00
parent bda1abab8d
commit 609528e8a3
No known key found for this signature in database
GPG Key ID: FD2C3C012A72926B
2 changed files with 11 additions and 0 deletions

View File

@ -900,6 +900,9 @@ class LaunchTimeConfigBase(BaseModel):
data[prompt_name] = self.display_extra_vars()
else:
data[prompt_name] = self.extra_vars
# Depending on model, field type may save and return as string
if isinstance(data[prompt_name], str):
data[prompt_name] = parse_yaml_or_json(data[prompt_name])
if self.survey_passwords and not display:
data['survey_passwords'] = self.survey_passwords
else:

View File

@ -234,6 +234,14 @@ class TestWorkflowJobNodeJobKWARGS:
job_node_no_prompts.unified_job_template = project_unit
assert job_node_no_prompts.get_job_kwargs() == self.kwargs_base
def test_extra_vars_node_prompts(self, wfjt_node_no_prompts):
wfjt_node_no_prompts.extra_vars = {'foo': 'bar'}
assert wfjt_node_no_prompts.prompts_dict() == {'extra_vars': {'foo': 'bar'}}
def test_string_extra_vars_node_prompts(self, wfjt_node_no_prompts):
wfjt_node_no_prompts.extra_vars = '{"foo": "bar"}'
assert wfjt_node_no_prompts.prompts_dict() == {'extra_vars': {'foo': 'bar'}}
def test_get_ask_mapping_integrity():
assert list(WorkflowJobTemplate.get_ask_mapping().keys()) == ['extra_vars', 'inventory', 'limit', 'scm_branch']