@@ -7,25 +7,44 @@ const assignment = {
77 region : "us-east-1" ,
88 envType : "PRODUCTION" ,
99 orgFeatureFlags : null ,
10- globalDefault : false ,
10+ v2Enabled : true ,
11+ splitEnabled : true ,
1112 workerGroups : [ { masterQueue : "us-east-1-next" , workloadType : "MICROVM" as const } ] ,
1213 rootTriggerSource : "api" ,
13- splitEnabled : true ,
1414} ;
1515
1616describe ( "workerQueueForBirth" , ( ) => {
17- it ( "keeps legacy assignment and scheduled lineage when v2 is off" , ( ) => {
18- expect ( workerQueueForBirth ( assignment ) ) . toBe ( "us-east-1-next" ) ;
19- expect ( workerQueueForBirth ( { ...assignment , rootTriggerSource : "schedule" } ) ) . toBe (
20- "us-east-1-next:scheduled"
21- ) ;
17+ it . each ( [ false , true ] ) (
18+ "keeps legacy assignment when v2 is disabled (split=%s)" ,
19+ ( splitEnabled ) => {
20+ expect (
21+ workerQueueForBirth ( {
22+ ...assignment ,
23+ workerQueue : "my workers" ,
24+ region : undefined ,
25+ workerGroups : [ { masterQueue : "my workers" , workloadType : "CONTAINER" } ] ,
26+ v2Enabled : false ,
27+ splitEnabled,
28+ rootTriggerSource : "schedule" ,
29+ orgFeatureFlags : {
30+ workerQueueV2Enabled : true ,
31+ workerQueueScheduledSplitEnabled : true ,
32+ } ,
33+ } )
34+ ) . toBe ( splitEnabled ? "my workers:scheduled" : "my workers" ) ;
35+ }
36+ ) ;
37+
38+ it ( "keeps scheduled runs on the ondemand v2 queue when the split is disabled" , ( ) => {
39+ expect (
40+ workerQueueForBirth ( { ...assignment , splitEnabled : false , rootTriggerSource : "schedule" } )
41+ ) . toBe ( "us-east-1:v2:ondemand:fresh:compute:stable" ) ;
2242 } ) ;
2343
2444 it ( "keeps legacy routing when the selected queue is absent from a loaded registry" , ( ) => {
2545 const input = {
2646 ...assignment ,
2747 region : assignment . workerQueue ,
28- globalDefault : true ,
2948 workerGroups : [ { masterQueue : "us-west-2" , workloadType : "CONTAINER" as const } ] ,
3049 } ;
3150 expect ( workerQueueForBirth ( input ) ) . toBe ( "us-east-1-next" ) ;
@@ -34,25 +53,21 @@ describe("workerQueueForBirth", () => {
3453 ) ;
3554 } ) ;
3655
37- it ( "uses the geographic region and selected runtime when v2 is enabled" , ( ) => {
38- expect ( workerQueueForBirth ( { ...assignment , globalDefault : true } ) ) . toBe (
39- "us-east-1:v2:ondemand:fresh:compute:stable"
40- ) ;
56+ it ( "uses the geographic region and selected runtime for deployed runs" , ( ) => {
57+ expect ( workerQueueForBirth ( assignment ) ) . toBe ( "us-east-1:v2:ondemand:fresh:compute:stable" ) ;
4158 expect (
4259 workerQueueForBirth ( {
4360 ...assignment ,
44- globalDefault : true ,
4561 workerGroups : [ { masterQueue : "us-east-1-next" , workloadType : "CONTAINER" } ] ,
4662 } )
4763 ) . toBe ( "us-east-1:v2:ondemand:fresh:container:stable" ) ;
4864 } ) ;
4965
50- it ( "honors org opt-in, channel and explicit shared-runtime assignment" , ( ) => {
66+ it ( "honors channel and explicit shared-runtime assignment" , ( ) => {
5167 expect (
5268 workerQueueForBirth ( {
5369 ...assignment ,
5470 orgFeatureFlags : {
55- [ FEATURE_FLAG . workerQueueV2Enabled ] : true ,
5671 [ FEATURE_FLAG . workerQueueCompatibility ] : "any" ,
5772 [ FEATURE_FLAG . workerQueueChannel ] : "canary" ,
5873 } ,
@@ -61,25 +76,29 @@ describe("workerQueueForBirth", () => {
6176 ) . toBe ( "us-east-1:v2:scheduled:fresh:any:canary" ) ;
6277 } ) ;
6378
64- it ( "honors org opt-out even when the global default is enabled " , ( ) => {
79+ it ( "ignores obsolete opt-outs for v2 and scheduled assignment " , ( ) => {
6580 expect (
6681 workerQueueForBirth ( {
6782 ...assignment ,
68- globalDefault : true ,
69- orgFeatureFlags : { [ FEATURE_FLAG . workerQueueV2Enabled ] : false } ,
83+ orgFeatureFlags : {
84+ workerQueueV2Enabled : false ,
85+ workerQueueScheduledSplitEnabled : false ,
86+ } ,
87+ rootTriggerSource : "schedule" ,
7088 } )
71- ) . toBe ( "us-east-1-next " ) ;
89+ ) . toBe ( "us-east-1:v2:scheduled:fresh:compute:stable " ) ;
7290 } ) ;
7391
74- it ( "leaves development on the legacy path even with an org opt-in" , ( ) => {
75- expect (
76- workerQueueForBirth ( {
77- ...assignment ,
78- envType : "DEVELOPMENT" ,
79- splitEnabled : false ,
80- globalDefault : true ,
81- orgFeatureFlags : { [ FEATURE_FLAG . workerQueueV2Enabled ] : true } ,
82- } )
83- ) . toBe ( "us-east-1-next" ) ;
84- } ) ;
92+ it . each ( [ "api" , "schedule" ] ) (
93+ "leaves development on the base legacy queue for %s" ,
94+ ( rootTriggerSource ) => {
95+ expect (
96+ workerQueueForBirth ( {
97+ ...assignment ,
98+ envType : "DEVELOPMENT" ,
99+ rootTriggerSource,
100+ } )
101+ ) . toBe ( "us-east-1-next" ) ;
102+ }
103+ ) ;
85104} ) ;
0 commit comments