Merge "Fix workflow update"

This commit is contained in:
Jenkins 2017-06-28 22:38:05 +00:00 committed by Gerrit Code Review
commit 59d475d354
2 changed files with 14 additions and 5 deletions

View File

@ -590,11 +590,7 @@ class Workflow(signal_responder.SignalResponder,
self.data_set(self.EXECUTIONS, ','.join(executions))
def handle_update(self, json_snippet, tmpl_diff, prop_diff):
update_allowed = [self.INPUT, self.PARAMS, self.DESCRIPTION]
for prop in update_allowed:
if prop in prop_diff:
del prop_diff[prop]
if len(prop_diff) > 0:
if prop_diff:
props = json_snippet.properties(self.properties_schema,
self.context)
new_props = self.prepare_properties(props)

View File

@ -537,6 +537,19 @@ class TestMistralWorkflow(common.HeatTestCase):
self.assertTrue(self.mistral.workflows.update.called)
self.assertEqual((wf.UPDATE, wf.COMPLETE), wf.state)
def test_update_input(self):
wf = self._create_resource('workflow', self.rsrc_defn,
self.stack)
t = template_format.parse(workflow_template)
t['resources']['workflow']['properties']['input'] = {'foo': 'bar'}
rsrc_defns = template.Template(t).resource_definitions(self.stack)
new_wf = rsrc_defns['workflow']
self.mistral.workflows.update.return_value = [
FakeWorkflow('test_stack-workflow-b5fiekfci3yc')]
scheduler.TaskRunner(wf.update, new_wf)()
self.assertTrue(self.mistral.workflows.update.called)
self.assertEqual((wf.UPDATE, wf.COMPLETE), wf.state)
def test_update_failed(self):
wf = self._create_resource('workflow', self.rsrc_defn,
self.stack)