@@ -480,6 +480,57 @@ def test_default_build_id
480480 end
481481 end
482482
483+ def test_deployment_options_without_versioning
484+ build_id = 'my-custom-build-id-1.0'
485+ worker = Temporalio ::Worker . new (
486+ client : env . client ,
487+ task_queue : "tq-#{ SecureRandom . uuid } " ,
488+ workflows : [ NoVersioningAnnotationWorkflow ] ,
489+ deployment_options : Temporalio ::Worker ::DeploymentOptions . new (
490+ version : Temporalio ::WorkerDeploymentVersion . new (
491+ deployment_name : "deployment-#{ SecureRandom . uuid } " ,
492+ build_id : build_id
493+ ) ,
494+ use_worker_versioning : false
495+ )
496+ )
497+
498+ worker . run do
499+ handle = env . client . start_workflow (
500+ NoVersioningAnnotationWorkflow ,
501+ id : "no-versioning-build-id-#{ SecureRandom . uuid } " ,
502+ task_queue : worker . task_queue
503+ )
504+ handle . result
505+
506+ events = handle . fetch_history . events
507+ has_build_id = events . any? do |event |
508+ event . workflow_task_completed_event_attributes &&
509+ event . workflow_task_completed_event_attributes . worker_version &.build_id == build_id
510+ end
511+ assert has_build_id , 'Expected custom build ID to appear in workflow history'
512+ end
513+ end
514+
515+ def test_rejects_versioning_behavior_when_versioning_off
516+ err = assert_raises ( ArgumentError ) do
517+ Temporalio ::Worker . new (
518+ client : env . client ,
519+ task_queue : "tq-#{ SecureRandom . uuid } " ,
520+ workflows : [ NoVersioningAnnotationWorkflow ] ,
521+ deployment_options : Temporalio ::Worker ::DeploymentOptions . new (
522+ version : Temporalio ::WorkerDeploymentVersion . new (
523+ deployment_name : "deployment-#{ SecureRandom . uuid } " ,
524+ build_id : '1.0'
525+ ) ,
526+ use_worker_versioning : false ,
527+ default_versioning_behavior : Temporalio ::VersioningBehavior ::AUTO_UPGRADE
528+ )
529+ )
530+ end
531+ assert_includes err . message , 'default_versioning_behavior must be UNSPECIFIED'
532+ end
533+
483534 def wait_until_worker_deployment_visible ( client , version )
484535 assert_eventually do
485536 res = client . workflow_service . describe_worker_deployment (
0 commit comments