mirror of
https://github.com/status-im/spiff-arena.git
synced 2025-02-12 09:46:46 +00:00
add more assertions to try to pin down what is different on windows
This commit is contained in:
parent
9aa9fe913b
commit
4abbf6c57d
@ -341,18 +341,26 @@ class TestProcessInstanceProcessor(BaseTest):
|
|||||||
processor = ProcessInstanceProcessor(process_instance)
|
processor = ProcessInstanceProcessor(process_instance)
|
||||||
processor.do_engine_steps(save=True)
|
processor.do_engine_steps(save=True)
|
||||||
assert len(process_instance.active_human_tasks) == 1
|
assert len(process_instance.active_human_tasks) == 1
|
||||||
initial_human_task_id = process_instance.active_human_tasks[0].id
|
human_task_one = process_instance.active_human_tasks[0]
|
||||||
|
initial_human_task_id = human_task_one.id
|
||||||
assert len(process_instance.active_human_tasks) == 1
|
assert len(process_instance.active_human_tasks) == 1
|
||||||
assert initial_human_task_id == process_instance.active_human_tasks[0].id
|
assert initial_human_task_id == process_instance.active_human_tasks[0].id
|
||||||
|
assert len(process_instance.human_tasks) == 1
|
||||||
|
|
||||||
|
spiff_manual_task = processor.bpmn_process_instance.get_task_from_id(UUID(human_task_one.task_id))
|
||||||
|
ProcessInstanceService.complete_form_task(processor, spiff_manual_task, {}, initiator_user, human_task_one)
|
||||||
|
assert len(process_instance.human_tasks) == 2, "expected 2 human tasks after first one is completed"
|
||||||
|
|
||||||
|
# unnecessary lookup just in case on windows
|
||||||
|
process_instance = ProcessInstanceModel.query.filter_by(id=process_instance.id).first()
|
||||||
|
|
||||||
human_task_one = process_instance.active_human_tasks[0]
|
human_task_one = process_instance.active_human_tasks[0]
|
||||||
spiff_manual_task = processor.bpmn_process_instance.get_task_from_id(UUID(human_task_one.task_id))
|
spiff_manual_task = processor.bpmn_process_instance.get_task_from_id(UUID(human_task_one.task_id))
|
||||||
ProcessInstanceService.complete_form_task(processor, spiff_manual_task, {}, initiator_user, human_task_one)
|
ProcessInstanceService.complete_form_task(processor, spiff_manual_task, {}, initiator_user, human_task_one)
|
||||||
human_task_one = process_instance.active_human_tasks[0]
|
assert len(process_instance.active_human_tasks) == 0, "expected 0 active human tasks after 2nd one is completed"
|
||||||
spiff_manual_task = processor.bpmn_process_instance.get_task_from_id(UUID(human_task_one.task_id))
|
|
||||||
ProcessInstanceService.complete_form_task(processor, spiff_manual_task, {}, initiator_user, human_task_one)
|
|
||||||
|
|
||||||
processor.suspend()
|
processor.suspend()
|
||||||
|
|
||||||
all_task_models_matching_top_level_subprocess_script = (
|
all_task_models_matching_top_level_subprocess_script = (
|
||||||
TaskModel.query.join(TaskDefinitionModel)
|
TaskModel.query.join(TaskDefinitionModel)
|
||||||
.filter(TaskDefinitionModel.bpmn_identifier == "top_level_subprocess_script")
|
.filter(TaskDefinitionModel.bpmn_identifier == "top_level_subprocess_script")
|
||||||
@ -362,10 +370,14 @@ class TestProcessInstanceProcessor(BaseTest):
|
|||||||
assert len(all_task_models_matching_top_level_subprocess_script) == 1
|
assert len(all_task_models_matching_top_level_subprocess_script) == 1
|
||||||
task_model_to_reset_to = all_task_models_matching_top_level_subprocess_script[0]
|
task_model_to_reset_to = all_task_models_matching_top_level_subprocess_script[0]
|
||||||
assert task_model_to_reset_to is not None
|
assert task_model_to_reset_to is not None
|
||||||
|
assert len(process_instance.human_tasks) == 2, "expected 2 human tasks before reset"
|
||||||
ProcessInstanceProcessor.reset_process(process_instance, task_model_to_reset_to.guid)
|
ProcessInstanceProcessor.reset_process(process_instance, task_model_to_reset_to.guid)
|
||||||
|
assert len(process_instance.human_tasks) == 2, "still expected 2 human tasks after reset"
|
||||||
|
|
||||||
# make sure sqlalchemy session matches current db state
|
# make sure sqlalchemy session matches current db state
|
||||||
db.session.expire_all()
|
db.session.expire_all()
|
||||||
|
assert len(process_instance.human_tasks) == 2, "still expected 2 human tasks after reset and session expire_all"
|
||||||
|
|
||||||
process_instance = ProcessInstanceModel.query.filter_by(id=process_instance.id).first()
|
process_instance = ProcessInstanceModel.query.filter_by(id=process_instance.id).first()
|
||||||
processor = ProcessInstanceProcessor(process_instance)
|
processor = ProcessInstanceProcessor(process_instance)
|
||||||
|
|
||||||
@ -377,6 +389,11 @@ class TestProcessInstanceProcessor(BaseTest):
|
|||||||
assert top_level_subprocess_script_spiff_task is not None
|
assert top_level_subprocess_script_spiff_task is not None
|
||||||
processor.resume()
|
processor.resume()
|
||||||
processor.do_engine_steps(save=True, execution_strategy_name="greedy")
|
processor.do_engine_steps(save=True, execution_strategy_name="greedy")
|
||||||
|
assert len(process_instance.human_tasks) == 3, "expected 3 human tasks after reset and do_engine_steps"
|
||||||
|
|
||||||
|
spiff_task_guid_strings = [ht.task_id for ht in process_instance.human_tasks]
|
||||||
|
unique_task_guids = set(spiff_task_guid_strings)
|
||||||
|
assert len(unique_task_guids) == 3, "expected 3 unique task guids after reset and do_engine_steps"
|
||||||
|
|
||||||
# reload again, just in case, since the assertion where it says there should be 1 active_human_task
|
# reload again, just in case, since the assertion where it says there should be 1 active_human_task
|
||||||
# is failing intermittently on windows, so just debugging.
|
# is failing intermittently on windows, so just debugging.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user