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,596 +0,0 @@
1
- mod activities;
2
- mod appdata_propagation;
3
- mod cancel_external;
4
- mod cancel_wf;
5
- mod child_workflows;
6
- mod continue_as_new;
7
- mod determinism;
8
- mod local_activities;
9
- mod modify_wf_properties;
10
- mod patches;
11
- mod replay;
12
- mod resets;
13
- mod signals;
14
- mod stickyness;
15
- mod timers;
16
- mod upsert_search_attrs;
17
-
18
- use assert_matches::assert_matches;
19
- use futures::{channel::mpsc::UnboundedReceiver, future, SinkExt, StreamExt};
20
- use std::{
21
- collections::HashMap,
22
- sync::{
23
- atomic::{AtomicUsize, Ordering},
24
- Arc,
25
- },
26
- time::Duration,
27
- };
28
- use temporal_client::{WorkflowClientTrait, WorkflowOptions};
29
- use temporal_sdk::{
30
- interceptors::WorkerInterceptor, ActContext, ActivityOptions, WfContext, WorkflowResult,
31
- };
32
- use temporal_sdk_core::replay::HistoryForReplay;
33
- use temporal_sdk_core_api::{errors::PollWfError, Worker};
34
- use temporal_sdk_core_protos::{
35
- coresdk::{
36
- activity_result::ActivityExecutionResult,
37
- workflow_activation::{workflow_activation_job, WorkflowActivation, WorkflowActivationJob},
38
- workflow_commands::{ActivityCancellationType, FailWorkflowExecution, StartTimer},
39
- workflow_completion::WorkflowActivationCompletion,
40
- ActivityTaskCompletion, AsJsonPayloadExt, IntoCompletion,
41
- },
42
- temporal::api::{failure::v1::Failure, history::v1::history_event},
43
- };
44
- use temporal_sdk_core_test_utils::{
45
- drain_pollers_and_shutdown, history_from_proto_binary, init_core_and_create_wf,
46
- init_core_replay_preloaded, schedule_activity_cmd, CoreWfStarter, WorkerTestHelpers,
47
- };
48
- use tokio::time::sleep;
49
- use uuid::Uuid;
50
-
51
- // TODO: We should get expected histories for these tests and confirm that the history at the end
52
- // matches.
53
-
54
- #[tokio::test]
55
- async fn parallel_workflows_same_queue() {
56
- let mut starter = CoreWfStarter::new("parallel_workflows_same_queue");
57
- let core = starter.get_worker().await;
58
- let num_workflows = 25usize;
59
-
60
- let run_ids: Vec<_> = future::join_all(
61
- (0..num_workflows).map(|i| starter.start_wf_with_id(format!("wf-id-{i}"))),
62
- )
63
- .await;
64
-
65
- let mut send_chans = HashMap::new();
66
- async fn wf_task(
67
- worker: Arc<dyn Worker>,
68
- mut task_chan: UnboundedReceiver<WorkflowActivation>,
69
- ) {
70
- let task = task_chan.next().await.unwrap();
71
- assert_matches!(
72
- task.jobs.as_slice(),
73
- [WorkflowActivationJob {
74
- variant: Some(workflow_activation_job::Variant::StartWorkflow(_)),
75
- }]
76
- );
77
- worker
78
- .complete_timer(&task.run_id, 1, Duration::from_secs(1))
79
- .await;
80
- let task = task_chan.next().await.unwrap();
81
- worker.complete_execution(&task.run_id).await;
82
- }
83
-
84
- let handles: Vec<_> = run_ids
85
- .iter()
86
- .map(|run_id| {
87
- let (tx, rx) = futures::channel::mpsc::unbounded();
88
- send_chans.insert(run_id.clone(), tx);
89
- tokio::spawn(wf_task(core.clone(), rx))
90
- })
91
- .collect();
92
-
93
- for _ in 0..num_workflows * 2 {
94
- let task = core.poll_workflow_activation().await.unwrap();
95
- send_chans
96
- .get(&task.run_id)
97
- .unwrap()
98
- .send(task)
99
- .await
100
- .unwrap();
101
- }
102
-
103
- for handle in handles {
104
- handle.await.unwrap()
105
- }
106
- drain_pollers_and_shutdown(&core).await;
107
- }
108
-
109
- static RUN_CT: AtomicUsize = AtomicUsize::new(0);
110
- pub async fn cache_evictions_wf(command_sink: WfContext) -> WorkflowResult<()> {
111
- RUN_CT.fetch_add(1, Ordering::SeqCst);
112
- command_sink.timer(Duration::from_secs(1)).await;
113
- Ok(().into())
114
- }
115
-
116
- #[tokio::test]
117
- async fn workflow_lru_cache_evictions() {
118
- let wf_type = "workflow_lru_cache_evictions";
119
- let mut starter = CoreWfStarter::new(wf_type);
120
- starter.no_remote_activities().max_cached_workflows(1);
121
- let mut worker = starter.worker().await;
122
- worker.register_wf(wf_type.to_string(), cache_evictions_wf);
123
-
124
- let n_workflows = 3;
125
- for _ in 0..n_workflows {
126
- worker
127
- .submit_wf(
128
- format!("wce-{}", Uuid::new_v4()),
129
- wf_type.to_string(),
130
- vec![],
131
- WorkflowOptions::default(),
132
- )
133
- .await
134
- .unwrap();
135
- }
136
- struct CacheAsserter;
137
- #[async_trait::async_trait(?Send)]
138
- impl WorkerInterceptor for CacheAsserter {
139
- async fn on_workflow_activation_completion(&self, _: &WorkflowActivationCompletion) {}
140
- fn on_shutdown(&self, sdk_worker: &temporal_sdk::Worker) {
141
- // 0 since the sdk worker force-evicts and drains everything on shutdown.
142
- assert_eq!(sdk_worker.cached_workflows(), 0);
143
- }
144
- }
145
- worker
146
- .run_until_done_intercepted(Some(CacheAsserter))
147
- .await
148
- .unwrap();
149
- // The wf must have started more than # workflows times, since all but one must experience
150
- // an eviction
151
- assert!(RUN_CT.load(Ordering::SeqCst) > n_workflows);
152
- }
153
-
154
- // Ideally this would be a unit test, but returning a pending future with mockall bloats the mock
155
- // code a bunch and just isn't worth it. Do it when https://github.com/asomers/mockall/issues/189 is
156
- // fixed.
157
- #[tokio::test]
158
- async fn shutdown_aborts_actively_blocked_poll() {
159
- let mut starter = CoreWfStarter::new("shutdown_aborts_actively_blocked_poll");
160
- let core = starter.get_worker().await;
161
- // Begin the poll, and request shutdown from another thread after a small period of time.
162
- let tcore = core.clone();
163
- let handle = tokio::spawn(async move {
164
- std::thread::sleep(Duration::from_millis(100));
165
- drain_pollers_and_shutdown(&tcore).await;
166
- });
167
- assert_matches!(
168
- core.poll_workflow_activation().await.unwrap_err(),
169
- PollWfError::ShutDown
170
- );
171
- handle.await.unwrap();
172
- // Ensure double-shutdown doesn't explode
173
- core.shutdown().await;
174
- assert_matches!(
175
- core.poll_workflow_activation().await.unwrap_err(),
176
- PollWfError::ShutDown
177
- );
178
- }
179
-
180
- #[rstest::rstest]
181
- #[tokio::test]
182
- async fn fail_wf_task(#[values(true, false)] replay: bool) {
183
- let core = if replay {
184
- // We need to send the history twice, since we fail it the first time.
185
- let mut hist_proto = history_from_proto_binary("histories/fail_wf_task.bin")
186
- .await
187
- .unwrap();
188
- let hist = HistoryForReplay::new(hist_proto.clone(), "fake".to_string());
189
- if let Some(history_event::Attributes::WorkflowExecutionStartedEventAttributes(
190
- ref mut attrs,
191
- )) = hist_proto.events[0].attributes
192
- {
193
- attrs.original_execution_run_id = "run2".to_string();
194
- attrs.first_execution_run_id = "run2".to_string();
195
- }
196
- let hist2 = HistoryForReplay::new(hist_proto, "fake".to_string());
197
- init_core_replay_preloaded("fail_wf_task", [hist, hist2])
198
- } else {
199
- let mut starter = init_core_and_create_wf("fail_wf_task").await;
200
- starter.get_worker().await
201
- };
202
- // Start with a timer
203
- let task = core.poll_workflow_activation().await.unwrap();
204
- core.complete_timer(&task.run_id, 0, Duration::from_millis(200))
205
- .await;
206
-
207
- // Then break for whatever reason
208
- let task = core.poll_workflow_activation().await.unwrap();
209
- core.complete_workflow_activation(WorkflowActivationCompletion::fail(
210
- task.run_id,
211
- Failure::application_failure("I did an oopsie".to_string(), false),
212
- ))
213
- .await
214
- .unwrap();
215
-
216
- // The server will want to retry the task. This time we finish the workflow -- but we need
217
- // to poll a couple of times as there will be more than one required workflow activation.
218
- let task = core.poll_workflow_activation().await.unwrap();
219
- // The first poll response will tell us to evict
220
- assert_matches!(
221
- task.jobs.as_slice(),
222
- [WorkflowActivationJob {
223
- variant: Some(workflow_activation_job::Variant::RemoveFromCache(_)),
224
- }]
225
- );
226
- core.complete_workflow_activation(WorkflowActivationCompletion::empty(task.run_id))
227
- .await
228
- .unwrap();
229
-
230
- let task = core.poll_workflow_activation().await.unwrap();
231
- core.complete_workflow_activation(WorkflowActivationCompletion::from_cmds(
232
- task.run_id,
233
- vec![StartTimer {
234
- seq: 0,
235
- start_to_fire_timeout: Some(prost_dur!(from_millis(200))),
236
- }
237
- .into()],
238
- ))
239
- .await
240
- .unwrap();
241
- let task = core.poll_workflow_activation().await.unwrap();
242
- core.complete_execution(&task.run_id).await;
243
- }
244
-
245
- #[tokio::test]
246
- async fn fail_workflow_execution() {
247
- let core = init_core_and_create_wf("fail_workflow_execution")
248
- .await
249
- .get_worker()
250
- .await;
251
- let task = core.poll_workflow_activation().await.unwrap();
252
- core.complete_timer(&task.run_id, 0, Duration::from_secs(1))
253
- .await;
254
- let task = core.poll_workflow_activation().await.unwrap();
255
- core.complete_workflow_activation(WorkflowActivationCompletion::from_cmds(
256
- task.run_id,
257
- vec![FailWorkflowExecution {
258
- failure: Some(Failure::application_failure("I'm ded".to_string(), false)),
259
- }
260
- .into()],
261
- ))
262
- .await
263
- .unwrap();
264
- }
265
-
266
- #[tokio::test]
267
- async fn signal_workflow() {
268
- let mut starter = init_core_and_create_wf("signal_workflow").await;
269
- let core = starter.get_worker().await;
270
- let client = starter.get_client().await;
271
- let workflow_id = starter.get_task_queue().to_string();
272
-
273
- let signal_id_1 = "signal1";
274
- let signal_id_2 = "signal2";
275
- let res = core.poll_workflow_activation().await.unwrap();
276
- // Task is completed with no commands
277
- core.complete_workflow_activation(WorkflowActivationCompletion::from_cmds(
278
- res.run_id.clone(),
279
- vec![],
280
- ))
281
- .await
282
- .unwrap();
283
-
284
- // Send the signals to the server
285
- client
286
- .signal_workflow_execution(
287
- workflow_id.to_string(),
288
- res.run_id.to_string(),
289
- signal_id_1.to_string(),
290
- None,
291
- None,
292
- )
293
- .await
294
- .unwrap();
295
- client
296
- .signal_workflow_execution(
297
- workflow_id.to_string(),
298
- res.run_id.to_string(),
299
- signal_id_2.to_string(),
300
- None,
301
- None,
302
- )
303
- .await
304
- .unwrap();
305
-
306
- let mut res = core.poll_workflow_activation().await.unwrap();
307
- // Sometimes both signals are complete at once, sometimes only one, depending on server
308
- // Converting test to wf function type would make this shorter
309
- if res.jobs.len() == 2 {
310
- assert_matches!(
311
- res.jobs.as_slice(),
312
- [
313
- WorkflowActivationJob {
314
- variant: Some(workflow_activation_job::Variant::SignalWorkflow(_)),
315
- },
316
- WorkflowActivationJob {
317
- variant: Some(workflow_activation_job::Variant::SignalWorkflow(_)),
318
- }
319
- ]
320
- );
321
- } else if res.jobs.len() == 1 {
322
- assert_matches!(
323
- res.jobs.as_slice(),
324
- [WorkflowActivationJob {
325
- variant: Some(workflow_activation_job::Variant::SignalWorkflow(_)),
326
- },]
327
- );
328
- core.complete_workflow_activation(WorkflowActivationCompletion::from_cmds(
329
- res.run_id,
330
- vec![],
331
- ))
332
- .await
333
- .unwrap();
334
- res = core.poll_workflow_activation().await.unwrap();
335
- assert_matches!(
336
- res.jobs.as_slice(),
337
- [WorkflowActivationJob {
338
- variant: Some(workflow_activation_job::Variant::SignalWorkflow(_)),
339
- },]
340
- );
341
- }
342
- core.complete_execution(&res.run_id).await;
343
- }
344
-
345
- #[tokio::test]
346
- async fn signal_workflow_signal_not_handled_on_workflow_completion() {
347
- let mut starter =
348
- init_core_and_create_wf("signal_workflow_signal_not_handled_on_workflow_completion").await;
349
- let core = starter.get_worker().await;
350
- let workflow_id = starter.get_task_queue().to_string();
351
- let signal_id_1 = "signal1";
352
- for i in 1..=2 {
353
- let res = core.poll_workflow_activation().await.unwrap();
354
- // Task is completed with a timer
355
- core.complete_workflow_activation(WorkflowActivationCompletion::from_cmds(
356
- res.run_id,
357
- vec![StartTimer {
358
- seq: 0,
359
- start_to_fire_timeout: Some(prost_dur!(from_millis(10))),
360
- }
361
- .into()],
362
- ))
363
- .await
364
- .unwrap();
365
-
366
- let res = core.poll_workflow_activation().await.unwrap();
367
-
368
- if i == 1 {
369
- // First attempt we should only see the timer being fired
370
- assert_matches!(
371
- res.jobs.as_slice(),
372
- [WorkflowActivationJob {
373
- variant: Some(workflow_activation_job::Variant::FireTimer(_)),
374
- }]
375
- );
376
-
377
- let run_id = res.run_id.clone();
378
-
379
- // Send the signal to the server
380
- starter
381
- .get_client()
382
- .await
383
- .signal_workflow_execution(
384
- workflow_id.clone(),
385
- res.run_id.to_string(),
386
- signal_id_1.to_string(),
387
- None,
388
- None,
389
- )
390
- .await
391
- .unwrap();
392
-
393
- // Send completion - not having seen a poll response with a signal in it yet (unhandled
394
- // command error will be logged as a warning and an eviction will be issued)
395
- core.complete_execution(&run_id).await;
396
-
397
- // We should be told to evict
398
- let res = core.poll_workflow_activation().await.unwrap();
399
- assert_matches!(
400
- res.jobs.as_slice(),
401
- [WorkflowActivationJob {
402
- variant: Some(workflow_activation_job::Variant::RemoveFromCache(_)),
403
- }]
404
- );
405
- core.complete_workflow_activation(WorkflowActivationCompletion::empty(res.run_id))
406
- .await
407
- .unwrap();
408
- // Loop to the top to handle wf from the beginning
409
- continue;
410
- }
411
-
412
- // On the second attempt, we will see the signal we failed to handle as well as the timer
413
- assert_matches!(
414
- res.jobs.as_slice(),
415
- [
416
- WorkflowActivationJob {
417
- variant: Some(workflow_activation_job::Variant::FireTimer(_)),
418
- },
419
- WorkflowActivationJob {
420
- variant: Some(workflow_activation_job::Variant::SignalWorkflow(_)),
421
- }
422
- ]
423
- );
424
- core.complete_execution(&res.run_id).await;
425
- }
426
- }
427
-
428
- #[tokio::test]
429
- async fn wft_timeout_doesnt_create_unsolvable_autocomplete() {
430
- let activity_id = "act-1";
431
- let signal_at_start = "at-start";
432
- let signal_at_complete = "at-complete";
433
- let mut wf_starter = CoreWfStarter::new("wft_timeout_doesnt_create_unsolvable_autocomplete");
434
- wf_starter
435
- // Test needs eviction on and a short timeout
436
- .max_cached_workflows(0)
437
- .max_wft(1);
438
- wf_starter.workflow_options.task_timeout = Some(Duration::from_secs(1));
439
- let core = wf_starter.get_worker().await;
440
- let client = wf_starter.get_client().await;
441
- let task_q = wf_starter.get_task_queue();
442
- let wf_id = &wf_starter.get_wf_id().to_owned();
443
-
444
- // Set up some helpers for polling and completing
445
- let poll_sched_act = || async {
446
- let wf_task = core.poll_workflow_activation().await.unwrap();
447
- core.complete_workflow_activation(
448
- schedule_activity_cmd(
449
- 0,
450
- task_q,
451
- activity_id,
452
- ActivityCancellationType::TryCancel,
453
- Duration::from_secs(60),
454
- Duration::from_secs(60),
455
- )
456
- .into_completion(wf_task.run_id.clone()),
457
- )
458
- .await
459
- .unwrap();
460
- wf_task
461
- };
462
- wf_starter.start_wf_with_id(wf_id.to_string()).await;
463
-
464
- // Poll and schedule the activity
465
- let wf_task = poll_sched_act().await;
466
- // Before polling for a task again, we start and complete the activity and send the
467
- // corresponding signals.
468
- let ac_task = core.poll_activity_task().await.unwrap();
469
- let rid = wf_task.run_id.clone();
470
- // Send the signals to the server & resolve activity -- sometimes this happens too fast
471
- sleep(Duration::from_millis(200)).await;
472
- client
473
- .signal_workflow_execution(
474
- wf_id.to_string(),
475
- rid,
476
- signal_at_start.to_string(),
477
- None,
478
- None,
479
- )
480
- .await
481
- .unwrap();
482
- // Complete activity successfully.
483
- core.complete_activity_task(ActivityTaskCompletion {
484
- task_token: ac_task.task_token,
485
- result: Some(ActivityExecutionResult::ok(Default::default())),
486
- })
487
- .await
488
- .unwrap();
489
- let rid = wf_task.run_id.clone();
490
- client
491
- .signal_workflow_execution(
492
- wf_id.to_string(),
493
- rid,
494
- signal_at_complete.to_string(),
495
- None,
496
- None,
497
- )
498
- .await
499
- .unwrap();
500
- // Now poll again, it will be an eviction b/c non-sticky mode.
501
- let wf_task = core.poll_workflow_activation().await.unwrap();
502
- assert_matches!(
503
- wf_task.jobs.as_slice(),
504
- [WorkflowActivationJob {
505
- variant: Some(workflow_activation_job::Variant::RemoveFromCache(_)),
506
- }]
507
- );
508
- core.complete_workflow_activation(WorkflowActivationCompletion::empty(wf_task.run_id))
509
- .await
510
- .unwrap();
511
- // Start from the beginning
512
- poll_sched_act().await;
513
- let wf_task = core.poll_workflow_activation().await.unwrap();
514
- // Time out this time
515
- sleep(Duration::from_secs(2)).await;
516
- // Poll again, which should not have any work to do and spin, until the complete goes through.
517
- // Which will be rejected with not found, producing an eviction.
518
- let (wf_task, _) = tokio::join!(
519
- async { core.poll_workflow_activation().await.unwrap() },
520
- async {
521
- sleep(Duration::from_millis(500)).await;
522
- // Reply to the first one, finally
523
- core.complete_execution(&wf_task.run_id).await;
524
- }
525
- );
526
- assert_matches!(
527
- wf_task.jobs.as_slice(),
528
- [WorkflowActivationJob {
529
- variant: Some(workflow_activation_job::Variant::RemoveFromCache(_)),
530
- }]
531
- );
532
- core.complete_workflow_activation(WorkflowActivationCompletion::empty(wf_task.run_id))
533
- .await
534
- .unwrap();
535
- // Do it all over again, without timing out this time
536
- poll_sched_act().await;
537
- let wf_task = core.poll_workflow_activation().await.unwrap();
538
- // Server can sometimes arbitrarily re-order the activity complete to be after the second signal
539
- // Seeing 3 jobs is enough info.
540
- assert_eq!(wf_task.jobs.len(), 3);
541
- core.complete_execution(&wf_task.run_id).await;
542
- }
543
-
544
- /// We had a bug related to polling being faster than completion causing issues with cache
545
- /// overflow. This test intentionally makes completes slower than polls to evaluate that.
546
- ///
547
- /// It's expected that this test may generate some task timeouts.
548
- #[tokio::test]
549
- async fn slow_completes_with_small_cache() {
550
- let wf_name = "slow_completes_with_small_cache";
551
- let mut starter = CoreWfStarter::new(wf_name);
552
- starter.max_wft(5).max_cached_workflows(5);
553
- let mut worker = starter.worker().await;
554
- worker.register_wf(wf_name.to_owned(), |ctx: WfContext| async move {
555
- for _ in 0..3 {
556
- ctx.activity(ActivityOptions {
557
- activity_type: "echo_activity".to_string(),
558
- start_to_close_timeout: Some(Duration::from_secs(5)),
559
- input: "hi!".as_json_payload().expect("serializes fine"),
560
- ..Default::default()
561
- })
562
- .await;
563
- ctx.timer(Duration::from_secs(1)).await;
564
- }
565
- Ok(().into())
566
- });
567
- worker.register_activity(
568
- "echo_activity",
569
- |_ctx: ActContext, echo_me: String| async move { Ok(echo_me) },
570
- );
571
- for i in 0..20 {
572
- worker
573
- .submit_wf(
574
- format!("{wf_name}_{i}"),
575
- wf_name.to_owned(),
576
- vec![],
577
- WorkflowOptions::default(),
578
- )
579
- .await
580
- .unwrap();
581
- }
582
-
583
- struct SlowCompleter {}
584
- #[async_trait::async_trait(?Send)]
585
- impl WorkerInterceptor for SlowCompleter {
586
- async fn on_workflow_activation_completion(&self, _: &WorkflowActivationCompletion) {
587
- // They don't need to be much slower
588
- tokio::time::sleep(Duration::from_millis(100)).await;
589
- }
590
- fn on_shutdown(&self, _: &temporal_sdk::Worker) {}
591
- }
592
- worker
593
- .run_until_done_intercepted(Some(SlowCompleter {}))
594
- .await
595
- .unwrap();
596
- }
@@ -1,103 +0,0 @@
1
- //! Integration tests
2
-
3
- #[macro_use]
4
- extern crate rstest;
5
- #[macro_use]
6
- extern crate temporal_sdk_core_test_utils;
7
-
8
- #[cfg(test)]
9
- mod integ_tests {
10
- mod client_tests;
11
- mod ephemeral_server_tests;
12
- mod heartbeat_tests;
13
- mod metrics_tests;
14
- mod polling_tests;
15
- mod queries_tests;
16
- mod visibility_tests;
17
- mod workflow_tests;
18
-
19
- use std::str::FromStr;
20
- use temporal_client::WorkflowService;
21
- use temporal_sdk_core::{
22
- init_worker, ClientOptionsBuilder, ClientTlsConfig, CoreRuntime, TlsConfig,
23
- WorkflowClientTrait,
24
- };
25
- use temporal_sdk_core_api::worker::WorkerConfigBuilder;
26
- use temporal_sdk_core_protos::temporal::api::workflowservice::v1::ListNamespacesRequest;
27
- use temporal_sdk_core_test_utils::{
28
- get_integ_server_options, get_integ_telem_options, NAMESPACE,
29
- };
30
- use url::Url;
31
-
32
- // Create a worker like a bridge would (unwraps aside)
33
- #[tokio::test]
34
- #[ignore] // Really a compile time check more than anything
35
- async fn lang_bridge_example() {
36
- let opts = get_integ_server_options();
37
- let runtime = CoreRuntime::new_assume_tokio(get_integ_telem_options()).unwrap();
38
- let mut retrying_client = opts
39
- .connect_no_namespace(runtime.metric_meter().as_deref(), None)
40
- .await
41
- .unwrap();
42
-
43
- let _worker = init_worker(
44
- &runtime,
45
- WorkerConfigBuilder::default()
46
- .namespace("default")
47
- .task_queue("Wheee!")
48
- .build()
49
- .unwrap(),
50
- // clone the client if you intend to use it later. Strip off the retry wrapper since
51
- // worker will assert its own
52
- retrying_client.clone(),
53
- );
54
-
55
- // Do things with worker or client
56
- let _ = retrying_client
57
- .list_namespaces(ListNamespacesRequest::default())
58
- .await;
59
- }
60
-
61
- // TODO: Currently ignored because starting up the docker image with TLS requires some hoop
62
- // jumping. We should upgrade CI to be able to do that but this was manually run against
63
- // https://github.com/temporalio/customization-samples/tree/master/tls/tls-simple
64
- #[tokio::test]
65
- #[ignore]
66
- async fn tls_test() {
67
- // Load certs/keys
68
- let root = tokio::fs::read(
69
- "/home/sushi/dev/temporal/customization-samples/tls/tls-simple/certs/ca.cert",
70
- )
71
- .await
72
- .unwrap();
73
- let client_cert = tokio::fs::read(
74
- "/home/sushi/dev/temporal/customization-samples/tls/tls-simple/certs/client.pem",
75
- )
76
- .await
77
- .unwrap();
78
- let client_private_key = tokio::fs::read(
79
- "/home/sushi/dev/temporal/customization-samples/tls/tls-simple/certs/client.key",
80
- )
81
- .await
82
- .unwrap();
83
- let sgo = ClientOptionsBuilder::default()
84
- .target_url(Url::from_str("https://localhost:7233").unwrap())
85
- .client_name("tls_tester")
86
- .client_version("clientver")
87
- .tls_cfg(TlsConfig {
88
- server_root_ca_cert: Some(root),
89
- domain: Some("tls-sample".to_string()),
90
- client_tls_config: Some(ClientTlsConfig {
91
- client_cert,
92
- client_private_key,
93
- }),
94
- })
95
- .build()
96
- .unwrap();
97
- let con = sgo
98
- .connect(NAMESPACE.to_string(), None, None)
99
- .await
100
- .unwrap();
101
- con.list_namespaces().await.unwrap();
102
- }
103
- }