Merge "Disable key sorting in workflow definition"
This commit is contained in:
commit
d5ae8ad1bc
@ -135,7 +135,7 @@ python-zaqarclient==1.0.0
|
||||
python-zunclient==3.4.0
|
||||
python-qinlingclient==1.0.0
|
||||
pytz==2013.6
|
||||
PyYAML==3.12
|
||||
PyYAML==5.1
|
||||
reno==2.5.0
|
||||
repoze.lru==0.7
|
||||
requests-mock==1.2.0
|
||||
|
@ -208,4 +208,4 @@ def _cut_wf_definition_from_all(wfs_yaml, wf_name):
|
||||
return safe_yaml.dump({
|
||||
'version': wfs_yaml['version'],
|
||||
wf_name: wfs_yaml[wf_name]
|
||||
})
|
||||
}, sort_keys=False)
|
||||
|
@ -144,6 +144,23 @@ test_workflow:
|
||||
|
||||
"""
|
||||
|
||||
WORKFLOWS_WITH_KEY_ORDER = """
|
||||
---
|
||||
version: '2.0'
|
||||
|
||||
wf1:
|
||||
tasks:
|
||||
task1:
|
||||
publish:
|
||||
we: 1
|
||||
dont_want: 2
|
||||
to_be_sorted: 3
|
||||
wf2:
|
||||
tasks:
|
||||
task1:
|
||||
action: std.noop
|
||||
"""
|
||||
|
||||
|
||||
class WorkflowServiceTest(base.DbTestCase):
|
||||
def test_create_workflows(self):
|
||||
@ -166,6 +183,23 @@ class WorkflowServiceTest(base.DbTestCase):
|
||||
self.assertEqual('wf2', wf2_spec.get_name())
|
||||
self.assertEqual('direct', wf2_spec.get_type())
|
||||
|
||||
def test_preserve_key_ordering_in_workflow_definition(self):
|
||||
db_wfs = wf_service.create_workflows(WORKFLOWS_WITH_KEY_ORDER)
|
||||
|
||||
self.assertEqual(2, len(db_wfs))
|
||||
|
||||
wf1_db = self._assert_single_item(db_wfs, name='wf1')
|
||||
wf1_def = wf1_db.definition
|
||||
published_values = wf1_def.splitlines()[-3:]
|
||||
wf1_publish = [
|
||||
item.strip()
|
||||
for item in published_values
|
||||
]
|
||||
self.assertEqual(
|
||||
['we: 1', 'dont_want: 2', 'to_be_sorted: 3'],
|
||||
wf1_publish
|
||||
)
|
||||
|
||||
def test_engine_commands_are_valid_task_names(self):
|
||||
for name in workflows.ENGINE_COMMANDS:
|
||||
wf_text = WORKFLOW_WITH_VAR_TASK_NAME.format(task_name=name)
|
||||
|
@ -57,7 +57,7 @@ python-vitrageclient>=2.0.0 # Apache-2.0
|
||||
python-zunclient>=3.4.0 # Apache-2.0
|
||||
python-qinlingclient>=1.0.0 # Apache-2.0
|
||||
PyJWT>=1.5 # MIT
|
||||
PyYAML>=3.12 # MIT
|
||||
PyYAML>=5.1 # MIT
|
||||
requests>=2.14.2 # Apache-2.0
|
||||
tenacity>=5.0.1 # Apache-2.0
|
||||
six>=1.10.0 # MIT
|
||||
|
Loading…
Reference in New Issue
Block a user