2022-08-02 16:27:47 -04:00
|
|
|
"""Test_message_service."""
|
2022-08-15 09:19:53 -04:00
|
|
|
from spiffworkflow_backend.services.message_service import MessageService
|
2022-08-02 16:27:47 -04:00
|
|
|
from tests.spiffworkflow_backend.helpers.base_test import BaseTest
|
2022-08-02 17:39:47 -04:00
|
|
|
from tests.spiffworkflow_backend.helpers.test_data import load_test_spec
|
2022-08-02 16:27:47 -04:00
|
|
|
|
2022-08-11 09:10:30 -04:00
|
|
|
from flask import Flask
|
|
|
|
from flask_bpmn.models.db import db
|
|
|
|
|
2022-08-02 17:39:47 -04:00
|
|
|
from spiffworkflow_backend.models.message_correlation import MessageCorrelationModel
|
2022-08-02 16:27:47 -04:00
|
|
|
from spiffworkflow_backend.models.message_instance import MessageInstanceModel
|
|
|
|
from spiffworkflow_backend.models.message_model import MessageModel
|
|
|
|
|
|
|
|
|
2022-08-04 14:26:41 -04:00
|
|
|
class TestMessageService(BaseTest):
|
|
|
|
"""TestMessageService."""
|
2022-08-02 16:27:47 -04:00
|
|
|
|
2022-08-02 17:39:47 -04:00
|
|
|
def test_can_send_message_to_waiting_message(
|
|
|
|
self, app: Flask, with_db_and_bpmn_file_cleanup: None
|
|
|
|
) -> None:
|
2022-08-02 16:27:47 -04:00
|
|
|
"""Test_can_send_message_to_waiting_message."""
|
2022-08-04 14:26:41 -04:00
|
|
|
message_model_identifier = "message_model_one"
|
|
|
|
message_model = MessageModel(identifier=message_model_identifier)
|
2022-08-02 16:27:47 -04:00
|
|
|
db.session.add(message_model)
|
|
|
|
db.session.commit()
|
|
|
|
|
2022-08-02 17:39:47 -04:00
|
|
|
process_model = load_test_spec("hello_world")
|
|
|
|
process_instance_send = self.create_process_instance_from_process_model(
|
|
|
|
process_model, "waiting"
|
|
|
|
)
|
|
|
|
process_instance_receive = self.create_process_instance_from_process_model(
|
|
|
|
process_model, "waiting"
|
|
|
|
)
|
2022-08-02 16:27:47 -04:00
|
|
|
|
|
|
|
queued_message_send = MessageInstanceModel(
|
|
|
|
process_instance_id=process_instance_send.id,
|
|
|
|
bpmn_element_id="something",
|
|
|
|
message_type="send",
|
|
|
|
message_model_id=message_model.id,
|
|
|
|
)
|
|
|
|
|
|
|
|
queued_message_receive = MessageInstanceModel(
|
|
|
|
process_instance_id=process_instance_receive.id,
|
|
|
|
bpmn_element_id="something",
|
|
|
|
message_type="receive",
|
|
|
|
message_model_id=message_model.id,
|
|
|
|
)
|
|
|
|
|
|
|
|
db.session.add(queued_message_send)
|
|
|
|
db.session.add(queued_message_receive)
|
|
|
|
db.session.commit()
|
|
|
|
|
2022-08-02 17:39:47 -04:00
|
|
|
message_correlation_one_send = MessageCorrelationModel(
|
|
|
|
message_instance_id=queued_message_send.id,
|
|
|
|
name="name1",
|
|
|
|
value="value1",
|
|
|
|
)
|
|
|
|
|
|
|
|
message_correlation_one_receive = MessageCorrelationModel(
|
|
|
|
message_instance_id=queued_message_receive.id,
|
|
|
|
name="name1",
|
|
|
|
value="value1",
|
|
|
|
)
|
|
|
|
|
|
|
|
message_correlation_two_send = MessageCorrelationModel(
|
|
|
|
message_instance_id=queued_message_send.id,
|
|
|
|
name="name2",
|
|
|
|
value="value2",
|
|
|
|
)
|
|
|
|
|
|
|
|
message_correlation_two_receive = MessageCorrelationModel(
|
|
|
|
message_instance_id=queued_message_receive.id,
|
|
|
|
name="name2",
|
|
|
|
value="value2",
|
|
|
|
)
|
|
|
|
db.session.add(message_correlation_one_send)
|
|
|
|
db.session.add(message_correlation_one_receive)
|
|
|
|
db.session.add(message_correlation_two_send)
|
|
|
|
db.session.add(message_correlation_two_receive)
|
|
|
|
db.session.commit()
|
|
|
|
|
2022-08-15 09:19:53 -04:00
|
|
|
MessageService().process_queued_messages()
|
|
|
|
print(queued_message_send.failure_cause)
|
|
|
|
print(queued_message_send.status)
|