From e380fe7a54fba23e11b53c72307c6b25bd8bfab5 Mon Sep 17 00:00:00 2001 From: Elizabeth Esswein Date: Tue, 25 Feb 2025 09:24:15 -0500 Subject: [PATCH] hack to get messages working --- SpiffWorkflow/bpmn/specs/event_definitions/message.py | 2 +- tests/SpiffWorkflow/bpmn/CollaborationTest.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/SpiffWorkflow/bpmn/specs/event_definitions/message.py b/SpiffWorkflow/bpmn/specs/event_definitions/message.py index 0d06534e..94502be6 100644 --- a/SpiffWorkflow/bpmn/specs/event_definitions/message.py +++ b/SpiffWorkflow/bpmn/specs/event_definitions/message.py @@ -28,7 +28,7 @@ def catches(self, my_task, event): correlated = True else: # Otherwise we have to check to make sure any existing keys match - correlated = all([event.correlations.get(key) == correlations.get(key) for key in event.correlations ]) + correlated = any([event.correlations.get(key) == correlations.get(key) for key in event.correlations ]) return self == event.event_definition and correlated def catch(self, my_task, event=None): diff --git a/tests/SpiffWorkflow/bpmn/CollaborationTest.py b/tests/SpiffWorkflow/bpmn/CollaborationTest.py index 080472f3..f731fc96 100644 --- a/tests/SpiffWorkflow/bpmn/CollaborationTest.py +++ b/tests/SpiffWorkflow/bpmn/CollaborationTest.py @@ -60,9 +60,11 @@ def testBpmnMessage(self): self.assertEqual('from_name', events[0].value[0].retrieval_expression) self.assertEqual('lover_name', events[0].value[0].name) + payload = {'from_name': 'Peggy', 'other_nonsense': 1001} message = BpmnEvent( receive.task_spec.event_definition, - {'from_name': 'Peggy', 'other_nonsense': 1001} + payload, + receive.task_spec.event_definition.get_correlations(receive, payload), ) self.workflow.send_event(message) self.workflow.do_engine_steps()