@@ -490,100 +490,6 @@ async fn workflow_observes_non_retryable_activity() {
490490 worker. run_until_done ( ) . await . unwrap ( ) ;
491491}
492492
493- #[ tokio:: test]
494- async fn workflow_observes_non_retryable_activity_failure_builder ( ) {
495- let mut starter =
496- CoreWfStarter :: new ( "workflow-observes-non-retryable-activity-failure-builder" ) ;
497- starter
498- . sdk_config
499- . register_activities ( NonRetryableActivityBuilderActivities ) ;
500- let mut worker = starter. worker ( ) . await ;
501-
502- #[ workflow]
503- #[ derive( Default ) ]
504- struct NonRetryableActivityFailureBuilderWorkflow ;
505-
506- #[ workflow_methods]
507- impl NonRetryableActivityFailureBuilderWorkflow {
508- #[ run]
509- async fn run ( ctx : & mut WorkflowContext < Self > ) -> WorkflowResult < ( ) > {
510- let err = ctx
511- . start_activity (
512- NonRetryableActivityBuilderActivities :: fail_non_retryable_with_builder,
513- ( ) ,
514- ActivityOptions :: with_start_to_close_timeout ( Duration :: from_secs ( 5 ) )
515- . activity_id ( "non-retryable-builder-act" . to_owned ( ) )
516- . retry_policy ( RetryPolicy {
517- maximum_attempts : 3 ,
518- ..Default :: default ( )
519- } )
520- . build ( ) ,
521- )
522- . await
523- . unwrap_err ( ) ;
524-
525- let ActivityExecutionError :: Failed ( fail_err) = err else {
526- panic ! ( "expected activity failure, got {err:?}" ) ;
527- } ;
528- assert_eq ! ( fail_err. activity_id( ) , "non-retryable-builder-act" ) ;
529- assert_eq ! (
530- fail_err
531- . activity_type( )
532- . map( |activity_type| activity_type. name. as_str( ) ) ,
533- Some ( NonRetryableActivityBuilderActivities :: fail_non_retryable_with_builder. name( ) )
534- ) ;
535- assert_eq ! ( fail_err. retry_state( ) , RetryState :: NonRetryableFailure ) ;
536-
537- let Some ( IncomingError :: Application ( app_err) ) = fail_err. cause ( ) else {
538- panic ! ( "expected application failure cause, got {fail_err:?}" ) ;
539- } ;
540- assert_eq ! (
541- app_err. type_name( ) ,
542- Some ( "workflow-observed-non-retryable-builder" )
543- ) ;
544- assert ! ( app_err. is_non_retryable( ) ) ;
545- assert_eq ! ( app_err. category( ) , ApplicationErrorCategory :: Benign ) ;
546- assert_eq ! (
547- app_err. to_string( ) ,
548- "non-retryable activity failure with builder"
549- ) ;
550- assert ! ( app_err. failure( ) . is_some( ) ) ;
551- Ok ( ( ) )
552- }
553- }
554-
555- struct NonRetryableActivityBuilderActivities ;
556-
557- #[ activities]
558- impl NonRetryableActivityBuilderActivities {
559- #[ activity]
560- async fn fail_non_retryable_with_builder (
561- _ctx : ActivityContext ,
562- ) -> Result < ( ) , ActivityError > {
563- Err ( ActivityError :: application (
564- ApplicationFailure :: builder ( anyhow ! ( "non-retryable activity failure with builder" ) )
565- . type_name ( "workflow-observed-non-retryable-builder" . to_owned ( ) )
566- . non_retryable ( true )
567- . category ( ApplicationErrorCategory :: Benign )
568- . build ( ) ,
569- ) )
570- }
571- }
572-
573- worker. register_workflow :: < NonRetryableActivityFailureBuilderWorkflow > ( ) ;
574-
575- let task_queue = starter. get_task_queue ( ) . to_owned ( ) ;
576- worker
577- . submit_workflow (
578- NonRetryableActivityFailureBuilderWorkflow :: run,
579- ( ) ,
580- WorkflowStartOptions :: new ( task_queue. clone ( ) , task_queue) . build ( ) ,
581- )
582- . await
583- . unwrap ( ) ;
584- worker. run_until_done ( ) . await . unwrap ( ) ;
585- }
586-
587493#[ tokio:: test]
588494async fn activity_retry ( ) {
589495 let mut starter = init_core_and_create_wf ( "activity_retry" ) . await ;
0 commit comments