temporalio 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (585) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +4035 -0
  3. data/Cargo.toml +25 -0
  4. data/Gemfile +20 -0
  5. data/LICENSE +16 -15
  6. data/README.md +455 -195
  7. data/Rakefile +387 -0
  8. data/ext/Cargo.toml +25 -0
  9. data/lib/temporalio/activity/complete_async_error.rb +11 -0
  10. data/lib/temporalio/activity/context.rb +82 -77
  11. data/lib/temporalio/activity/definition.rb +77 -0
  12. data/lib/temporalio/activity/info.rb +42 -46
  13. data/lib/temporalio/activity.rb +49 -65
  14. data/lib/temporalio/api/batch/v1/message.rb +31 -0
  15. data/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb +93 -0
  16. data/lib/temporalio/api/cloud/cloudservice/v1/service.rb +25 -0
  17. data/lib/temporalio/api/cloud/cloudservice.rb +3 -0
  18. data/lib/temporalio/api/cloud/identity/v1/message.rb +36 -0
  19. data/lib/temporalio/api/cloud/namespace/v1/message.rb +35 -0
  20. data/lib/temporalio/api/cloud/operation/v1/message.rb +27 -0
  21. data/lib/temporalio/api/cloud/region/v1/message.rb +23 -0
  22. data/lib/temporalio/api/command/v1/message.rb +46 -0
  23. data/lib/temporalio/api/common/v1/grpc_status.rb +23 -0
  24. data/lib/temporalio/api/common/v1/message.rb +41 -0
  25. data/lib/temporalio/api/enums/v1/batch_operation.rb +22 -0
  26. data/lib/temporalio/api/enums/v1/command_type.rb +21 -0
  27. data/lib/temporalio/api/enums/v1/common.rb +26 -0
  28. data/lib/temporalio/api/enums/v1/event_type.rb +21 -0
  29. data/lib/temporalio/api/enums/v1/failed_cause.rb +26 -0
  30. data/lib/temporalio/api/enums/v1/namespace.rb +23 -0
  31. data/lib/temporalio/api/enums/v1/query.rb +22 -0
  32. data/lib/temporalio/api/enums/v1/reset.rb +23 -0
  33. data/lib/temporalio/api/enums/v1/schedule.rb +21 -0
  34. data/lib/temporalio/api/enums/v1/task_queue.rb +25 -0
  35. data/lib/temporalio/api/enums/v1/update.rb +22 -0
  36. data/lib/temporalio/api/enums/v1/workflow.rb +30 -0
  37. data/lib/temporalio/api/errordetails/v1/message.rb +42 -0
  38. data/lib/temporalio/api/export/v1/message.rb +24 -0
  39. data/lib/temporalio/api/failure/v1/message.rb +35 -0
  40. data/lib/temporalio/api/filter/v1/message.rb +27 -0
  41. data/lib/temporalio/api/history/v1/message.rb +90 -0
  42. data/lib/temporalio/api/namespace/v1/message.rb +31 -0
  43. data/lib/temporalio/api/nexus/v1/message.rb +40 -0
  44. data/lib/temporalio/api/operatorservice/v1/request_response.rb +49 -0
  45. data/lib/temporalio/api/operatorservice/v1/service.rb +23 -0
  46. data/lib/temporalio/api/operatorservice.rb +3 -0
  47. data/lib/temporalio/api/protocol/v1/message.rb +23 -0
  48. data/lib/temporalio/api/query/v1/message.rb +27 -0
  49. data/lib/temporalio/api/replication/v1/message.rb +26 -0
  50. data/lib/temporalio/api/schedule/v1/message.rb +42 -0
  51. data/lib/temporalio/api/sdk/v1/enhanced_stack_trace.rb +25 -0
  52. data/lib/temporalio/api/sdk/v1/task_complete_metadata.rb +21 -0
  53. data/lib/temporalio/api/sdk/v1/user_metadata.rb +23 -0
  54. data/lib/temporalio/api/sdk/v1/workflow_metadata.rb +23 -0
  55. data/lib/temporalio/api/taskqueue/v1/message.rb +45 -0
  56. data/lib/temporalio/api/update/v1/message.rb +33 -0
  57. data/lib/temporalio/api/version/v1/message.rb +26 -0
  58. data/lib/temporalio/api/workflow/v1/message.rb +43 -0
  59. data/lib/temporalio/api/workflowservice/v1/request_response.rb +189 -0
  60. data/lib/temporalio/api/workflowservice/v1/service.rb +23 -0
  61. data/lib/temporalio/api/workflowservice.rb +3 -0
  62. data/lib/temporalio/api.rb +13 -0
  63. data/lib/temporalio/cancellation.rb +150 -0
  64. data/lib/temporalio/client/activity_id_reference.rb +32 -0
  65. data/lib/temporalio/client/async_activity_handle.rb +110 -0
  66. data/lib/temporalio/client/connection/cloud_service.rb +648 -0
  67. data/lib/temporalio/client/connection/operator_service.rb +249 -0
  68. data/lib/temporalio/client/connection/service.rb +41 -0
  69. data/lib/temporalio/client/connection/workflow_service.rb +1218 -0
  70. data/lib/temporalio/client/connection.rb +270 -0
  71. data/lib/temporalio/client/interceptor.rb +316 -0
  72. data/lib/temporalio/client/workflow_execution.rb +103 -0
  73. data/lib/temporalio/client/workflow_execution_count.rb +36 -0
  74. data/lib/temporalio/client/workflow_execution_status.rb +18 -0
  75. data/lib/temporalio/client/workflow_handle.rb +380 -177
  76. data/lib/temporalio/client/workflow_query_reject_condition.rb +14 -0
  77. data/lib/temporalio/client/workflow_update_handle.rb +67 -0
  78. data/lib/temporalio/client/workflow_update_wait_stage.rb +17 -0
  79. data/lib/temporalio/client.rb +366 -93
  80. data/lib/temporalio/common_enums.rb +24 -0
  81. data/lib/temporalio/converters/data_converter.rb +102 -0
  82. data/lib/temporalio/converters/failure_converter.rb +200 -0
  83. data/lib/temporalio/converters/payload_codec.rb +26 -0
  84. data/lib/temporalio/converters/payload_converter/binary_null.rb +34 -0
  85. data/lib/temporalio/converters/payload_converter/binary_plain.rb +35 -0
  86. data/lib/temporalio/converters/payload_converter/binary_protobuf.rb +42 -0
  87. data/lib/temporalio/converters/payload_converter/composite.rb +62 -0
  88. data/lib/temporalio/converters/payload_converter/encoding.rb +35 -0
  89. data/lib/temporalio/converters/payload_converter/json_plain.rb +44 -0
  90. data/lib/temporalio/converters/payload_converter/json_protobuf.rb +41 -0
  91. data/lib/temporalio/converters/payload_converter.rb +73 -0
  92. data/lib/temporalio/converters.rb +9 -0
  93. data/lib/temporalio/error/failure.rb +119 -94
  94. data/lib/temporalio/error.rb +147 -0
  95. data/lib/temporalio/internal/bridge/api/activity_result/activity_result.rb +34 -0
  96. data/lib/temporalio/internal/bridge/api/activity_task/activity_task.rb +31 -0
  97. data/lib/temporalio/internal/bridge/api/child_workflow/child_workflow.rb +33 -0
  98. data/lib/temporalio/internal/bridge/api/common/common.rb +26 -0
  99. data/lib/temporalio/internal/bridge/api/core_interface.rb +36 -0
  100. data/lib/temporalio/internal/bridge/api/external_data/external_data.rb +27 -0
  101. data/lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb +52 -0
  102. data/lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb +54 -0
  103. data/lib/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rb +30 -0
  104. data/lib/temporalio/internal/bridge/api.rb +3 -0
  105. data/lib/temporalio/internal/bridge/client.rb +90 -0
  106. data/lib/temporalio/internal/bridge/runtime.rb +53 -0
  107. data/lib/temporalio/internal/bridge/testing.rb +46 -0
  108. data/lib/temporalio/internal/bridge/worker.rb +83 -0
  109. data/lib/temporalio/internal/bridge.rb +36 -0
  110. data/lib/temporalio/internal/client/implementation.rb +525 -0
  111. data/lib/temporalio/internal/proto_utils.rb +54 -0
  112. data/lib/temporalio/internal/worker/activity_worker.rb +345 -0
  113. data/lib/temporalio/internal/worker/multi_runner.rb +169 -0
  114. data/lib/temporalio/internal.rb +7 -0
  115. data/lib/temporalio/retry_policy.rb +39 -80
  116. data/lib/temporalio/runtime.rb +259 -13
  117. data/lib/temporalio/scoped_logger.rb +96 -0
  118. data/lib/temporalio/search_attributes.rb +300 -0
  119. data/lib/temporalio/testing/activity_environment.rb +132 -0
  120. data/lib/temporalio/testing/workflow_environment.rb +113 -88
  121. data/lib/temporalio/testing.rb +4 -169
  122. data/lib/temporalio/version.rb +3 -1
  123. data/lib/temporalio/worker/activity_executor/fiber.rb +49 -0
  124. data/lib/temporalio/worker/activity_executor/thread_pool.rb +254 -0
  125. data/lib/temporalio/worker/activity_executor.rb +55 -0
  126. data/lib/temporalio/worker/interceptor.rb +88 -0
  127. data/lib/temporalio/worker/tuner.rb +151 -0
  128. data/lib/temporalio/worker.rb +385 -163
  129. data/lib/temporalio/workflow_history.rb +22 -0
  130. data/lib/temporalio.rb +2 -7
  131. data/temporalio.gemspec +20 -39
  132. metadata +131 -712
  133. data/bridge/Cargo.lock +0 -2997
  134. data/bridge/Cargo.toml +0 -29
  135. data/bridge/sdk-core/ARCHITECTURE.md +0 -76
  136. data/bridge/sdk-core/Cargo.toml +0 -2
  137. data/bridge/sdk-core/LICENSE.txt +0 -23
  138. data/bridge/sdk-core/README.md +0 -117
  139. data/bridge/sdk-core/arch_docs/diagrams/README.md +0 -10
  140. data/bridge/sdk-core/arch_docs/diagrams/sticky_queues.puml +0 -40
  141. data/bridge/sdk-core/arch_docs/diagrams/workflow_internals.svg +0 -1
  142. data/bridge/sdk-core/arch_docs/sticky_queues.md +0 -51
  143. data/bridge/sdk-core/client/Cargo.toml +0 -40
  144. data/bridge/sdk-core/client/LICENSE.txt +0 -23
  145. data/bridge/sdk-core/client/src/lib.rs +0 -1462
  146. data/bridge/sdk-core/client/src/metrics.rs +0 -174
  147. data/bridge/sdk-core/client/src/raw.rs +0 -932
  148. data/bridge/sdk-core/client/src/retry.rs +0 -763
  149. data/bridge/sdk-core/client/src/workflow_handle/mod.rs +0 -185
  150. data/bridge/sdk-core/core/Cargo.toml +0 -129
  151. data/bridge/sdk-core/core/LICENSE.txt +0 -23
  152. data/bridge/sdk-core/core/benches/workflow_replay.rs +0 -76
  153. data/bridge/sdk-core/core/src/abstractions.rs +0 -355
  154. data/bridge/sdk-core/core/src/core_tests/activity_tasks.rs +0 -1049
  155. data/bridge/sdk-core/core/src/core_tests/child_workflows.rs +0 -221
  156. data/bridge/sdk-core/core/src/core_tests/determinism.rs +0 -270
  157. data/bridge/sdk-core/core/src/core_tests/local_activities.rs +0 -1046
  158. data/bridge/sdk-core/core/src/core_tests/mod.rs +0 -100
  159. data/bridge/sdk-core/core/src/core_tests/queries.rs +0 -893
  160. data/bridge/sdk-core/core/src/core_tests/replay_flag.rs +0 -65
  161. data/bridge/sdk-core/core/src/core_tests/workers.rs +0 -257
  162. data/bridge/sdk-core/core/src/core_tests/workflow_cancels.rs +0 -124
  163. data/bridge/sdk-core/core/src/core_tests/workflow_tasks.rs +0 -2433
  164. data/bridge/sdk-core/core/src/ephemeral_server/mod.rs +0 -609
  165. data/bridge/sdk-core/core/src/internal_flags.rs +0 -136
  166. data/bridge/sdk-core/core/src/lib.rs +0 -289
  167. data/bridge/sdk-core/core/src/pollers/mod.rs +0 -54
  168. data/bridge/sdk-core/core/src/pollers/poll_buffer.rs +0 -297
  169. data/bridge/sdk-core/core/src/protosext/mod.rs +0 -428
  170. data/bridge/sdk-core/core/src/replay/mod.rs +0 -215
  171. data/bridge/sdk-core/core/src/retry_logic.rs +0 -202
  172. data/bridge/sdk-core/core/src/telemetry/log_export.rs +0 -190
  173. data/bridge/sdk-core/core/src/telemetry/metrics.rs +0 -462
  174. data/bridge/sdk-core/core/src/telemetry/mod.rs +0 -423
  175. data/bridge/sdk-core/core/src/telemetry/prometheus_server.rs +0 -83
  176. data/bridge/sdk-core/core/src/test_help/mod.rs +0 -939
  177. data/bridge/sdk-core/core/src/worker/activities/activity_heartbeat_manager.rs +0 -536
  178. data/bridge/sdk-core/core/src/worker/activities/activity_task_poller_stream.rs +0 -89
  179. data/bridge/sdk-core/core/src/worker/activities/local_activities.rs +0 -1278
  180. data/bridge/sdk-core/core/src/worker/activities.rs +0 -557
  181. data/bridge/sdk-core/core/src/worker/client/mocks.rs +0 -107
  182. data/bridge/sdk-core/core/src/worker/client.rs +0 -389
  183. data/bridge/sdk-core/core/src/worker/mod.rs +0 -677
  184. data/bridge/sdk-core/core/src/worker/workflow/bridge.rs +0 -35
  185. data/bridge/sdk-core/core/src/worker/workflow/driven_workflow.rs +0 -99
  186. data/bridge/sdk-core/core/src/worker/workflow/history_update.rs +0 -1111
  187. data/bridge/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +0 -964
  188. data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +0 -294
  189. data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +0 -168
  190. data/bridge/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +0 -918
  191. data/bridge/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +0 -137
  192. data/bridge/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +0 -158
  193. data/bridge/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +0 -130
  194. data/bridge/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +0 -1525
  195. data/bridge/sdk-core/core/src/worker/workflow/machines/mod.rs +0 -324
  196. data/bridge/sdk-core/core/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs +0 -179
  197. data/bridge/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +0 -659
  198. data/bridge/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +0 -439
  199. data/bridge/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +0 -435
  200. data/bridge/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs +0 -175
  201. data/bridge/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +0 -249
  202. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines/local_acts.rs +0 -85
  203. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +0 -1280
  204. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +0 -269
  205. data/bridge/sdk-core/core/src/worker/workflow/managed_run/managed_wf_test.rs +0 -213
  206. data/bridge/sdk-core/core/src/worker/workflow/managed_run.rs +0 -1305
  207. data/bridge/sdk-core/core/src/worker/workflow/mod.rs +0 -1276
  208. data/bridge/sdk-core/core/src/worker/workflow/run_cache.rs +0 -128
  209. data/bridge/sdk-core/core/src/worker/workflow/wft_extraction.rs +0 -125
  210. data/bridge/sdk-core/core/src/worker/workflow/wft_poller.rs +0 -85
  211. data/bridge/sdk-core/core/src/worker/workflow/workflow_stream/saved_wf_inputs.rs +0 -117
  212. data/bridge/sdk-core/core/src/worker/workflow/workflow_stream/tonic_status_serde.rs +0 -24
  213. data/bridge/sdk-core/core/src/worker/workflow/workflow_stream.rs +0 -715
  214. data/bridge/sdk-core/core-api/Cargo.toml +0 -33
  215. data/bridge/sdk-core/core-api/LICENSE.txt +0 -23
  216. data/bridge/sdk-core/core-api/src/errors.rs +0 -62
  217. data/bridge/sdk-core/core-api/src/lib.rs +0 -113
  218. data/bridge/sdk-core/core-api/src/telemetry.rs +0 -141
  219. data/bridge/sdk-core/core-api/src/worker.rs +0 -161
  220. data/bridge/sdk-core/etc/deps.svg +0 -162
  221. data/bridge/sdk-core/etc/dynamic-config.yaml +0 -2
  222. data/bridge/sdk-core/etc/otel-collector-config.yaml +0 -36
  223. data/bridge/sdk-core/etc/prometheus.yaml +0 -6
  224. data/bridge/sdk-core/etc/regen-depgraph.sh +0 -5
  225. data/bridge/sdk-core/fsm/Cargo.toml +0 -18
  226. data/bridge/sdk-core/fsm/LICENSE.txt +0 -23
  227. data/bridge/sdk-core/fsm/README.md +0 -3
  228. data/bridge/sdk-core/fsm/rustfsm_procmacro/Cargo.toml +0 -27
  229. data/bridge/sdk-core/fsm/rustfsm_procmacro/LICENSE.txt +0 -23
  230. data/bridge/sdk-core/fsm/rustfsm_procmacro/src/lib.rs +0 -650
  231. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/progress.rs +0 -8
  232. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dupe_transitions_fail.rs +0 -18
  233. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dupe_transitions_fail.stderr +0 -12
  234. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dynamic_dest_pass.rs +0 -41
  235. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/forgot_name_fail.rs +0 -14
  236. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/forgot_name_fail.stderr +0 -11
  237. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/handler_arg_pass.rs +0 -32
  238. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/handler_pass.rs +0 -31
  239. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/medium_complex_pass.rs +0 -46
  240. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.rs +0 -29
  241. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.stderr +0 -12
  242. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/simple_pass.rs +0 -32
  243. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/struct_event_variant_fail.rs +0 -18
  244. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/struct_event_variant_fail.stderr +0 -5
  245. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_more_item_event_variant_fail.rs +0 -11
  246. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_more_item_event_variant_fail.stderr +0 -5
  247. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_zero_item_event_variant_fail.rs +0 -11
  248. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_zero_item_event_variant_fail.stderr +0 -5
  249. data/bridge/sdk-core/fsm/rustfsm_trait/Cargo.toml +0 -14
  250. data/bridge/sdk-core/fsm/rustfsm_trait/LICENSE.txt +0 -23
  251. data/bridge/sdk-core/fsm/rustfsm_trait/src/lib.rs +0 -254
  252. data/bridge/sdk-core/fsm/src/lib.rs +0 -2
  253. data/bridge/sdk-core/histories/evict_while_la_running_no_interference-16_history.bin +0 -0
  254. data/bridge/sdk-core/histories/evict_while_la_running_no_interference-23_history.bin +0 -0
  255. data/bridge/sdk-core/histories/evict_while_la_running_no_interference-85_history.bin +0 -0
  256. data/bridge/sdk-core/histories/fail_wf_task.bin +0 -0
  257. data/bridge/sdk-core/histories/timer_workflow_history.bin +0 -0
  258. data/bridge/sdk-core/integ-with-otel.sh +0 -7
  259. data/bridge/sdk-core/protos/api_upstream/README.md +0 -9
  260. data/bridge/sdk-core/protos/api_upstream/api-linter.yaml +0 -40
  261. data/bridge/sdk-core/protos/api_upstream/buf.yaml +0 -9
  262. data/bridge/sdk-core/protos/api_upstream/build/go.mod +0 -7
  263. data/bridge/sdk-core/protos/api_upstream/build/go.sum +0 -5
  264. data/bridge/sdk-core/protos/api_upstream/build/tools.go +0 -29
  265. data/bridge/sdk-core/protos/api_upstream/dependencies/gogoproto/gogo.proto +0 -141
  266. data/bridge/sdk-core/protos/api_upstream/go.mod +0 -6
  267. data/bridge/sdk-core/protos/api_upstream/temporal/api/batch/v1/message.proto +0 -89
  268. data/bridge/sdk-core/protos/api_upstream/temporal/api/command/v1/message.proto +0 -248
  269. data/bridge/sdk-core/protos/api_upstream/temporal/api/common/v1/message.proto +0 -123
  270. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/batch_operation.proto +0 -47
  271. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/command_type.proto +0 -52
  272. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/common.proto +0 -56
  273. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/event_type.proto +0 -170
  274. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +0 -123
  275. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/namespace.proto +0 -51
  276. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/query.proto +0 -50
  277. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/reset.proto +0 -41
  278. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/schedule.proto +0 -60
  279. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/task_queue.proto +0 -59
  280. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/update.proto +0 -56
  281. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/workflow.proto +0 -122
  282. data/bridge/sdk-core/protos/api_upstream/temporal/api/errordetails/v1/message.proto +0 -108
  283. data/bridge/sdk-core/protos/api_upstream/temporal/api/failure/v1/message.proto +0 -114
  284. data/bridge/sdk-core/protos/api_upstream/temporal/api/filter/v1/message.proto +0 -56
  285. data/bridge/sdk-core/protos/api_upstream/temporal/api/history/v1/message.proto +0 -787
  286. data/bridge/sdk-core/protos/api_upstream/temporal/api/namespace/v1/message.proto +0 -99
  287. data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +0 -124
  288. data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/service.proto +0 -80
  289. data/bridge/sdk-core/protos/api_upstream/temporal/api/protocol/v1/message.proto +0 -57
  290. data/bridge/sdk-core/protos/api_upstream/temporal/api/query/v1/message.proto +0 -61
  291. data/bridge/sdk-core/protos/api_upstream/temporal/api/replication/v1/message.proto +0 -55
  292. data/bridge/sdk-core/protos/api_upstream/temporal/api/schedule/v1/message.proto +0 -379
  293. data/bridge/sdk-core/protos/api_upstream/temporal/api/sdk/v1/task_complete_metadata.proto +0 -63
  294. data/bridge/sdk-core/protos/api_upstream/temporal/api/taskqueue/v1/message.proto +0 -108
  295. data/bridge/sdk-core/protos/api_upstream/temporal/api/update/v1/message.proto +0 -111
  296. data/bridge/sdk-core/protos/api_upstream/temporal/api/version/v1/message.proto +0 -59
  297. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflow/v1/message.proto +0 -146
  298. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +0 -1199
  299. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +0 -415
  300. data/bridge/sdk-core/protos/grpc/health/v1/health.proto +0 -63
  301. data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_result/activity_result.proto +0 -79
  302. data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_task/activity_task.proto +0 -80
  303. data/bridge/sdk-core/protos/local/temporal/sdk/core/child_workflow/child_workflow.proto +0 -78
  304. data/bridge/sdk-core/protos/local/temporal/sdk/core/common/common.proto +0 -16
  305. data/bridge/sdk-core/protos/local/temporal/sdk/core/core_interface.proto +0 -31
  306. data/bridge/sdk-core/protos/local/temporal/sdk/core/external_data/external_data.proto +0 -31
  307. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +0 -270
  308. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +0 -305
  309. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto +0 -35
  310. data/bridge/sdk-core/protos/testsrv_upstream/api-linter.yaml +0 -38
  311. data/bridge/sdk-core/protos/testsrv_upstream/buf.yaml +0 -13
  312. data/bridge/sdk-core/protos/testsrv_upstream/dependencies/gogoproto/gogo.proto +0 -141
  313. data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/request_response.proto +0 -63
  314. data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/service.proto +0 -90
  315. data/bridge/sdk-core/rustfmt.toml +0 -1
  316. data/bridge/sdk-core/sdk/Cargo.toml +0 -48
  317. data/bridge/sdk-core/sdk/LICENSE.txt +0 -23
  318. data/bridge/sdk-core/sdk/src/activity_context.rs +0 -230
  319. data/bridge/sdk-core/sdk/src/app_data.rs +0 -37
  320. data/bridge/sdk-core/sdk/src/interceptors.rs +0 -50
  321. data/bridge/sdk-core/sdk/src/lib.rs +0 -861
  322. data/bridge/sdk-core/sdk/src/payload_converter.rs +0 -11
  323. data/bridge/sdk-core/sdk/src/workflow_context/options.rs +0 -295
  324. data/bridge/sdk-core/sdk/src/workflow_context.rs +0 -694
  325. data/bridge/sdk-core/sdk/src/workflow_future.rs +0 -500
  326. data/bridge/sdk-core/sdk-core-protos/Cargo.toml +0 -33
  327. data/bridge/sdk-core/sdk-core-protos/LICENSE.txt +0 -23
  328. data/bridge/sdk-core/sdk-core-protos/build.rs +0 -142
  329. data/bridge/sdk-core/sdk-core-protos/src/constants.rs +0 -7
  330. data/bridge/sdk-core/sdk-core-protos/src/history_builder.rs +0 -557
  331. data/bridge/sdk-core/sdk-core-protos/src/history_info.rs +0 -234
  332. data/bridge/sdk-core/sdk-core-protos/src/lib.rs +0 -2088
  333. data/bridge/sdk-core/sdk-core-protos/src/task_token.rs +0 -48
  334. data/bridge/sdk-core/sdk-core-protos/src/utilities.rs +0 -14
  335. data/bridge/sdk-core/test-utils/Cargo.toml +0 -38
  336. data/bridge/sdk-core/test-utils/src/canned_histories.rs +0 -1389
  337. data/bridge/sdk-core/test-utils/src/histfetch.rs +0 -28
  338. data/bridge/sdk-core/test-utils/src/lib.rs +0 -709
  339. data/bridge/sdk-core/test-utils/src/wf_input_saver.rs +0 -50
  340. data/bridge/sdk-core/test-utils/src/workflows.rs +0 -29
  341. data/bridge/sdk-core/tests/fuzzy_workflow.rs +0 -130
  342. data/bridge/sdk-core/tests/heavy_tests.rs +0 -265
  343. data/bridge/sdk-core/tests/integ_tests/client_tests.rs +0 -36
  344. data/bridge/sdk-core/tests/integ_tests/ephemeral_server_tests.rs +0 -150
  345. data/bridge/sdk-core/tests/integ_tests/heartbeat_tests.rs +0 -223
  346. data/bridge/sdk-core/tests/integ_tests/metrics_tests.rs +0 -239
  347. data/bridge/sdk-core/tests/integ_tests/polling_tests.rs +0 -90
  348. data/bridge/sdk-core/tests/integ_tests/queries_tests.rs +0 -314
  349. data/bridge/sdk-core/tests/integ_tests/visibility_tests.rs +0 -151
  350. data/bridge/sdk-core/tests/integ_tests/workflow_tests/activities.rs +0 -902
  351. data/bridge/sdk-core/tests/integ_tests/workflow_tests/appdata_propagation.rs +0 -61
  352. data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +0 -60
  353. data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +0 -51
  354. data/bridge/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +0 -51
  355. data/bridge/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs +0 -64
  356. data/bridge/sdk-core/tests/integ_tests/workflow_tests/determinism.rs +0 -47
  357. data/bridge/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +0 -669
  358. data/bridge/sdk-core/tests/integ_tests/workflow_tests/modify_wf_properties.rs +0 -54
  359. data/bridge/sdk-core/tests/integ_tests/workflow_tests/patches.rs +0 -92
  360. data/bridge/sdk-core/tests/integ_tests/workflow_tests/replay.rs +0 -228
  361. data/bridge/sdk-core/tests/integ_tests/workflow_tests/resets.rs +0 -94
  362. data/bridge/sdk-core/tests/integ_tests/workflow_tests/signals.rs +0 -171
  363. data/bridge/sdk-core/tests/integ_tests/workflow_tests/stickyness.rs +0 -85
  364. data/bridge/sdk-core/tests/integ_tests/workflow_tests/timers.rs +0 -120
  365. data/bridge/sdk-core/tests/integ_tests/workflow_tests/upsert_search_attrs.rs +0 -77
  366. data/bridge/sdk-core/tests/integ_tests/workflow_tests.rs +0 -596
  367. data/bridge/sdk-core/tests/main.rs +0 -103
  368. data/bridge/sdk-core/tests/runner.rs +0 -132
  369. data/bridge/sdk-core/tests/wf_input_replay.rs +0 -32
  370. data/bridge/src/connection.rs +0 -202
  371. data/bridge/src/lib.rs +0 -494
  372. data/bridge/src/runtime.rs +0 -54
  373. data/bridge/src/test_server.rs +0 -153
  374. data/bridge/src/worker.rs +0 -197
  375. data/ext/Rakefile +0 -9
  376. data/lib/gen/dependencies/gogoproto/gogo_pb.rb +0 -14
  377. data/lib/gen/temporal/api/batch/v1/message_pb.rb +0 -50
  378. data/lib/gen/temporal/api/command/v1/message_pb.rb +0 -160
  379. data/lib/gen/temporal/api/common/v1/message_pb.rb +0 -73
  380. data/lib/gen/temporal/api/enums/v1/batch_operation_pb.rb +0 -33
  381. data/lib/gen/temporal/api/enums/v1/command_type_pb.rb +0 -37
  382. data/lib/gen/temporal/api/enums/v1/common_pb.rb +0 -42
  383. data/lib/gen/temporal/api/enums/v1/event_type_pb.rb +0 -68
  384. data/lib/gen/temporal/api/enums/v1/failed_cause_pb.rb +0 -79
  385. data/lib/gen/temporal/api/enums/v1/namespace_pb.rb +0 -37
  386. data/lib/gen/temporal/api/enums/v1/query_pb.rb +0 -31
  387. data/lib/gen/temporal/api/enums/v1/reset_pb.rb +0 -24
  388. data/lib/gen/temporal/api/enums/v1/schedule_pb.rb +0 -28
  389. data/lib/gen/temporal/api/enums/v1/task_queue_pb.rb +0 -30
  390. data/lib/gen/temporal/api/enums/v1/update_pb.rb +0 -25
  391. data/lib/gen/temporal/api/enums/v1/workflow_pb.rb +0 -89
  392. data/lib/gen/temporal/api/errordetails/v1/message_pb.rb +0 -84
  393. data/lib/gen/temporal/api/failure/v1/message_pb.rb +0 -83
  394. data/lib/gen/temporal/api/filter/v1/message_pb.rb +0 -40
  395. data/lib/gen/temporal/api/history/v1/message_pb.rb +0 -498
  396. data/lib/gen/temporal/api/namespace/v1/message_pb.rb +0 -64
  397. data/lib/gen/temporal/api/operatorservice/v1/request_response_pb.rb +0 -88
  398. data/lib/gen/temporal/api/operatorservice/v1/service_pb.rb +0 -20
  399. data/lib/gen/temporal/api/protocol/v1/message_pb.rb +0 -30
  400. data/lib/gen/temporal/api/query/v1/message_pb.rb +0 -38
  401. data/lib/gen/temporal/api/replication/v1/message_pb.rb +0 -37
  402. data/lib/gen/temporal/api/schedule/v1/message_pb.rb +0 -149
  403. data/lib/gen/temporal/api/sdk/v1/task_complete_metadata_pb.rb +0 -23
  404. data/lib/gen/temporal/api/taskqueue/v1/message_pb.rb +0 -73
  405. data/lib/gen/temporal/api/testservice/v1/request_response_pb.rb +0 -49
  406. data/lib/gen/temporal/api/testservice/v1/service_pb.rb +0 -21
  407. data/lib/gen/temporal/api/update/v1/message_pb.rb +0 -72
  408. data/lib/gen/temporal/api/version/v1/message_pb.rb +0 -41
  409. data/lib/gen/temporal/api/workflow/v1/message_pb.rb +0 -111
  410. data/lib/gen/temporal/api/workflowservice/v1/request_response_pb.rb +0 -798
  411. data/lib/gen/temporal/api/workflowservice/v1/service_pb.rb +0 -20
  412. data/lib/gen/temporal/sdk/core/activity_result/activity_result_pb.rb +0 -62
  413. data/lib/gen/temporal/sdk/core/activity_task/activity_task_pb.rb +0 -61
  414. data/lib/gen/temporal/sdk/core/child_workflow/child_workflow_pb.rb +0 -61
  415. data/lib/gen/temporal/sdk/core/common/common_pb.rb +0 -26
  416. data/lib/gen/temporal/sdk/core/core_interface_pb.rb +0 -40
  417. data/lib/gen/temporal/sdk/core/external_data/external_data_pb.rb +0 -31
  418. data/lib/gen/temporal/sdk/core/workflow_activation/workflow_activation_pb.rb +0 -171
  419. data/lib/gen/temporal/sdk/core/workflow_commands/workflow_commands_pb.rb +0 -200
  420. data/lib/gen/temporal/sdk/core/workflow_completion/workflow_completion_pb.rb +0 -41
  421. data/lib/temporalio/bridge/connect_options.rb +0 -15
  422. data/lib/temporalio/bridge/error.rb +0 -8
  423. data/lib/temporalio/bridge/retry_config.rb +0 -24
  424. data/lib/temporalio/bridge/tls_options.rb +0 -19
  425. data/lib/temporalio/bridge.rb +0 -14
  426. data/lib/temporalio/client/implementation.rb +0 -340
  427. data/lib/temporalio/connection/retry_config.rb +0 -44
  428. data/lib/temporalio/connection/service.rb +0 -20
  429. data/lib/temporalio/connection/test_service.rb +0 -92
  430. data/lib/temporalio/connection/tls_options.rb +0 -51
  431. data/lib/temporalio/connection/workflow_service.rb +0 -731
  432. data/lib/temporalio/connection.rb +0 -86
  433. data/lib/temporalio/data_converter.rb +0 -191
  434. data/lib/temporalio/error/workflow_failure.rb +0 -19
  435. data/lib/temporalio/errors.rb +0 -40
  436. data/lib/temporalio/failure_converter/base.rb +0 -26
  437. data/lib/temporalio/failure_converter/basic.rb +0 -319
  438. data/lib/temporalio/failure_converter.rb +0 -7
  439. data/lib/temporalio/interceptor/activity_inbound.rb +0 -22
  440. data/lib/temporalio/interceptor/activity_outbound.rb +0 -24
  441. data/lib/temporalio/interceptor/chain.rb +0 -28
  442. data/lib/temporalio/interceptor/client.rb +0 -127
  443. data/lib/temporalio/interceptor.rb +0 -22
  444. data/lib/temporalio/payload_codec/base.rb +0 -32
  445. data/lib/temporalio/payload_converter/base.rb +0 -24
  446. data/lib/temporalio/payload_converter/bytes.rb +0 -27
  447. data/lib/temporalio/payload_converter/composite.rb +0 -49
  448. data/lib/temporalio/payload_converter/encoding_base.rb +0 -35
  449. data/lib/temporalio/payload_converter/json.rb +0 -26
  450. data/lib/temporalio/payload_converter/nil.rb +0 -26
  451. data/lib/temporalio/payload_converter.rb +0 -14
  452. data/lib/temporalio/retry_state.rb +0 -35
  453. data/lib/temporalio/testing/time_skipping_handle.rb +0 -32
  454. data/lib/temporalio/testing/time_skipping_interceptor.rb +0 -23
  455. data/lib/temporalio/timeout_type.rb +0 -29
  456. data/lib/temporalio/worker/activity_runner.rb +0 -114
  457. data/lib/temporalio/worker/activity_worker.rb +0 -164
  458. data/lib/temporalio/worker/reactor.rb +0 -46
  459. data/lib/temporalio/worker/runner.rb +0 -63
  460. data/lib/temporalio/worker/sync_worker.rb +0 -124
  461. data/lib/temporalio/worker/thread_pool_executor.rb +0 -51
  462. data/lib/temporalio/workflow/async.rb +0 -46
  463. data/lib/temporalio/workflow/execution_info.rb +0 -54
  464. data/lib/temporalio/workflow/execution_status.rb +0 -36
  465. data/lib/temporalio/workflow/future.rb +0 -138
  466. data/lib/temporalio/workflow/id_reuse_policy.rb +0 -36
  467. data/lib/temporalio/workflow/info.rb +0 -76
  468. data/lib/temporalio/workflow/query_reject_condition.rb +0 -33
  469. data/lib/thermite_patch.rb +0 -33
  470. data/sig/async.rbs +0 -17
  471. data/sig/protobuf.rbs +0 -16
  472. data/sig/protos/dependencies/gogoproto/gogo.rbs +0 -914
  473. data/sig/protos/google/protobuf/any.rbs +0 -157
  474. data/sig/protos/google/protobuf/descriptor.rbs +0 -2825
  475. data/sig/protos/google/protobuf/duration.rbs +0 -114
  476. data/sig/protos/google/protobuf/empty.rbs +0 -36
  477. data/sig/protos/google/protobuf/timestamp.rbs +0 -145
  478. data/sig/protos/google/protobuf/wrappers.rbs +0 -358
  479. data/sig/protos/temporal/api/batch/v1/message.rbs +0 -300
  480. data/sig/protos/temporal/api/command/v1/message.rbs +0 -1399
  481. data/sig/protos/temporal/api/common/v1/message.rbs +0 -528
  482. data/sig/protos/temporal/api/enums/v1/batch_operation.rbs +0 -79
  483. data/sig/protos/temporal/api/enums/v1/command_type.rbs +0 -68
  484. data/sig/protos/temporal/api/enums/v1/common.rbs +0 -118
  485. data/sig/protos/temporal/api/enums/v1/event_type.rbs +0 -264
  486. data/sig/protos/temporal/api/enums/v1/failed_cause.rbs +0 -277
  487. data/sig/protos/temporal/api/enums/v1/namespace.rbs +0 -108
  488. data/sig/protos/temporal/api/enums/v1/query.rbs +0 -81
  489. data/sig/protos/temporal/api/enums/v1/reset.rbs +0 -44
  490. data/sig/protos/temporal/api/enums/v1/schedule.rbs +0 -72
  491. data/sig/protos/temporal/api/enums/v1/task_queue.rbs +0 -92
  492. data/sig/protos/temporal/api/enums/v1/update.rbs +0 -64
  493. data/sig/protos/temporal/api/enums/v1/workflow.rbs +0 -371
  494. data/sig/protos/temporal/api/errordetails/v1/message.rbs +0 -551
  495. data/sig/protos/temporal/api/failure/v1/message.rbs +0 -581
  496. data/sig/protos/temporal/api/filter/v1/message.rbs +0 -171
  497. data/sig/protos/temporal/api/history/v1/message.rbs +0 -4609
  498. data/sig/protos/temporal/api/namespace/v1/message.rbs +0 -410
  499. data/sig/protos/temporal/api/operatorservice/v1/request_response.rbs +0 -643
  500. data/sig/protos/temporal/api/operatorservice/v1/service.rbs +0 -17
  501. data/sig/protos/temporal/api/protocol/v1/message.rbs +0 -84
  502. data/sig/protos/temporal/api/query/v1/message.rbs +0 -182
  503. data/sig/protos/temporal/api/replication/v1/message.rbs +0 -148
  504. data/sig/protos/temporal/api/schedule/v1/message.rbs +0 -1488
  505. data/sig/protos/temporal/api/sdk/v1/task_complete_metadata.rbs +0 -110
  506. data/sig/protos/temporal/api/taskqueue/v1/message.rbs +0 -486
  507. data/sig/protos/temporal/api/testservice/v1/request_response.rbs +0 -249
  508. data/sig/protos/temporal/api/testservice/v1/service.rbs +0 -15
  509. data/sig/protos/temporal/api/update/v1/message.rbs +0 -489
  510. data/sig/protos/temporal/api/version/v1/message.rbs +0 -184
  511. data/sig/protos/temporal/api/workflow/v1/message.rbs +0 -824
  512. data/sig/protos/temporal/api/workflowservice/v1/request_response.rbs +0 -7250
  513. data/sig/protos/temporal/api/workflowservice/v1/service.rbs +0 -22
  514. data/sig/protos/temporal/sdk/core/activity_result/activity_result.rbs +0 -380
  515. data/sig/protos/temporal/sdk/core/activity_task/activity_task.rbs +0 -386
  516. data/sig/protos/temporal/sdk/core/child_workflow/child_workflow.rbs +0 -323
  517. data/sig/protos/temporal/sdk/core/common/common.rbs +0 -62
  518. data/sig/protos/temporal/sdk/core/core_interface.rbs +0 -101
  519. data/sig/protos/temporal/sdk/core/external_data/external_data.rbs +0 -119
  520. data/sig/protos/temporal/sdk/core/workflow_activation/workflow_activation.rbs +0 -1473
  521. data/sig/protos/temporal/sdk/core/workflow_commands/workflow_commands.rbs +0 -1784
  522. data/sig/protos/temporal/sdk/core/workflow_completion/workflow_completion.rbs +0 -180
  523. data/sig/ruby.rbs +0 -12
  524. data/sig/temporalio/activity/context.rbs +0 -29
  525. data/sig/temporalio/activity/info.rbs +0 -43
  526. data/sig/temporalio/activity.rbs +0 -19
  527. data/sig/temporalio/bridge/connect_options.rbs +0 -19
  528. data/sig/temporalio/bridge/error.rbs +0 -8
  529. data/sig/temporalio/bridge/retry_config.rbs +0 -21
  530. data/sig/temporalio/bridge/tls_options.rbs +0 -17
  531. data/sig/temporalio/bridge.rbs +0 -71
  532. data/sig/temporalio/client/implementation.rbs +0 -38
  533. data/sig/temporalio/client/workflow_handle.rbs +0 -41
  534. data/sig/temporalio/client.rbs +0 -35
  535. data/sig/temporalio/connection/retry_config.rbs +0 -37
  536. data/sig/temporalio/connection/service.rbs +0 -14
  537. data/sig/temporalio/connection/test_service.rbs +0 -13
  538. data/sig/temporalio/connection/tls_options.rbs +0 -43
  539. data/sig/temporalio/connection/workflow_service.rbs +0 -48
  540. data/sig/temporalio/connection.rbs +0 -30
  541. data/sig/temporalio/data_converter.rbs +0 -35
  542. data/sig/temporalio/error/failure.rbs +0 -121
  543. data/sig/temporalio/error/workflow_failure.rbs +0 -9
  544. data/sig/temporalio/errors.rbs +0 -36
  545. data/sig/temporalio/failure_converter/base.rbs +0 -12
  546. data/sig/temporalio/failure_converter/basic.rbs +0 -86
  547. data/sig/temporalio/failure_converter.rbs +0 -5
  548. data/sig/temporalio/interceptor/activity_inbound.rbs +0 -21
  549. data/sig/temporalio/interceptor/activity_outbound.rbs +0 -10
  550. data/sig/temporalio/interceptor/chain.rbs +0 -24
  551. data/sig/temporalio/interceptor/client.rbs +0 -148
  552. data/sig/temporalio/interceptor.rbs +0 -6
  553. data/sig/temporalio/payload_codec/base.rbs +0 -12
  554. data/sig/temporalio/payload_converter/base.rbs +0 -12
  555. data/sig/temporalio/payload_converter/bytes.rbs +0 -9
  556. data/sig/temporalio/payload_converter/composite.rbs +0 -19
  557. data/sig/temporalio/payload_converter/encoding_base.rbs +0 -14
  558. data/sig/temporalio/payload_converter/json.rbs +0 -9
  559. data/sig/temporalio/payload_converter/nil.rbs +0 -9
  560. data/sig/temporalio/payload_converter.rbs +0 -5
  561. data/sig/temporalio/retry_policy.rbs +0 -25
  562. data/sig/temporalio/retry_state.rbs +0 -20
  563. data/sig/temporalio/runtime.rbs +0 -12
  564. data/sig/temporalio/testing/time_skipping_handle.rbs +0 -15
  565. data/sig/temporalio/testing/time_skipping_interceptor.rbs +0 -13
  566. data/sig/temporalio/testing/workflow_environment.rbs +0 -22
  567. data/sig/temporalio/testing.rbs +0 -35
  568. data/sig/temporalio/timeout_type.rbs +0 -15
  569. data/sig/temporalio/version.rbs +0 -3
  570. data/sig/temporalio/worker/activity_runner.rbs +0 -35
  571. data/sig/temporalio/worker/activity_worker.rbs +0 -44
  572. data/sig/temporalio/worker/reactor.rbs +0 -22
  573. data/sig/temporalio/worker/runner.rbs +0 -21
  574. data/sig/temporalio/worker/sync_worker.rbs +0 -23
  575. data/sig/temporalio/worker/thread_pool_executor.rbs +0 -23
  576. data/sig/temporalio/worker.rbs +0 -46
  577. data/sig/temporalio/workflow/async.rbs +0 -9
  578. data/sig/temporalio/workflow/execution_info.rbs +0 -55
  579. data/sig/temporalio/workflow/execution_status.rbs +0 -21
  580. data/sig/temporalio/workflow/future.rbs +0 -40
  581. data/sig/temporalio/workflow/id_reuse_policy.rbs +0 -15
  582. data/sig/temporalio/workflow/info.rbs +0 -55
  583. data/sig/temporalio/workflow/query_reject_condition.rbs +0 -14
  584. data/sig/temporalio.rbs +0 -2
  585. data/sig/thermite_patch.rbs +0 -15
@@ -1,1389 +0,0 @@
1
- use prost::Message;
2
- use rand::RngCore;
3
- use std::{fs::File, io::Write, path::PathBuf};
4
- use temporal_sdk_core::replay::TestHistoryBuilder;
5
- use temporal_sdk_core_protos::{
6
- coresdk::common::NamespacedWorkflowExecution,
7
- temporal::api::{
8
- common::v1::{Payload, WorkflowExecution},
9
- enums::v1::{EventType, StartChildWorkflowExecutionFailedCause, WorkflowTaskFailedCause},
10
- failure::v1::Failure,
11
- history::v1::*,
12
- },
13
- };
14
-
15
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
16
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
17
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
18
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
19
- /// 5: EVENT_TYPE_TIMER_STARTED
20
- /// 6: EVENT_TYPE_TIMER_FIRED
21
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
22
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
23
- pub fn single_timer(timer_id: &str) -> TestHistoryBuilder {
24
- let mut t = TestHistoryBuilder::default();
25
- t.add_by_type(EventType::WorkflowExecutionStarted);
26
- t.add_full_wf_task();
27
- let timer_started_event_id = t.add_by_type(EventType::TimerStarted);
28
- t.add_timer_fired(timer_started_event_id, timer_id.to_string());
29
- t.add_workflow_task_scheduled_and_started();
30
- t
31
- }
32
-
33
- pub fn single_timer_wf_completes(timer_id: &str) -> TestHistoryBuilder {
34
- let mut t = single_timer(timer_id);
35
- t.add_workflow_task_completed();
36
- t.add_workflow_execution_completed();
37
- t
38
- }
39
-
40
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
41
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
42
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
43
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
44
- /// 5: EVENT_TYPE_TIMER_STARTED (cancel)
45
- /// 6: EVENT_TYPE_TIMER_STARTED (wait)
46
- /// 7: EVENT_TYPE_TIMER_FIRED (wait)
47
- /// 8: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
48
- /// 9: EVENT_TYPE_WORKFLOW_TASK_STARTED
49
- /// 10: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
50
- /// 11: EVENT_TYPE_TIMER_CANCELED (cancel)
51
- /// 12: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
52
- pub fn cancel_timer(wait_timer_id: &str, cancel_timer_id: &str) -> TestHistoryBuilder {
53
- let mut t = TestHistoryBuilder::default();
54
- t.add_by_type(EventType::WorkflowExecutionStarted);
55
- t.add_full_wf_task();
56
- let cancel_timer_started_id = t.add_by_type(EventType::TimerStarted);
57
- let wait_timer_started_id = t.add_by_type(EventType::TimerStarted);
58
- t.add_timer_fired(wait_timer_started_id, wait_timer_id.to_string());
59
- // 8
60
- t.add_full_wf_task();
61
- // 11
62
- t.add(history_event::Attributes::TimerCanceledEventAttributes(
63
- TimerCanceledEventAttributes {
64
- started_event_id: cancel_timer_started_id,
65
- timer_id: cancel_timer_id.to_string(),
66
- ..Default::default()
67
- },
68
- ));
69
- // 12
70
- t.add_workflow_execution_completed();
71
- t
72
- }
73
-
74
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
75
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
76
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
77
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
78
- /// 5: EVENT_TYPE_TIMER_STARTED
79
- /// 6: EVENT_TYPE_TIMER_STARTED
80
- /// 7: EVENT_TYPE_TIMER_FIRED
81
- /// 8: EVENT_TYPE_TIMER_FIRED
82
- /// 9: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
83
- /// 10: EVENT_TYPE_WORKFLOW_TASK_STARTED
84
- pub fn parallel_timer(timer1: &str, timer2: &str) -> TestHistoryBuilder {
85
- let mut t = TestHistoryBuilder::default();
86
- t.add_by_type(EventType::WorkflowExecutionStarted);
87
- t.add_full_wf_task();
88
- let timer_started_event_id = t.add_by_type(EventType::TimerStarted);
89
- let timer_2_started_event_id = t.add_by_type(EventType::TimerStarted);
90
- t.add_timer_fired(timer_started_event_id, timer1.to_string());
91
- t.add_timer_fired(timer_2_started_event_id, timer2.to_string());
92
- t.add_workflow_task_scheduled_and_started();
93
- t
94
- }
95
-
96
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
97
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
98
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
99
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
100
- /// 5: EVENT_TYPE_TIMER_STARTED
101
- /// 6: EVENT_TYPE_TIMER_FIRED
102
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
103
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
104
- /// 9: EVENT_TYPE_WORKFLOW_TASK_FAILED
105
- /// 10: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
106
- /// 11: EVENT_TYPE_WORKFLOW_TASK_STARTED
107
- pub fn workflow_fails_with_reset_after_timer(
108
- timer_id: &str,
109
- original_run_id: &str,
110
- ) -> TestHistoryBuilder {
111
- let mut t = single_timer(timer_id);
112
- t.add_workflow_task_failed_new_id(WorkflowTaskFailedCause::ResetWorkflow, original_run_id);
113
-
114
- t.add_workflow_task_scheduled_and_started();
115
- t
116
- }
117
-
118
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
119
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
120
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
121
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
122
- /// 5: EVENT_TYPE_TIMER_STARTED
123
- /// 6: EVENT_TYPE_TIMER_FIRED
124
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
125
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
126
- /// 9: EVENT_TYPE_WORKFLOW_TASK_FAILED
127
- /// 10: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
128
- /// 11: EVENT_TYPE_WORKFLOW_TASK_STARTED
129
- pub fn workflow_fails_with_failure_after_timer(timer_id: &str) -> TestHistoryBuilder {
130
- let mut t = single_timer(timer_id);
131
- t.add_workflow_task_failed_with_failure(
132
- WorkflowTaskFailedCause::WorkflowWorkerUnhandledFailure,
133
- Failure {
134
- message: "boom".to_string(),
135
- ..Default::default()
136
- },
137
- );
138
-
139
- t.add_workflow_task_scheduled_and_started();
140
- t
141
- }
142
-
143
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
144
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
145
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
146
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
147
- /// 5: EVENT_TYPE_TIMER_STARTED
148
- /// 6: EVENT_TYPE_TIMER_FIRED
149
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
150
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
151
- /// 9: EVENT_TYPE_WORKFLOW_TASK_FAILED
152
- /// 10: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
153
- /// 11: EVENT_TYPE_WORKFLOW_TASK_STARTED
154
- /// 12: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
155
- /// 13: EVENT_TYPE_TIMER_STARTED
156
- /// 14: EVENT_TYPE_TIMER_FIRED
157
- /// 15: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
158
- /// 16: EVENT_TYPE_WORKFLOW_TASK_STARTED
159
- /// 17: EVENT_TYPE_WORKFLOW_TASK_FAILED
160
- /// 18: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
161
- /// 19: EVENT_TYPE_WORKFLOW_TASK_STARTED
162
- pub fn workflow_fails_with_failure_two_different_points(
163
- timer_1: &str,
164
- timer_2: &str,
165
- ) -> TestHistoryBuilder {
166
- let mut t = single_timer(timer_1);
167
- t.add_workflow_task_failed_with_failure(
168
- WorkflowTaskFailedCause::WorkflowWorkerUnhandledFailure,
169
- Failure {
170
- message: "boom 1".to_string(),
171
- ..Default::default()
172
- },
173
- );
174
- t.add_full_wf_task();
175
- let timer_started_event_id = t.add_by_type(EventType::TimerStarted);
176
- t.add_timer_fired(timer_started_event_id, timer_2.to_string());
177
- t.add_workflow_task_scheduled_and_started();
178
- t.add_workflow_task_failed_with_failure(
179
- WorkflowTaskFailedCause::WorkflowWorkerUnhandledFailure,
180
- Failure {
181
- message: "boom 2".to_string(),
182
- ..Default::default()
183
- },
184
- );
185
- t.add_workflow_task_scheduled_and_started();
186
-
187
- t
188
- }
189
-
190
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
191
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
192
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
193
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
194
- /// 5: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
195
- /// 6: EVENT_TYPE_ACTIVITY_TASK_STARTED
196
- /// 7: EVENT_TYPE_ACTIVITY_TASK_COMPLETED
197
- /// 8: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
198
- /// 9: EVENT_TYPE_WORKFLOW_TASK_STARTED
199
- pub fn single_activity(activity_id: &str) -> TestHistoryBuilder {
200
- let mut t = TestHistoryBuilder::default();
201
- t.add_by_type(EventType::WorkflowExecutionStarted);
202
- t.add_full_wf_task();
203
- let scheduled_event_id = t.add_activity_task_scheduled(activity_id);
204
- let started_event_id = t.add_activity_task_started(scheduled_event_id);
205
- t.add_activity_task_completed(scheduled_event_id, started_event_id, Default::default());
206
- t.add_workflow_task_scheduled_and_started();
207
- t
208
- }
209
-
210
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
211
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
212
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
213
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
214
- /// 5: EVENT_TYPE_MARKER_RECORDED
215
- /// 6: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
216
- /// 7: EVENT_TYPE_WORKFLOW_TASK_STARTED
217
- pub fn single_local_activity(activity_id: &str) -> TestHistoryBuilder {
218
- let mut t = TestHistoryBuilder::default();
219
- t.add_by_type(EventType::WorkflowExecutionStarted);
220
- t.add_full_wf_task();
221
- t.add_local_activity_result_marker(1, activity_id, Default::default());
222
- t.add_workflow_task_scheduled_and_started();
223
- t
224
- }
225
-
226
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
227
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
228
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
229
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
230
- /// 5: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
231
- /// 6: EVENT_TYPE_ACTIVITY_TASK_STARTED
232
- /// 7: EVENT_TYPE_ACTIVITY_TASK_FAILED
233
- /// 8: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
234
- /// 9: EVENT_TYPE_WORKFLOW_TASK_STARTED
235
- pub fn single_failed_activity(activity_id: &str) -> TestHistoryBuilder {
236
- let mut t = TestHistoryBuilder::default();
237
- t.add_by_type(EventType::WorkflowExecutionStarted);
238
- t.add_full_wf_task();
239
- let scheduled_event_id = t.add_activity_task_scheduled(activity_id);
240
- let started_event_id = t.add_activity_task_started(scheduled_event_id);
241
- t.add(
242
- history_event::Attributes::ActivityTaskFailedEventAttributes(
243
- ActivityTaskFailedEventAttributes {
244
- scheduled_event_id,
245
- started_event_id,
246
- ..Default::default()
247
- },
248
- ),
249
- );
250
- t.add_workflow_task_scheduled_and_started();
251
- t
252
- }
253
-
254
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
255
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
256
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
257
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
258
- /// 5: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
259
- /// 6: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
260
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
261
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
262
- /// 9: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
263
- /// 10: EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED
264
- /// 11: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
265
- pub fn cancel_scheduled_activity(activity_id: &str, signal_id: &str) -> TestHistoryBuilder {
266
- let mut t = TestHistoryBuilder::default();
267
- t.add_by_type(EventType::WorkflowExecutionStarted);
268
- t.add_full_wf_task();
269
- let scheduled_event_id = t.add_activity_task_scheduled(activity_id);
270
- t.add_we_signaled(
271
- signal_id,
272
- vec![Payload {
273
- metadata: Default::default(),
274
- data: b"hello ".to_vec(),
275
- }],
276
- );
277
- t.add_full_wf_task();
278
- t.add(
279
- history_event::Attributes::ActivityTaskCancelRequestedEventAttributes(
280
- ActivityTaskCancelRequestedEventAttributes {
281
- scheduled_event_id,
282
- ..Default::default()
283
- },
284
- ),
285
- );
286
- t.add_workflow_execution_completed();
287
- t
288
- }
289
-
290
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
291
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
292
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
293
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
294
- /// 5: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
295
- /// 6: EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT
296
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
297
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
298
- /// 9: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
299
- /// 10: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
300
- pub fn scheduled_activity_timeout(activity_id: &str) -> TestHistoryBuilder {
301
- let mut t = TestHistoryBuilder::default();
302
- t.add_by_type(EventType::WorkflowExecutionStarted);
303
- t.add_full_wf_task();
304
- let scheduled_event_id = t.add_activity_task_scheduled(activity_id);
305
- t.add(
306
- history_event::Attributes::ActivityTaskTimedOutEventAttributes(
307
- ActivityTaskTimedOutEventAttributes {
308
- scheduled_event_id,
309
- ..Default::default()
310
- },
311
- ),
312
- );
313
- t.add_full_wf_task();
314
- t.add_workflow_execution_completed();
315
- t
316
- }
317
-
318
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
319
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
320
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
321
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
322
- /// 5: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
323
- /// 6: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
324
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
325
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
326
- /// 9: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
327
- /// 10: EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED
328
- /// 11: EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT
329
- /// 12: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
330
- /// 13: EVENT_TYPE_WORKFLOW_TASK_STARTED
331
- /// 14: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
332
- /// 15: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
333
- pub fn scheduled_cancelled_activity_timeout(
334
- activity_id: &str,
335
- signal_id: &str,
336
- ) -> TestHistoryBuilder {
337
- let mut t = TestHistoryBuilder::default();
338
- t.add_by_type(EventType::WorkflowExecutionStarted);
339
- t.add_full_wf_task();
340
- let scheduled_event_id = t.add_activity_task_scheduled(activity_id);
341
- t.add_we_signaled(
342
- signal_id,
343
- vec![Payload {
344
- metadata: Default::default(),
345
- data: b"hello ".to_vec(),
346
- }],
347
- );
348
- t.add_full_wf_task();
349
- t.add(
350
- history_event::Attributes::ActivityTaskCancelRequestedEventAttributes(
351
- ActivityTaskCancelRequestedEventAttributes {
352
- scheduled_event_id,
353
- ..Default::default()
354
- },
355
- ),
356
- );
357
- t.add(
358
- history_event::Attributes::ActivityTaskTimedOutEventAttributes(
359
- ActivityTaskTimedOutEventAttributes {
360
- scheduled_event_id,
361
- ..Default::default()
362
- },
363
- ),
364
- );
365
- t.add_full_wf_task();
366
- t.add_workflow_execution_completed();
367
- t
368
- }
369
-
370
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
371
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
372
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
373
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
374
- /// 5: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
375
- /// 6: EVENT_TYPE_ACTIVITY_TASK_STARTED
376
- /// 7: EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT
377
- /// 8: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
378
- /// 9: EVENT_TYPE_WORKFLOW_TASK_STARTED
379
- /// 10: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
380
- /// 11: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
381
- pub fn started_activity_timeout(activity_id: &str) -> TestHistoryBuilder {
382
- let mut t = TestHistoryBuilder::default();
383
- t.add_by_type(EventType::WorkflowExecutionStarted);
384
- t.add_full_wf_task();
385
- let scheduled_event_id = t.add_activity_task_scheduled(activity_id);
386
- let started_event_id = t.add(ActivityTaskStartedEventAttributes {
387
- scheduled_event_id,
388
- ..Default::default()
389
- });
390
- t.add(
391
- history_event::Attributes::ActivityTaskTimedOutEventAttributes(
392
- ActivityTaskTimedOutEventAttributes {
393
- scheduled_event_id,
394
- started_event_id,
395
- ..Default::default()
396
- },
397
- ),
398
- );
399
- t.add_full_wf_task();
400
- t.add_workflow_execution_completed();
401
- t
402
- }
403
-
404
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
405
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
406
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
407
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
408
- /// 5: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
409
- /// 6: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
410
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
411
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
412
- /// 9: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
413
- /// 11: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
414
- pub fn cancel_scheduled_activity_abandon(activity_id: &str, signal_id: &str) -> TestHistoryBuilder {
415
- let mut t = TestHistoryBuilder::default();
416
- t.add_by_type(EventType::WorkflowExecutionStarted);
417
- t.add_full_wf_task();
418
- t.add_activity_task_scheduled(activity_id);
419
- t.add_we_signaled(
420
- signal_id,
421
- vec![Payload {
422
- metadata: Default::default(),
423
- data: b"hello ".to_vec(),
424
- }],
425
- );
426
- t.add_full_wf_task();
427
- t.add_workflow_execution_completed();
428
- t
429
- }
430
-
431
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
432
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
433
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
434
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
435
- /// 5: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
436
- /// 6: EVENT_TYPE_ACTIVITY_TASK_STARTED
437
- /// 7: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
438
- /// 8: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
439
- /// 9: EVENT_TYPE_WORKFLOW_TASK_STARTED
440
- /// 10: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
441
- /// 11: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
442
- pub fn cancel_started_activity_abandon(activity_id: &str, signal_id: &str) -> TestHistoryBuilder {
443
- let mut t = TestHistoryBuilder::default();
444
- t.add_by_type(EventType::WorkflowExecutionStarted);
445
- t.add_full_wf_task();
446
- let scheduled_event_id = t.add_activity_task_scheduled(activity_id);
447
- t.add(ActivityTaskStartedEventAttributes {
448
- scheduled_event_id,
449
- ..Default::default()
450
- });
451
- t.add_we_signaled(
452
- signal_id,
453
- vec![Payload {
454
- metadata: Default::default(),
455
- data: b"hello ".to_vec(),
456
- }],
457
- );
458
- t.add_full_wf_task();
459
- t.add_workflow_execution_completed();
460
- t
461
- }
462
-
463
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
464
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
465
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
466
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
467
- /// 5: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
468
- /// 6: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
469
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
470
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
471
- /// 9: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
472
- /// 10: EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED
473
- /// 11: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
474
- /// 12: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
475
- /// 13: EVENT_TYPE_WORKFLOW_TASK_STARTED
476
- /// 14: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
477
- /// 15: EVENT_TYPE_ACTIVITY_TASK_CANCELED
478
- /// 16: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
479
- /// 17: EVENT_TYPE_WORKFLOW_TASK_STARTED
480
- /// 18: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
481
- /// 19: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
482
- pub fn cancel_scheduled_activity_with_signal_and_activity_task_cancel(
483
- activity_id: &str,
484
- signal_id: &str,
485
- ) -> TestHistoryBuilder {
486
- let mut t = TestHistoryBuilder::default();
487
- t.add_by_type(EventType::WorkflowExecutionStarted);
488
- t.add_full_wf_task();
489
- let scheduled_event_id = t.add_activity_task_scheduled(activity_id);
490
- t.add_we_signaled(
491
- signal_id,
492
- vec![Payload {
493
- metadata: Default::default(),
494
- data: b"hello ".to_vec(),
495
- }],
496
- );
497
- t.add_full_wf_task();
498
- t.add(
499
- history_event::Attributes::ActivityTaskCancelRequestedEventAttributes(
500
- ActivityTaskCancelRequestedEventAttributes {
501
- scheduled_event_id,
502
- ..Default::default()
503
- },
504
- ),
505
- );
506
- t.add_we_signaled(
507
- signal_id,
508
- vec![Payload {
509
- metadata: Default::default(),
510
- data: b"hello ".to_vec(),
511
- }],
512
- );
513
- t.add_full_wf_task();
514
- t.add(
515
- history_event::Attributes::ActivityTaskCanceledEventAttributes(
516
- ActivityTaskCanceledEventAttributes {
517
- scheduled_event_id,
518
- ..Default::default()
519
- },
520
- ),
521
- );
522
- t.add_full_wf_task();
523
- t.add_workflow_execution_completed();
524
- t
525
- }
526
-
527
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
528
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
529
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
530
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
531
- /// 5: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
532
- /// 6: EVENT_TYPE_ACTIVITY_TASK_STARTED
533
- /// 7: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
534
- /// 8: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
535
- /// 9: EVENT_TYPE_WORKFLOW_TASK_STARTED
536
- /// 10: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
537
- /// 11: EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED
538
- /// 12: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
539
- /// 13: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
540
- /// 14: EVENT_TYPE_WORKFLOW_TASK_STARTED
541
- /// 15: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
542
- /// 16: EVENT_TYPE_ACTIVITY_TASK_CANCELED
543
- /// 17: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
544
- /// 18: EVENT_TYPE_WORKFLOW_TASK_STARTED
545
- /// 19: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
546
- /// 20: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
547
- pub fn cancel_started_activity_with_signal_and_activity_task_cancel(
548
- activity_id: &str,
549
- signal_id: &str,
550
- ) -> TestHistoryBuilder {
551
- let mut t = TestHistoryBuilder::default();
552
- t.add_by_type(EventType::WorkflowExecutionStarted);
553
- t.add_full_wf_task();
554
- let scheduled_event_id = t.add_activity_task_scheduled(activity_id);
555
- t.add(ActivityTaskStartedEventAttributes {
556
- scheduled_event_id,
557
- ..Default::default()
558
- });
559
- t.add_we_signaled(
560
- signal_id,
561
- vec![Payload {
562
- metadata: Default::default(),
563
- data: b"hello ".to_vec(),
564
- }],
565
- );
566
- t.add_full_wf_task();
567
- t.add(
568
- history_event::Attributes::ActivityTaskCancelRequestedEventAttributes(
569
- ActivityTaskCancelRequestedEventAttributes {
570
- scheduled_event_id,
571
- ..Default::default()
572
- },
573
- ),
574
- );
575
- t.add_we_signaled(
576
- signal_id,
577
- vec![Payload {
578
- metadata: Default::default(),
579
- data: b"hello ".to_vec(),
580
- }],
581
- );
582
- t.add_full_wf_task();
583
- t.add(
584
- history_event::Attributes::ActivityTaskCanceledEventAttributes(
585
- ActivityTaskCanceledEventAttributes {
586
- scheduled_event_id,
587
- ..Default::default()
588
- },
589
- ),
590
- );
591
- t.add_full_wf_task();
592
- t.add_workflow_execution_completed();
593
- t
594
- }
595
-
596
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
597
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
598
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
599
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
600
- /// 5: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
601
- /// 6: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
602
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
603
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
604
- /// 9: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
605
- /// 10: EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED
606
- /// 11: EVENT_TYPE_ACTIVITY_TASK_CANCELED
607
- /// 12: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
608
- /// 13: EVENT_TYPE_WORKFLOW_TASK_STARTED
609
- /// 14: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
610
- /// 15: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
611
- pub fn cancel_scheduled_activity_with_activity_task_cancel(
612
- activity_id: &str,
613
- signal_id: &str,
614
- ) -> TestHistoryBuilder {
615
- let mut t = TestHistoryBuilder::default();
616
- t.add_by_type(EventType::WorkflowExecutionStarted);
617
- t.add_full_wf_task();
618
- let scheduled_event_id = t.add_activity_task_scheduled(activity_id);
619
- t.add_we_signaled(
620
- signal_id,
621
- vec![Payload {
622
- metadata: Default::default(),
623
- data: b"hello ".to_vec(),
624
- }],
625
- );
626
- t.add_full_wf_task();
627
- t.add(
628
- history_event::Attributes::ActivityTaskCancelRequestedEventAttributes(
629
- ActivityTaskCancelRequestedEventAttributes {
630
- scheduled_event_id,
631
- ..Default::default()
632
- },
633
- ),
634
- );
635
- t.add(
636
- history_event::Attributes::ActivityTaskCanceledEventAttributes(
637
- ActivityTaskCanceledEventAttributes {
638
- scheduled_event_id,
639
- ..Default::default()
640
- },
641
- ),
642
- );
643
- t.add_full_wf_task();
644
- t.add_workflow_execution_completed();
645
- t
646
- }
647
-
648
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
649
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
650
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
651
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
652
- /// 5: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
653
- /// 6: EVENT_TYPE_ACTIVITY_TASK_STARTED
654
- /// 7: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
655
- /// 8: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
656
- /// 9: EVENT_TYPE_WORKFLOW_TASK_STARTED
657
- /// 10: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
658
- /// 11: EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED
659
- /// 12: EVENT_TYPE_ACTIVITY_TASK_CANCELED
660
- /// 13: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
661
- /// 14: EVENT_TYPE_WORKFLOW_TASK_STARTED
662
- /// 15: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
663
- /// 16: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
664
- pub fn cancel_started_activity_with_activity_task_cancel(
665
- activity_id: &str,
666
- signal_id: &str,
667
- ) -> TestHistoryBuilder {
668
- let mut t = TestHistoryBuilder::default();
669
- t.add_by_type(EventType::WorkflowExecutionStarted);
670
- t.add_full_wf_task();
671
- let scheduled_event_id = t.add_activity_task_scheduled(activity_id);
672
- t.add(ActivityTaskStartedEventAttributes {
673
- scheduled_event_id,
674
- ..Default::default()
675
- });
676
- t.add_we_signaled(
677
- signal_id,
678
- vec![Payload {
679
- metadata: Default::default(),
680
- data: b"hello ".to_vec(),
681
- }],
682
- );
683
- t.add_full_wf_task();
684
- t.add(
685
- history_event::Attributes::ActivityTaskCancelRequestedEventAttributes(
686
- ActivityTaskCancelRequestedEventAttributes {
687
- scheduled_event_id,
688
- ..Default::default()
689
- },
690
- ),
691
- );
692
- t.add(
693
- history_event::Attributes::ActivityTaskCanceledEventAttributes(
694
- ActivityTaskCanceledEventAttributes {
695
- scheduled_event_id,
696
- ..Default::default()
697
- },
698
- ),
699
- );
700
- t.add_full_wf_task();
701
- t.add_workflow_execution_completed();
702
- t
703
- }
704
-
705
- /// First signal's payload is "hello " and second is "world" (no metadata for either)
706
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
707
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
708
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
709
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
710
- /// 5: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
711
- /// 6: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
712
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
713
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
714
- pub fn two_signals(sig_1_id: &str, sig_2_id: &str) -> TestHistoryBuilder {
715
- let mut t = TestHistoryBuilder::default();
716
- t.add_by_type(EventType::WorkflowExecutionStarted);
717
- t.add_full_wf_task();
718
- t.add_we_signaled(
719
- sig_1_id,
720
- vec![Payload {
721
- metadata: Default::default(),
722
- data: b"hello ".to_vec(),
723
- }],
724
- );
725
- t.add_we_signaled(
726
- sig_2_id,
727
- vec![Payload {
728
- metadata: Default::default(),
729
- data: b"world".to_vec(),
730
- }],
731
- );
732
- t.add_workflow_task_scheduled_and_started();
733
- t
734
- }
735
-
736
- /// Can produce long histories that look like below. `num_tasks` must be > 1.
737
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
738
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
739
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
740
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
741
- /// --- Repeat num_tasks - 1 (the above is counted) times ---
742
- /// x: EVENT_TYPE_TIMER_STARTED
743
- /// x: EVENT_TYPE_TIMER_FIRED
744
- /// x: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
745
- /// x: EVENT_TYPE_WORKFLOW_TASK_STARTED
746
- /// x: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
747
- /// --- End repeat ---
748
- /// 4 + (num tasks - 1) * 4 + 1: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
749
- pub fn long_sequential_timers(num_tasks: usize) -> TestHistoryBuilder {
750
- let mut t = TestHistoryBuilder::default();
751
- t.add_by_type(EventType::WorkflowExecutionStarted);
752
- t.add_full_wf_task();
753
-
754
- for i in 1..=num_tasks {
755
- let timer_started_event_id = t.add_by_type(EventType::TimerStarted);
756
- t.add_timer_fired(timer_started_event_id, i.to_string());
757
- t.add_full_wf_task();
758
- }
759
-
760
- t.add_workflow_execution_completed();
761
- t
762
- }
763
-
764
- /// Sends 5 large signals per workflow task
765
- pub fn lots_of_big_signals(num_tasks: usize) -> TestHistoryBuilder {
766
- let mut t = TestHistoryBuilder::default();
767
- t.add_by_type(EventType::WorkflowExecutionStarted);
768
- t.add_full_wf_task();
769
-
770
- let mut rng = rand::thread_rng();
771
- for _ in 1..=num_tasks {
772
- let mut dat = [0_u8; 1024 * 1000];
773
- for _ in 1..=5 {
774
- rng.fill_bytes(&mut dat);
775
- t.add_we_signaled(
776
- "bigsig",
777
- vec![Payload {
778
- metadata: Default::default(),
779
- data: dat.into(),
780
- }],
781
- );
782
- }
783
- t.add_full_wf_task();
784
- }
785
-
786
- t.add_workflow_execution_completed();
787
- t
788
- }
789
-
790
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
791
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
792
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
793
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
794
- /// 5: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
795
- /// 6: EVENT_TYPE_TIMER_STARTED
796
- /// 7: EVENT_TYPE_TIMER_FIRED
797
- /// 8: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
798
- /// 9: EVENT_TYPE_WORKFLOW_TASK_STARTED
799
- /// 10: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
800
- /// 11: EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED
801
- /// 12: EVENT_TYPE_TIMER_STARTED
802
- /// 13: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
803
- /// 14: EVENT_TYPE_WORKFLOW_TASK_STARTED
804
- pub fn unsent_at_cancel_repro() -> TestHistoryBuilder {
805
- let mut t = TestHistoryBuilder::default();
806
- t.add_by_type(EventType::WorkflowExecutionStarted);
807
- t.add_full_wf_task();
808
-
809
- let scheduled_event_id = t.add_activity_task_scheduled(1.to_string());
810
- let timer_started_event_id = t.add_by_type(EventType::TimerStarted);
811
- t.add_timer_fired(timer_started_event_id, 1.to_string());
812
-
813
- t.add_full_wf_task();
814
- t.add_activity_task_cancel_requested(scheduled_event_id);
815
- t.add_by_type(EventType::TimerStarted);
816
- t.add_workflow_task_scheduled_and_started();
817
-
818
- t
819
- }
820
-
821
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
822
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
823
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
824
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
825
- /// 5: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
826
- /// 6: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
827
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
828
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
829
- /// 9: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
830
- /// 10: EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED
831
- /// 11: EVENT_TYPE_TIMER_STARTED
832
- /// 12: EVENT_TYPE_ACTIVITY_TASK_STARTED
833
- /// 13: EVENT_TYPE_ACTIVITY_TASK_COMPLETED
834
- /// 14: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
835
- /// 15: EVENT_TYPE_WORKFLOW_TASK_STARTED
836
- /// 16: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
837
- /// 17: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
838
- pub fn cancel_not_sent_when_also_complete_repro() -> TestHistoryBuilder {
839
- let mut t = TestHistoryBuilder::default();
840
- t.add_by_type(EventType::WorkflowExecutionStarted);
841
- t.add_full_wf_task();
842
-
843
- let scheduled_event_id = t.add_activity_task_scheduled("act-1");
844
- t.add_we_signaled(
845
- "sig-1",
846
- vec![Payload {
847
- metadata: Default::default(),
848
- data: b"hello ".to_vec(),
849
- }],
850
- );
851
- t.add_full_wf_task();
852
- t.add_activity_task_cancel_requested(scheduled_event_id);
853
- t.add_by_type(EventType::TimerStarted);
854
- let started_event_id = t.add(ActivityTaskStartedEventAttributes {
855
- scheduled_event_id,
856
- ..Default::default()
857
- });
858
- t.add(
859
- history_event::Attributes::ActivityTaskCompletedEventAttributes(
860
- ActivityTaskCompletedEventAttributes {
861
- scheduled_event_id,
862
- started_event_id,
863
- ..Default::default()
864
- },
865
- ),
866
- );
867
- t.add_full_wf_task();
868
- t.add_workflow_execution_completed();
869
-
870
- t
871
- }
872
-
873
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
874
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
875
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
876
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
877
- /// 5: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
878
- /// 6: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED (at-started)
879
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
880
- /// 8: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED (at-completed)
881
- /// 9: EVENT_TYPE_ACTIVITY_TASK_STARTED
882
- /// 10: EVENT_TYPE_ACTIVITY_TASK_COMPLETED
883
- /// 11: EVENT_TYPE_WORKFLOW_TASK_STARTED
884
- /// 12: EVENT_TYPE_WORKFLOW_TASK_TIMED_OUT
885
- /// 13: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
886
- /// 14: EVENT_TYPE_WORKFLOW_TASK_STARTED
887
- /// 15: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
888
- /// 16: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
889
- pub fn wft_timeout_repro() -> TestHistoryBuilder {
890
- let mut t = TestHistoryBuilder::default();
891
- t.add_by_type(EventType::WorkflowExecutionStarted);
892
- t.add_full_wf_task();
893
- let scheduled_event_id = t.add_activity_task_scheduled("1");
894
- t.add_we_signaled(
895
- "at-started",
896
- vec![Payload {
897
- metadata: Default::default(),
898
- data: b"hello ".to_vec(),
899
- }],
900
- );
901
- t.add_workflow_task_scheduled();
902
- t.add_we_signaled(
903
- "at-completed",
904
- vec![Payload {
905
- metadata: Default::default(),
906
- data: b"hello ".to_vec(),
907
- }],
908
- );
909
- let started_event_id = t.add(ActivityTaskStartedEventAttributes {
910
- scheduled_event_id,
911
- ..Default::default()
912
- });
913
- t.add(ActivityTaskCompletedEventAttributes {
914
- scheduled_event_id,
915
- started_event_id,
916
- ..Default::default()
917
- });
918
- t.add_workflow_task_started();
919
- t.add_workflow_task_timed_out();
920
- t.add_full_wf_task();
921
- t.add_workflow_execution_completed();
922
-
923
- t
924
- }
925
-
926
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
927
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
928
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
929
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
930
- /// 5: EVENT_TYPE_TIMER_STARTED
931
- /// 6: EVENT_TYPE_TIMER_FIRED
932
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
933
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
934
- /// 9: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
935
- /// 10: EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW
936
- pub fn timer_then_continue_as_new(timer_id: &str) -> TestHistoryBuilder {
937
- let mut t = TestHistoryBuilder::default();
938
- t.add_by_type(EventType::WorkflowExecutionStarted);
939
- t.add_full_wf_task();
940
- let timer_started_event_id = t.add_by_type(EventType::TimerStarted);
941
- t.add_timer_fired(timer_started_event_id, timer_id.to_string());
942
- t.add_full_wf_task();
943
- t.add_continued_as_new();
944
- t
945
- }
946
-
947
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
948
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
949
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
950
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
951
- /// 5: EVENT_TYPE_TIMER_STARTED
952
- /// 6: EVENT_TYPE_TIMER_FIRED
953
- /// 7: EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED
954
- /// 8: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
955
- /// 9: EVENT_TYPE_WORKFLOW_TASK_STARTED
956
- /// 10: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
957
- /// 11: EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED
958
- pub fn timer_wf_cancel_req_cancelled(timer_id: &str) -> TestHistoryBuilder {
959
- timer_cancel_req_then(timer_id, TestHistoryBuilder::add_cancelled)
960
- }
961
- pub fn timer_wf_cancel_req_completed(timer_id: &str) -> TestHistoryBuilder {
962
- timer_cancel_req_then(
963
- timer_id,
964
- TestHistoryBuilder::add_workflow_execution_completed,
965
- )
966
- }
967
- pub fn timer_wf_cancel_req_failed(timer_id: &str) -> TestHistoryBuilder {
968
- timer_cancel_req_then(timer_id, TestHistoryBuilder::add_workflow_execution_failed)
969
- }
970
-
971
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
972
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
973
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
974
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
975
- /// 5: EVENT_TYPE_TIMER_STARTED
976
- /// 6: EVENT_TYPE_TIMER_FIRED
977
- /// 7: EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED
978
- /// 8: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
979
- /// 9: EVENT_TYPE_WORKFLOW_TASK_STARTED
980
- /// 10: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
981
- /// 11: EVENT_TYPE_TIMER_STARTED
982
- /// 12: EVENT_TYPE_TIMER_FIRED
983
- /// 13: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
984
- /// 14: EVENT_TYPE_WORKFLOW_TASK_STARTED
985
- /// 15: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
986
- /// 16: EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED
987
- pub fn timer_wf_cancel_req_do_another_timer_then_cancelled() -> TestHistoryBuilder {
988
- timer_cancel_req_then("1", |t| {
989
- let timer_started_event_id = t.add_by_type(EventType::TimerStarted);
990
- t.add_timer_fired(timer_started_event_id, "2".to_string());
991
- t.add_full_wf_task();
992
- t.add_cancelled();
993
- })
994
- }
995
-
996
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
997
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
998
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
999
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1000
- /// 5: EVENT_TYPE_TIMER_STARTED
1001
- /// 6: EVENT_TYPE_TIMER_FIRED
1002
- /// 7: EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED
1003
- /// 8: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1004
- /// 9: EVENT_TYPE_WORKFLOW_TASK_STARTED
1005
- /// 10: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1006
- /// xxxxx
1007
- fn timer_cancel_req_then(
1008
- timer_id: &str,
1009
- end_action: impl Fn(&mut TestHistoryBuilder),
1010
- ) -> TestHistoryBuilder {
1011
- let mut t = TestHistoryBuilder::default();
1012
- t.add_by_type(EventType::WorkflowExecutionStarted);
1013
- t.add_full_wf_task();
1014
- let timer_started_event_id = t.add_by_type(EventType::TimerStarted);
1015
- t.add_timer_fired(timer_started_event_id, timer_id.to_string());
1016
- t.add_cancel_requested();
1017
- t.add_full_wf_task();
1018
- end_action(&mut t);
1019
- t
1020
- }
1021
-
1022
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
1023
- /// 2: EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED
1024
- /// 3: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1025
- /// 4: EVENT_TYPE_WORKFLOW_TASK_STARTED
1026
- /// 5: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1027
- /// 6: EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED
1028
- pub fn immediate_wf_cancel() -> TestHistoryBuilder {
1029
- let mut t = TestHistoryBuilder::default();
1030
- t.add_by_type(EventType::WorkflowExecutionStarted);
1031
- t.add_cancel_requested();
1032
- t.add_full_wf_task();
1033
- t.add_cancelled();
1034
- t
1035
- }
1036
-
1037
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
1038
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1039
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
1040
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1041
- /// 5: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
1042
- /// 6: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
1043
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1044
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
1045
- /// 9: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1046
- /// 10: EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED
1047
- /// 11: EVENT_TYPE_TIMER_STARTED
1048
- /// 12: EVENT_TYPE_ACTIVITY_TASK_STARTED
1049
- /// 13: EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT
1050
- /// 14: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1051
- /// 15: EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
1052
- /// 16: EVENT_TYPE_WORKFLOW_TASK_STARTED
1053
- /// 17: EVENT_TYPE_WORKFLOW_TASK_TIMED_OUT
1054
- /// 18: EVENT_TYPE_TIMER_FIRED
1055
- /// 19: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1056
- /// 20: EVENT_TYPE_WORKFLOW_TASK_STARTED
1057
- /// 21: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1058
- /// 22: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
1059
- pub fn activity_double_resolve_repro() -> TestHistoryBuilder {
1060
- let mut t = TestHistoryBuilder::default();
1061
- t.add_by_type(EventType::WorkflowExecutionStarted);
1062
- t.add_full_wf_task();
1063
- let act_sched_id = t.add(
1064
- history_event::Attributes::ActivityTaskScheduledEventAttributes(
1065
- ActivityTaskScheduledEventAttributes {
1066
- activity_id: "1".to_string(),
1067
- ..Default::default()
1068
- },
1069
- ),
1070
- );
1071
- t.add_we_signaled("sig1", vec![]);
1072
- t.add_full_wf_task();
1073
- t.add_activity_task_cancel_requested(act_sched_id);
1074
- let timer_started_event_id = t.add_by_type(EventType::TimerStarted);
1075
- t.add(ActivityTaskStartedEventAttributes {
1076
- scheduled_event_id: act_sched_id,
1077
- ..Default::default()
1078
- });
1079
- t.add(
1080
- history_event::Attributes::ActivityTaskTimedOutEventAttributes(
1081
- ActivityTaskTimedOutEventAttributes {
1082
- scheduled_event_id: act_sched_id,
1083
- ..Default::default()
1084
- },
1085
- ),
1086
- );
1087
- t.add_workflow_task_scheduled();
1088
- t.add_we_signaled("sig2", vec![]);
1089
- t.add_workflow_task_started();
1090
- t.add_workflow_task_timed_out();
1091
- t.add_timer_fired(timer_started_event_id, "2".to_string());
1092
- t.add_full_wf_task();
1093
- t.add_workflow_execution_completed();
1094
-
1095
- t
1096
- }
1097
-
1098
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
1099
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1100
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
1101
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1102
- /// 5: EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED
1103
- /// 6: EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED
1104
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1105
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
1106
- /// 9: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1107
- fn start_child_wf_preamble(child_wf_id: &str) -> (TestHistoryBuilder, i64, i64) {
1108
- let mut t = TestHistoryBuilder::default();
1109
- t.add_by_type(EventType::WorkflowExecutionStarted);
1110
- t.add_full_wf_task();
1111
- let initiated_event_id = t.add(StartChildWorkflowExecutionInitiatedEventAttributes {
1112
- workflow_id: child_wf_id.to_owned(),
1113
- ..Default::default()
1114
- });
1115
- let started_event_id = t.add(ChildWorkflowExecutionStartedEventAttributes {
1116
- initiated_event_id,
1117
- workflow_execution: Some(WorkflowExecution {
1118
- workflow_id: child_wf_id.to_owned(),
1119
- ..Default::default()
1120
- }),
1121
- ..Default::default()
1122
- });
1123
- t.add_full_wf_task();
1124
- (t, initiated_event_id, started_event_id)
1125
- }
1126
-
1127
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
1128
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1129
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
1130
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1131
- /// 5: EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED
1132
- /// 6: EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED
1133
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1134
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
1135
- /// 9: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1136
- /// 10: EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_COMPLETED
1137
- /// 11: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1138
- /// 12: EVENT_TYPE_WORKFLOW_TASK_STARTED
1139
- /// 13: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1140
- /// 14: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
1141
- pub fn single_child_workflow(child_wf_id: &str) -> TestHistoryBuilder {
1142
- let (mut t, initiated_event_id, started_event_id) = start_child_wf_preamble(child_wf_id);
1143
- t.add(
1144
- history_event::Attributes::ChildWorkflowExecutionCompletedEventAttributes(
1145
- ChildWorkflowExecutionCompletedEventAttributes {
1146
- initiated_event_id,
1147
- started_event_id,
1148
- // todo add the result payload
1149
- ..Default::default()
1150
- },
1151
- ),
1152
- );
1153
- t.add_full_wf_task();
1154
- t.add_workflow_execution_completed();
1155
- t
1156
- }
1157
-
1158
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
1159
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1160
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
1161
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1162
- /// 5: EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED
1163
- /// 6: EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED
1164
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1165
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
1166
- /// 9: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1167
- /// 10: EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_FAILED
1168
- /// 11: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1169
- /// 12: EVENT_TYPE_WORKFLOW_TASK_STARTED
1170
- /// 13: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1171
- /// 14: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
1172
- pub fn single_child_workflow_fail(child_wf_id: &str) -> TestHistoryBuilder {
1173
- let (mut t, initiated_event_id, started_event_id) = start_child_wf_preamble(child_wf_id);
1174
- t.add(
1175
- history_event::Attributes::ChildWorkflowExecutionFailedEventAttributes(
1176
- ChildWorkflowExecutionFailedEventAttributes {
1177
- initiated_event_id,
1178
- started_event_id,
1179
- ..Default::default()
1180
- },
1181
- ),
1182
- );
1183
- t.add_full_wf_task();
1184
- t.add_workflow_execution_completed();
1185
- t
1186
- }
1187
-
1188
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
1189
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1190
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
1191
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1192
- /// 5: EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED
1193
- /// 6: EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED
1194
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1195
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
1196
- /// 9: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1197
- /// 10: EVENT_TYPE_SIGNAL_WORKFLOW_EXECUTION_INITIATED
1198
- /// 11: EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_SIGNALED
1199
- /// 12: EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_COMPLETED
1200
- /// 13: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1201
- /// 14: EVENT_TYPE_WORKFLOW_TASK_STARTED
1202
- /// 15: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1203
- /// 16: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
1204
- pub fn single_child_workflow_signaled(child_wf_id: &str, signame: &str) -> TestHistoryBuilder {
1205
- let (mut t, initiated_event_id, started_event_id) = start_child_wf_preamble(child_wf_id);
1206
- let id = t.add_signal_wf(signame, "fake_wid", "fake_rid");
1207
- t.add_external_signal_completed(id);
1208
- t.add(
1209
- history_event::Attributes::ChildWorkflowExecutionCompletedEventAttributes(
1210
- ChildWorkflowExecutionCompletedEventAttributes {
1211
- initiated_event_id,
1212
- started_event_id,
1213
- ..Default::default()
1214
- },
1215
- ),
1216
- );
1217
- t.add_full_wf_task();
1218
- t.add_workflow_execution_completed();
1219
- t
1220
- }
1221
-
1222
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
1223
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1224
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
1225
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1226
- /// 5: EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED
1227
- /// 6: EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED
1228
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1229
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
1230
- /// 9: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1231
- /// 10: EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED
1232
- /// 11: EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_CANCEL_REQUESTED
1233
- /// 12: EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_CANCELLED
1234
- /// 13: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1235
- /// 14: EVENT_TYPE_WORKFLOW_TASK_STARTED
1236
- /// 15: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1237
- /// 16: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
1238
- pub fn single_child_workflow_cancelled(child_wf_id: &str) -> TestHistoryBuilder {
1239
- let (mut t, initiated_event_id, started_event_id) = start_child_wf_preamble(child_wf_id);
1240
- let id = t.add_cancel_external_wf(NamespacedWorkflowExecution {
1241
- workflow_id: child_wf_id.to_string(),
1242
- ..Default::default()
1243
- });
1244
- t.add_cancel_external_wf_completed(id);
1245
- t.add(
1246
- history_event::Attributes::ChildWorkflowExecutionCanceledEventAttributes(
1247
- ChildWorkflowExecutionCanceledEventAttributes {
1248
- initiated_event_id,
1249
- started_event_id,
1250
- ..Default::default()
1251
- },
1252
- ),
1253
- );
1254
- t.add_full_wf_task();
1255
- t.add_workflow_execution_completed();
1256
- t
1257
- }
1258
-
1259
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
1260
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1261
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
1262
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1263
- /// 5: EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED
1264
- /// 6: EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED
1265
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1266
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
1267
- /// 9: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1268
- /// 10: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
1269
- pub fn single_child_workflow_abandon_cancelled(child_wf_id: &str) -> TestHistoryBuilder {
1270
- let (mut t, _, _) = start_child_wf_preamble(child_wf_id);
1271
- t.add_workflow_execution_completed();
1272
- t
1273
- }
1274
-
1275
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
1276
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1277
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
1278
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1279
- /// 5: EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED
1280
- /// 6: EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED
1281
- /// 7: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1282
- /// 8: EVENT_TYPE_WORKFLOW_TASK_STARTED
1283
- /// 9: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1284
- /// 10: EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED
1285
- /// 11: EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_CANCEL_REQUESTED
1286
- /// 12: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1287
- /// 13: EVENT_TYPE_WORKFLOW_TASK_STARTED
1288
- /// 14: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1289
- /// 15: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
1290
- pub fn single_child_workflow_try_cancelled(child_wf_id: &str) -> TestHistoryBuilder {
1291
- let (mut t, _, _) = start_child_wf_preamble(child_wf_id);
1292
- let id = t.add_cancel_external_wf(NamespacedWorkflowExecution {
1293
- workflow_id: child_wf_id.to_string(),
1294
- ..Default::default()
1295
- });
1296
- t.add_cancel_external_wf_completed(id);
1297
- t.add_full_wf_task();
1298
- t.add_workflow_execution_completed();
1299
- t
1300
- }
1301
-
1302
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
1303
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1304
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
1305
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1306
- /// 5: EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED
1307
- /// 5: EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_FAILED
1308
- /// 6: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1309
- /// 7: EVENT_TYPE_WORKFLOW_TASK_STARTED
1310
- /// 8: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1311
- /// 9: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
1312
- pub fn single_child_workflow_start_fail(child_wf_id: &str) -> TestHistoryBuilder {
1313
- let mut t = TestHistoryBuilder::default();
1314
- t.add_by_type(EventType::WorkflowExecutionStarted);
1315
- t.add_full_wf_task();
1316
- let initiated_event_id = t.add(StartChildWorkflowExecutionInitiatedEventAttributes {
1317
- workflow_id: child_wf_id.to_owned(),
1318
- ..Default::default()
1319
- });
1320
- t.add(StartChildWorkflowExecutionFailedEventAttributes {
1321
- workflow_id: child_wf_id.to_owned(),
1322
- initiated_event_id,
1323
- cause: StartChildWorkflowExecutionFailedCause::WorkflowAlreadyExists as i32,
1324
- ..Default::default()
1325
- });
1326
- t.add_full_wf_task();
1327
- t.add_workflow_execution_completed();
1328
- t
1329
- }
1330
-
1331
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
1332
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1333
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
1334
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1335
- /// 5: EVENT_TYPE_MARKER_RECORDED (la result)
1336
- /// 7: EVENT_TYPE_MARKER_RECORDED (la result)
1337
- /// 8: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
1338
- pub fn two_local_activities_one_wft(parallel: bool) -> TestHistoryBuilder {
1339
- let mut t = TestHistoryBuilder::default();
1340
- t.add_by_type(EventType::WorkflowExecutionStarted);
1341
- t.add_full_wf_task();
1342
- let mut start_time = t.wft_start_time();
1343
- start_time.seconds += 1;
1344
- t.add_local_activity_result_marker_with_time(1, "1", b"hi".into(), start_time.clone());
1345
- if !parallel {
1346
- start_time.seconds += 1;
1347
- }
1348
- t.add_local_activity_result_marker_with_time(2, "2", b"hi2".into(), start_time);
1349
- t.add_workflow_execution_completed();
1350
- t
1351
- }
1352
-
1353
- /// 1: EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
1354
- /// 2: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1355
- /// 3: EVENT_TYPE_WORKFLOW_TASK_STARTED
1356
- /// 4: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1357
- /// 5: EVENT_TYPE_MARKER_RECORDED (la result)
1358
- /// 6: EVENT_TYPE_TIMER_STARTED
1359
- /// 7: EVENT_TYPE_TIMER_FIRED
1360
- /// 8: EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
1361
- /// 9: EVENT_TYPE_WORKFLOW_TASK_STARTED
1362
- /// 10: EVENT_TYPE_WORKFLOW_TASK_COMPLETED
1363
- /// 11: EVENT_TYPE_MARKER_RECORDED (la result)
1364
- /// 12: EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
1365
- pub fn two_local_activities_separated_by_timer() -> TestHistoryBuilder {
1366
- let mut t = TestHistoryBuilder::default();
1367
- t.add_by_type(EventType::WorkflowExecutionStarted);
1368
- t.add_full_wf_task();
1369
- t.add_local_activity_result_marker(1, "1", b"hi".into());
1370
- let timer_started_event_id = t.add_by_type(EventType::TimerStarted);
1371
- t.add_timer_fired(timer_started_event_id, "1".to_string());
1372
- t.add_full_wf_task();
1373
- t.add_local_activity_result_marker(2, "2", b"hi2".into());
1374
- t.add_workflow_execution_completed();
1375
- t
1376
- }
1377
-
1378
- /// Useful for one-of needs to write a crafted history to a file. Writes it as serialized proto
1379
- /// binary to the provided path.
1380
- pub fn write_hist_to_binfile(
1381
- thb: &TestHistoryBuilder,
1382
- file_path: PathBuf,
1383
- ) -> Result<(), anyhow::Error> {
1384
- let as_complete_hist: History = thb.get_full_history_info()?.into();
1385
- let serialized = as_complete_hist.encode_to_vec();
1386
- let mut file = File::create(file_path)?;
1387
- file.write_all(&serialized)?;
1388
- Ok(())
1389
- }