mistral/mistral/tests/unit/engine
Renat Akhmerov dfdff78315 Fix how Mistral calculates workflow output
* Workflow output sometimes is not calculated correctly due to
  the race condition between different transactions: the one that
  checks workflow completion (i.e. calls "check_and_complete") and
  the one that processes action execution completion (i.e. calls
  "on_action_complete"). Calculating output sometimes was based on
  stale data cached by the SQLAlchemy session. To fix this, we just
  need to expire all objects in the session so that they are
  refreshed automatically if we read their state in order to make
  required calculations. See the bug description for more details
  on how the problem was observed.
* Added another test for direct workflow that formally checks
  calculation of workflow output. It doesn't pretend to test the
  aforementioned issue (it can be reproduced only with a big number
  of attempts, and/or under load). It's for the sake of the test
  module completeness.

Change-Id: I4a7e7fd9a4bbb6e93df169b4b40bc2d83ccfce89
Closes-Bug: #1792090
2018-09-12 16:48:43 +07:00
..
__init__.py Renaming "engine1" to "engine" 2015-04-09 17:47:36 +06:00
base.py Allow engine commands as task name 2018-07-19 14:23:18 +00:00
test_action_context.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_action_defaults.py Get rid of a extra copy of workflow environment 2018-04-27 19:47:32 +07:00
test_adhoc_actions.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_commands.py Fix 'pause' engine command 2018-03-24 11:10:08 +00:00
test_cron_trigger.py Fix flaky cron trigger test 2018-07-30 14:03:09 +02:00
test_dataflow.py Consider size of output_on_error 2018-02-08 05:55:29 +00:00
test_default_engine.py A mechanism to close stuck running action executions 2018-06-12 14:15:15 +00:00
test_direct_workflow.py Fix how Mistral calculates workflow output 2018-09-12 16:48:43 +07:00
test_direct_workflow_rerun.py Refresh a number of retry a task when task was rerun 2018-06-24 05:34:33 +00:00
test_direct_workflow_rerun_cancelled.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_direct_workflow_with_cycles.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_environment.py Do not copy workflow environment into subworkflows 2018-04-27 20:08:56 +07:00
test_error_handling.py Remove a redundant initializer of InvalidUnicodeAction in the tests 2018-03-14 15:16:24 +07:00
test_error_result.py Return the result of the MistralHTTPAction 2018-07-16 11:43:26 +01:00
test_execution_fields_size_limitation.py Fixed workflow output in case of execution_field_size_limit_kb 2018-05-02 12:12:14 +04:00
test_execution_params.py Fix WF execution getting stuck on null description 2018-04-02 15:00:36 +05:30
test_integrity_check.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_javascript_action.py Added JavaScript evaluator which doesn't require a compilation 2018-04-23 17:04:18 +00:00
test_join.py Fixed the length of a task name 2018-03-09 11:02:48 +04:00
test_lookup_utils.py Use mock to patch lookup_utils._ACTION_DEF_CACHE 2018-08-22 13:22:20 +01:00
test_noop_task.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_policies.py Get rid of a extra copy of workflow environment 2018-04-27 19:47:32 +07:00
test_profiler.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_race_condition.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_reverse_workflow.py Get rid of a extra copy of workflow environment 2018-04-27 19:47:32 +07:00
test_reverse_workflow_rerun.py Get rid of a extra copy of workflow environment 2018-04-27 19:47:32 +07:00
test_reverse_workflow_rerun_cancelled.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_run_action.py Propagated a task timeout to a action execution 2018-01-31 17:40:52 +04:00
test_safe_rerun.py Added 'safe-rerun' policy to task-defaults section 2018-04-23 20:46:43 +04:00
test_set_state.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_state_info.py Fix malformed state_info when json is set to it 2018-04-09 18:24:21 +05:30
test_subworkflows.py Use "passive_deletes=True" in ORM relationships 2018-05-15 16:04:02 +07:00
test_subworkflows_pause_resume.py Use @db_utils.retry_on_deadlock to retry scheduler transactions 2017-09-20 16:09:02 +07:00
test_task_cancel.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_task_defaults.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_task_pause_resume.py Cascade pause and resume to and from subworkflows 2017-08-07 20:40:15 +00:00
test_task_publish.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_tasks_function.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_with_items.py A mechanism to close stuck running action executions 2018-06-12 14:15:15 +00:00
test_with_items_task.py Get rid of with_items.py module in favor of WithItemsTask class 2016-12-20 16:31:29 +07:00
test_workflow_cancel.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_workflow_resume.py Get rid of a extra copy of workflow environment 2018-04-27 19:47:32 +07:00
test_workflow_stop.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_workflow_variables.py Make workflow execution creation idempotent 2018-01-04 14:07:12 +01:00
test_yaql_functions.py Add YAQL engine options 2018-06-01 17:06:57 +07:00