mirror of
https://github.com/ansible/awx.git
synced 2026-02-15 10:10:01 -03:30
finish editing the WFJT launch validate method
This commit is contained in:
@@ -2609,19 +2609,20 @@ class JobLaunchSerializer(BaseSerializer):
|
|||||||
|
|
||||||
class WorkflowJobLaunchSerializer(BaseSerializer):
|
class WorkflowJobLaunchSerializer(BaseSerializer):
|
||||||
|
|
||||||
can_start_without_user_input = serializers.BooleanField(read_only=True)
|
# can_start_without_user_input = serializers.BooleanField(read_only=True)
|
||||||
variables_needed_to_start = serializers.ReadOnlyField()
|
# variables_needed_to_start = serializers.ReadOnlyField()
|
||||||
|
|
||||||
survey_enabled = serializers.SerializerMethodField()
|
survey_enabled = serializers.SerializerMethodField()
|
||||||
extra_vars = VerbatimField(required=False, write_only=True)
|
extra_vars = VerbatimField(required=False, write_only=True)
|
||||||
workflow_job_template_data = serializers.SerializerMethodField()
|
# workflow_job_template_data = serializers.SerializerMethodField()
|
||||||
|
# warnings =
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = WorkflowJobTemplate
|
model = WorkflowJobTemplate
|
||||||
fields = ('can_start_without_user_input',
|
fields = ('*',#'can_start_without_user_input',
|
||||||
'extra_vars',
|
'extra_vars',
|
||||||
'survey_enabled', 'variables_needed_to_start',
|
'survey_enabled')#, 'variables_needed_to_start',
|
||||||
'workflow_job_template_data')
|
# 'workflow_job_template_data')
|
||||||
|
|
||||||
def get_survey_enabled(self, obj):
|
def get_survey_enabled(self, obj):
|
||||||
if obj:
|
if obj:
|
||||||
|
|||||||
@@ -2786,12 +2786,13 @@ class WorkflowJobTemplateLabelList(JobTemplateLabelList):
|
|||||||
new_in_310 = True
|
new_in_310 = True
|
||||||
|
|
||||||
|
|
||||||
# TODO:
|
class WorkflowJobTemplateLaunch(RetrieveAPIView):
|
||||||
class WorkflowJobTemplateLaunch(GenericAPIView):
|
|
||||||
|
|
||||||
model = WorkflowJobTemplate
|
model = WorkflowJobTemplate
|
||||||
serializer_class = WorkflowJobLaunchSerializer
|
serializer_class = WorkflowJobLaunchSerializer
|
||||||
new_in_310 = True
|
new_in_310 = True
|
||||||
|
is_job_start = True
|
||||||
|
always_allow_superuser = False
|
||||||
|
|
||||||
def update_raw_data(self, data):
|
def update_raw_data(self, data):
|
||||||
obj = self.get_object()
|
obj = self.get_object()
|
||||||
@@ -2802,7 +2803,7 @@ class WorkflowJobTemplateLaunch(GenericAPIView):
|
|||||||
if extra_vars:
|
if extra_vars:
|
||||||
data['extra_vars'] = extra_vars
|
data['extra_vars'] = extra_vars
|
||||||
return data
|
return data
|
||||||
|
|
||||||
# def get(self, request, *args, **kwargs):
|
# def get(self, request, *args, **kwargs):
|
||||||
# data = {}
|
# data = {}
|
||||||
# obj = self.get_object()
|
# obj = self.get_object()
|
||||||
|
|||||||
@@ -2,7 +2,11 @@ import pytest
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
from awx.main.tasks import RunJob
|
from awx.main.tasks import RunJob
|
||||||
from awx.main.models import Job
|
from awx.main.models import (
|
||||||
|
Job,
|
||||||
|
WorkflowJob,
|
||||||
|
WorkflowJobTemplate
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
@@ -65,3 +69,15 @@ def test_job_args_unredacted_passwords(job):
|
|||||||
ev_index = args.index('-e') + 1
|
ev_index = args.index('-e') + 1
|
||||||
extra_vars = json.loads(args[ev_index])
|
extra_vars = json.loads(args[ev_index])
|
||||||
assert extra_vars['secret_key'] == 'my_password'
|
assert extra_vars['secret_key'] == 'my_password'
|
||||||
|
|
||||||
|
class TestWorkflowSurveys:
|
||||||
|
def test_update_kwargs_survey_defaults(self, survey_spec_factory):
|
||||||
|
"Assure that the survey default over-rides a JT variable"
|
||||||
|
spec = survey_spec_factory('var1')
|
||||||
|
spec['spec'][0]['default'] = 3
|
||||||
|
wfjt = WorkflowJobTemplate(
|
||||||
|
name="test-wfjt",
|
||||||
|
survey_spec=spec,
|
||||||
|
extra_vars="var1: 5"
|
||||||
|
)
|
||||||
|
assert json.loads(wfjt._update_unified_job_kwargs()['extra_vars'])['var1'] == 3
|
||||||
|
|||||||
Reference in New Issue
Block a user