Skip to content

Commit b132203

Browse files
committed
handle no value in xml w/ jasquat
1 parent 8d29cbd commit b132203

File tree

3 files changed

+6
-1
lines changed

3 files changed

+6
-1
lines changed

SpiffWorkflow/spiff/parser/task_spec.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def _parse_task_metadata_values(cls, node):
8484
metadata_value_nodes = cls._node_children_by_tag_name(node, 'taskMetadataValue')
8585
metadata_values = {}
8686
for metadata_node in metadata_value_nodes:
87-
metadata_values[metadata_node.attrib['name']] = metadata_node.attrib['value']
87+
metadata_values[metadata_node.attrib['name']] = metadata_node.attrib.get('value', None)
8888
return metadata_values
8989

9090
@staticmethod

tests/SpiffWorkflow/spiff/HumanTaskMetadataTest.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,7 @@ def testTaskMetadataValues(self):
2525
# Check that the metadata values are correctly parsed
2626
self.assertEqual(task_metadata_values['dynamic_key'], 'my_var')
2727
self.assertEqual(task_metadata_values['static_key'], "'static_value'")
28+
29+
# Check that metadata values without a value attribute are set to None
30+
self.assertIsNone(task_metadata_values['key_with_no_value_property_in_xml'],
31+
"Metadata value without value attribute should be None")

tests/SpiffWorkflow/spiff/data/human_task_metadata.bpmn

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
<spiffworkflow:taskMetadataValues>
2121
<spiffworkflow:taskMetadataValue name="dynamic_key" value="my_var" />
2222
<spiffworkflow:taskMetadataValue name="static_key" value="'static_value'" />
23+
<spiffworkflow:taskMetadataValue name="key_with_no_value_property_in_xml" />
2324
</spiffworkflow:taskMetadataValues>
2425
</bpmn:extensionElements>
2526
<bpmn:incoming>Flow_0b04rbg</bpmn:incoming>

0 commit comments

Comments
 (0)