@temporalio/core-bridge 1.0.0 → 1.0.1
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.
- package/package.json +3 -3
- package/releases/aarch64-apple-darwin/index.node +0 -0
- package/releases/aarch64-unknown-linux-gnu/index.node +0 -0
- package/releases/x86_64-apple-darwin/index.node +0 -0
- package/releases/x86_64-pc-windows-msvc/index.node +0 -0
- package/releases/x86_64-unknown-linux-gnu/index.node +0 -0
- package/sdk-core/client/src/lib.rs +52 -2
- package/sdk-core/client/src/retry.rs +35 -12
- package/sdk-core/core/src/core_tests/activity_tasks.rs +70 -2
- package/sdk-core/core/src/core_tests/local_activities.rs +179 -9
- package/sdk-core/core/src/core_tests/workers.rs +33 -1
- package/sdk-core/core/src/lib.rs +13 -4
- package/sdk-core/core/src/protosext/mod.rs +44 -7
- package/sdk-core/core/src/test_help/mod.rs +19 -3
- package/sdk-core/core/src/worker/activities/activity_heartbeat_manager.rs +2 -2
- package/sdk-core/core/src/worker/client.rs +9 -1
- package/sdk-core/core/src/worker/mod.rs +11 -4
- package/sdk-core/core/src/worker/workflow/driven_workflow.rs +5 -6
- package/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +1 -1
- package/sdk-core/core/src/worker/workflow/managed_run.rs +27 -8
- package/sdk-core/core/src/worker/workflow/mod.rs +44 -17
- package/sdk-core/core/src/worker/workflow/workflow_stream.rs +14 -12
- package/sdk-core/sdk/src/lib.rs +36 -9
- package/sdk-core/sdk-core-protos/src/history_builder.rs +1 -1
- package/sdk-core/test-utils/src/lib.rs +22 -3
- package/sdk-core/tests/integ_tests/workflow_tests/signals.rs +37 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
use futures::StreamExt;
|
|
2
|
-
use temporal_client::WorkflowOptions;
|
|
2
|
+
use temporal_client::{WorkflowClientTrait, WorkflowExecutionInfo, WorkflowOptions};
|
|
3
3
|
use temporal_sdk::{
|
|
4
4
|
ChildWorkflowOptions, Signal, SignalWorkflowOptions, WfContext, WorkflowResult,
|
|
5
5
|
};
|
|
6
|
+
use temporal_sdk_core_protos::coresdk::IntoPayloadsExt;
|
|
6
7
|
use temporal_sdk_core_test_utils::CoreWfStarter;
|
|
7
8
|
use uuid::Uuid;
|
|
8
9
|
|
|
@@ -54,6 +55,12 @@ async fn signal_receiver(ctx: WfContext) -> WorkflowResult<()> {
|
|
|
54
55
|
Ok(().into())
|
|
55
56
|
}
|
|
56
57
|
|
|
58
|
+
async fn signal_with_create_wf_receiver(ctx: WfContext) -> WorkflowResult<()> {
|
|
59
|
+
let res = ctx.make_signal_channel(SIGNAME).next().await.unwrap();
|
|
60
|
+
assert_eq!(&res.input, &[b"tada".into()]);
|
|
61
|
+
Ok(().into())
|
|
62
|
+
}
|
|
63
|
+
|
|
57
64
|
#[tokio::test]
|
|
58
65
|
async fn sends_signal_to_other_wf() {
|
|
59
66
|
let mut starter = CoreWfStarter::new("sends_signal_to_other_wf");
|
|
@@ -82,6 +89,35 @@ async fn sends_signal_to_other_wf() {
|
|
|
82
89
|
worker.run_until_done().await.unwrap();
|
|
83
90
|
}
|
|
84
91
|
|
|
92
|
+
#[tokio::test]
|
|
93
|
+
async fn sends_signal_with_create_wf() {
|
|
94
|
+
let mut starter = CoreWfStarter::new("sends_signal_with_create_wf");
|
|
95
|
+
let mut worker = starter.worker().await;
|
|
96
|
+
worker.register_wf("receiversignal", signal_with_create_wf_receiver);
|
|
97
|
+
|
|
98
|
+
let client = starter.get_client().await;
|
|
99
|
+
let res = client
|
|
100
|
+
.signal_with_start_workflow_execution(
|
|
101
|
+
None,
|
|
102
|
+
worker.inner_mut().task_queue().to_owned(),
|
|
103
|
+
"sends_signal_with_create_wf".to_owned(),
|
|
104
|
+
"receiversignal".to_owned(),
|
|
105
|
+
WorkflowOptions::default(),
|
|
106
|
+
SIGNAME.to_owned(),
|
|
107
|
+
vec![b"tada".into()].into_payloads(),
|
|
108
|
+
)
|
|
109
|
+
.await
|
|
110
|
+
.expect("request succeeds.qed");
|
|
111
|
+
|
|
112
|
+
worker.started_workflows.lock().push(WorkflowExecutionInfo {
|
|
113
|
+
namespace: client.namespace().to_string(),
|
|
114
|
+
workflow_id: "sends_signal_with_create_wf".to_owned(),
|
|
115
|
+
run_id: Some(res.run_id.clone()),
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
worker.run_until_done().await.unwrap();
|
|
119
|
+
}
|
|
120
|
+
|
|
85
121
|
async fn signals_child(ctx: WfContext) -> WorkflowResult<()> {
|
|
86
122
|
let started_child = ctx
|
|
87
123
|
.child_workflow(ChildWorkflowOptions {
|