Skip to content

Commit 720d798

Browse files
remove useless tests
1 parent a502c0c commit 720d798

3 files changed

Lines changed: 35 additions & 49 deletions

File tree

crates/sdk/examples/activity_heartbeating/workflows.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use std::time::Duration;
33
use temporalio_common::protos::coresdk::AsJsonPayloadExt;
44
use temporalio_macros::{activities, workflow, workflow_methods};
55
use temporalio_sdk::{
6-
ActivityCloseTimeouts, ActivityOptions, WorkflowContext, WorkflowResult,
6+
ActivityOptions, WorkflowContext, WorkflowResult,
77
activities::{ActivityContext, ActivityError},
88
};
99

@@ -48,11 +48,9 @@ impl HeartbeatingWorkflow {
4848
.start_activity(
4949
HeartbeatingActivities::long_running_activity,
5050
total_steps,
51-
ActivityOptions::with_close_timeout(ActivityCloseTimeouts::StartToClose(
52-
Duration::from_secs(30),
53-
))
54-
.heartbeat_timeout(Duration::from_secs(5))
55-
.build(),
51+
ActivityOptions::with_start_to_close_timeout(Duration::from_secs(30))
52+
.heartbeat_timeout(Duration::from_secs(5))
53+
.build(),
5654
)
5755
.await
5856
.map_err(|e| anyhow::anyhow!("{e}"))?;

crates/sdk/examples/cancellation/workflows.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
use std::time::Duration;
33
use temporalio_macros::{activities, workflow, workflow_methods};
44
use temporalio_sdk::{
5-
ActivityCloseTimeouts, ActivityOptions, CancellableFuture, WorkflowContext, WorkflowResult,
5+
ActivityOptions, CancellableFuture, WorkflowContext, WorkflowResult,
66
activities::{ActivityContext, ActivityError},
77
};
88

@@ -31,11 +31,9 @@ impl CancellationActivities {
3131
}
3232

3333
fn activity_opts() -> ActivityOptions {
34-
ActivityOptions::with_close_timeout(ActivityCloseTimeouts::StartToClose(Duration::from_secs(
35-
300,
36-
)))
37-
.heartbeat_timeout(Duration::from_secs(5))
38-
.build()
34+
ActivityOptions::with_start_to_close_timeout(Duration::from_secs(300))
35+
.heartbeat_timeout(Duration::from_secs(5))
36+
.build()
3937
}
4038

4139
#[workflow]

crates/sdk/src/workflow_context/options.rs

Lines changed: 27 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ pub(crate) trait IntoWorkflowCommand {
2727
}
2828

2929
/// Options for scheduling an activity
30-
#[derive(Debug, bon::Builder)]
30+
#[derive(Debug, bon::Builder, Clone)]
3131
#[non_exhaustive]
3232
#[builder(start_fn = with_close_timeout, on(String, into), state_mod(vis = "pub"))]
3333
pub struct ActivityOptions {
@@ -71,14 +71,28 @@ pub struct ActivityOptions {
7171
}
7272

7373
impl ActivityOptions {
74+
/// Returns a builder with a [`ActivityCloseTimeouts::StartToClose`] set.
75+
pub fn with_start_to_close_timeout(duration: Duration) -> ActivityOptionsBuilder {
76+
Self::with_close_timeout(ActivityCloseTimeouts::StartToClose(duration))
77+
}
78+
79+
/// Returns a builder with a [`ActivityCloseTimeouts::ScheduleToClose`] set.
80+
pub fn with_schedule_to_close_timeout(duration: Duration) -> ActivityOptionsBuilder {
81+
Self::with_close_timeout(ActivityCloseTimeouts::ScheduleToClose(duration))
82+
}
83+
7484
/// Creates activity options with only `start_to_close_timeout` set.
85+
///
86+
/// If you need additional fields set, use [`Self::with_start_to_close_timeout`].
7587
pub fn start_to_close_timeout(duration: Duration) -> Self {
76-
Self::with_close_timeout(ActivityCloseTimeouts::StartToClose(duration)).build()
88+
Self::with_start_to_close_timeout(duration).build()
7789
}
7890

7991
/// Creates activity options with only `schedule_to_close_timeout` set.
92+
///
93+
/// If you need additional fields set, use [`Self::with_schedule_to_close_timeout`].
8094
pub fn schedule_to_close_timeout(duration: Duration) -> Self {
81-
Self::with_close_timeout(ActivityCloseTimeouts::ScheduleToClose(duration)).build()
95+
Self::with_schedule_to_close_timeout(duration).build()
8296
}
8397

8498
pub(crate) fn into_command(
@@ -547,53 +561,29 @@ mod tests {
547561
use temporalio_common::protos::coresdk::workflow_commands::workflow_command::Variant;
548562

549563
#[test]
550-
fn activity_options_builder_defaults_match_start_to_close_constructor() {
551-
let built = ActivityOptions::with_close_timeout(ActivityCloseTimeouts::StartToClose(
552-
Duration::from_secs(5),
553-
))
554-
.build();
555-
let constructed = ActivityOptions::start_to_close_timeout(Duration::from_secs(5));
556-
557-
assert_eq!(built.close_timeout, constructed.close_timeout);
558-
assert_eq!(built.activity_id, constructed.activity_id);
559-
assert_eq!(built.task_queue, constructed.task_queue);
560-
assert_eq!(
561-
built.schedule_to_start_timeout,
562-
constructed.schedule_to_start_timeout
563-
);
564-
assert_eq!(built.heartbeat_timeout, constructed.heartbeat_timeout);
565-
assert_eq!(built.cancellation_type, constructed.cancellation_type);
566-
assert_eq!(built.retry_policy, constructed.retry_policy);
567-
assert_eq!(built.summary, constructed.summary);
568-
assert_eq!(built.priority, constructed.priority);
569-
assert_eq!(
570-
built.do_not_eagerly_execute,
571-
constructed.do_not_eagerly_execute
572-
);
573-
}
574-
575-
#[test]
576-
fn activity_options_start_to_close_timeout_constructor_sets_only_that_timeout() {
577-
let opts = ActivityOptions::start_to_close_timeout(Duration::from_secs(5));
564+
fn activity_options_with_start_to_close_timeout_wrapper_supports_builder_chaining() {
565+
let opts = ActivityOptions::with_start_to_close_timeout(Duration::from_secs(5))
566+
.heartbeat_timeout(Duration::from_secs(2))
567+
.build();
578568

579569
assert_eq!(
580570
opts.close_timeout,
581571
ActivityCloseTimeouts::StartToClose(Duration::from_secs(5))
582572
);
583-
assert_eq!(opts.schedule_to_start_timeout, None);
584-
assert_eq!(opts.heartbeat_timeout, None);
573+
assert_eq!(opts.heartbeat_timeout, Some(Duration::from_secs(2)));
585574
}
586575

587576
#[test]
588-
fn activity_options_schedule_to_close_timeout_constructor_sets_only_that_timeout() {
589-
let opts = ActivityOptions::schedule_to_close_timeout(Duration::from_secs(5));
577+
fn activity_options_with_schedule_to_close_timeout_wrapper_supports_builder_chaining() {
578+
let opts = ActivityOptions::with_schedule_to_close_timeout(Duration::from_secs(5))
579+
.heartbeat_timeout(Duration::from_secs(2))
580+
.build();
590581

591582
assert_eq!(
592583
opts.close_timeout,
593584
ActivityCloseTimeouts::ScheduleToClose(Duration::from_secs(5))
594585
);
595-
assert_eq!(opts.schedule_to_start_timeout, None);
596-
assert_eq!(opts.heartbeat_timeout, None);
586+
assert_eq!(opts.heartbeat_timeout, Some(Duration::from_secs(2)));
597587
}
598588

599589
#[test]

0 commit comments

Comments
 (0)