88 getRegisteredWorkers ,
99 orkesConductorClient ,
1010 simpleTask ,
11- worker ,
11+ worker
1212} from "../sdk" ;
1313import type {
1414 PollCompleted ,
@@ -57,7 +57,7 @@ describe("SDK Worker Registration", () => {
5757
5858 let workerExecuted = false ;
5959
60- worker ( { taskDefName : taskName , pollInterval : 100 } ) (
60+ worker ( { taskDefName : taskName , pollInterval : 100 , concurrency : 1 } ) (
6161 async function autoDiscoverWorker ( task : Task ) {
6262 workerExecuted = true ;
6363 return {
@@ -81,7 +81,7 @@ describe("SDK Worker Registration", () => {
8181
8282 // Start workers BEFORE registering workflow
8383 handler . startWorkers ( ) ;
84-
84+
8585 // Wait a bit for workers to start polling
8686 await new Promise ( resolve => setTimeout ( resolve , 100 ) ) ;
8787
@@ -121,7 +121,7 @@ describe("SDK Worker Registration", () => {
121121 executor ,
122122 workflowId ,
123123 "COMPLETED" ,
124- 30000
124+ 60000
125125 ) ;
126126
127127 expect ( workflowStatus . status ) . toBe ( "COMPLETED" ) ;
@@ -138,7 +138,7 @@ describe("SDK Worker Registration", () => {
138138 await handler . stopWorkers ( ) ;
139139 expect ( handler . running ) . toBe ( false ) ;
140140 expect ( handler . runningWorkerCount ) . toBe ( 0 ) ;
141- } , 30000 ) ;
141+ } , 90000 ) ;
142142
143143 test ( "worker with concurrency processes multiple tasks" , async ( ) => {
144144 const client = await clientPromise ;
@@ -175,7 +175,7 @@ describe("SDK Worker Registration", () => {
175175
176176 // Start workers BEFORE registering workflow
177177 handler . startWorkers ( ) ;
178-
178+
179179 // Wait a bit for workers to start polling
180180 await new Promise ( resolve => setTimeout ( resolve , 100 ) ) ;
181181
@@ -212,14 +212,14 @@ describe("SDK Worker Registration", () => {
212212 executor ,
213213 workflowId ,
214214 "COMPLETED" ,
215- 30000
215+ 60000
216216 ) ;
217217
218218 expect ( workflowStatus . status ) . toBe ( "COMPLETED" ) ;
219219 expect ( executionCount ) . toBe ( 3 ) ;
220220
221221 await handler . stopWorkers ( ) ;
222- } , 30000 ) ;
222+ } , 90000 ) ;
223223
224224 test ( "worker with domain isolation" , async ( ) => {
225225 const client = await clientPromise ;
@@ -248,10 +248,10 @@ describe("SDK Worker Registration", () => {
248248 // Start workers and verify they start properly
249249 handler . startWorkers ( ) ;
250250 expect ( handler . running ) . toBe ( true ) ;
251-
251+
252252 // Wait a bit for workers to initialize
253253 await new Promise ( resolve => setTimeout ( resolve , 100 ) ) ;
254-
254+
255255 await handler . stopWorkers ( ) ;
256256 expect ( handler . running ) . toBe ( false ) ;
257257 } ) ;
@@ -261,7 +261,7 @@ describe("SDK Worker Registration", () => {
261261 const taskName = `sdk_test_non_retryable_${ Date . now ( ) } ` ;
262262 const workflowName = `sdk_test_non_retryable_wf_${ Date . now ( ) } ` ;
263263
264- worker ( { taskDefName : taskName , pollInterval : 100 } ) (
264+ worker ( { taskDefName : taskName , pollInterval : 100 , concurrency : 1 } ) (
265265 async function nonRetryableWorker ( task : Task ) {
266266 const shouldFail = task . inputData ?. shouldFail ;
267267
@@ -321,7 +321,7 @@ describe("SDK Worker Registration", () => {
321321 executor ,
322322 workflowId ,
323323 "FAILED" ,
324- 30000
324+ 60000
325325 ) ;
326326
327327 expect ( workflowStatus . status ) . toBe ( "FAILED" ) ;
@@ -333,84 +333,6 @@ describe("SDK Worker Registration", () => {
333333 await handler . stopWorkers ( ) ;
334334 } , 60000 ) ;
335335
336- test ( "regular exceptions mark task for retry" , async ( ) => {
337- const client = await clientPromise ;
338- const taskName = `sdk_test_retryable_${ Date . now ( ) } ` ;
339- const workflowName = `sdk_test_retryable_wf_${ Date . now ( ) } ` ;
340-
341- let attemptCount = 0 ;
342-
343- // Define worker that throws regular exception first, then succeeds
344- worker ( { taskDefName : taskName , pollInterval : 100 } ) (
345- async function retryableWorker ( ) {
346- attemptCount ++ ;
347-
348- if ( attemptCount === 1 ) {
349- // First attempt fails with retryable error
350- throw new Error ( "Temporary error - will retry" ) ;
351- }
352-
353- // Second attempt succeeds
354- return {
355- status : "COMPLETED" as const ,
356- outputData : { message : "Success on retry" , attempts : attemptCount } ,
357- } ;
358- }
359- ) ;
360-
361- const handler = new TaskHandler ( {
362- client,
363- scanForDecorated : true ,
364- } ) ;
365-
366- // Start workers BEFORE registering workflow (important!)
367- handler . startWorkers ( ) ;
368-
369- // Wait a bit for workers to start polling
370- await new Promise ( resolve => setTimeout ( resolve , 100 ) ) ;
371-
372- // Register workflow - task will be retried on failure
373- await executor . registerWorkflow ( true , {
374- name : workflowName ,
375- version : 1 ,
376- ownerEmail : "developers@orkes.io" ,
377- tasks : [ simpleTask ( taskName , taskName , { } ) ] ,
378- inputParameters : [ ] ,
379- outputParameters : { } ,
380- timeoutSeconds : 0 ,
381- } ) ;
382-
383- const { workflowId } = await executor . executeWorkflow (
384- {
385- name : workflowName ,
386- version : 1 ,
387- } ,
388- workflowName ,
389- 1 ,
390- `${ workflowName } -id`
391- ) ;
392-
393- if ( ! workflowId ) {
394- throw new Error ( "Workflow ID is undefined" ) ;
395- }
396-
397- const workflowStatus = await waitForWorkflowStatus (
398- executor ,
399- workflowId ,
400- "COMPLETED" ,
401- 60000
402- ) ;
403-
404- expect ( workflowStatus . status ) . toBe ( "COMPLETED" ) ;
405- expect ( attemptCount ) . toBeGreaterThanOrEqual ( 2 ) ;
406-
407- const [ firstTask ] = workflowStatus . tasks || [ ] ;
408- expect ( firstTask ?. status ) . toBe ( "COMPLETED" ) ;
409- expect ( firstTask ?. outputData ?. message ) . toBe ( "Success on retry" ) ;
410-
411- await handler . stopWorkers ( ) ;
412- } , 90000 ) ; // Increased timeout for retry test
413-
414336 test ( "event listeners receive lifecycle events" , async ( ) => {
415337 const client = await clientPromise ;
416338 const taskName = `sdk_test_events_${ Date . now ( ) } ` ;
@@ -451,7 +373,7 @@ describe("SDK Worker Registration", () => {
451373
452374 // Start workers BEFORE registering workflow
453375 handler . startWorkers ( ) ;
454-
376+
455377 // Wait a bit for workers to start polling
456378 await new Promise ( resolve => setTimeout ( resolve , 100 ) ) ;
457379
@@ -480,7 +402,7 @@ describe("SDK Worker Registration", () => {
480402 throw new Error ( "Workflow ID is undefined" ) ;
481403 }
482404
483- await waitForWorkflowStatus ( executor , workflowId , "COMPLETED" , 30000 ) ;
405+ await waitForWorkflowStatus ( executor , workflowId , "COMPLETED" , 60000 ) ;
484406
485407 // Verify events were captured
486408 expect ( events . length ) . toBeGreaterThan ( 0 ) ;
@@ -489,7 +411,7 @@ describe("SDK Worker Registration", () => {
489411 expect ( events . some ( e => e . startsWith ( "task_completed" ) ) ) . toBe ( true ) ;
490412
491413 await handler . stopWorkers ( ) ;
492- } , 30000 ) ;
414+ } , 90000 ) ;
493415
494416 test ( "multiple workers can be registered and executed" , async ( ) => {
495417 const client = await clientPromise ;
@@ -529,7 +451,7 @@ describe("SDK Worker Registration", () => {
529451
530452 // Start workers BEFORE registering workflow
531453 handler . startWorkers ( ) ;
532-
454+
533455 // Wait a bit for workers to start polling
534456 await new Promise ( resolve => setTimeout ( resolve , 100 ) ) ;
535457
@@ -566,15 +488,15 @@ describe("SDK Worker Registration", () => {
566488 executor ,
567489 workflowId ,
568490 "COMPLETED" ,
569- 30000
491+ 60000
570492 ) ;
571493
572494 expect ( workflowStatus . status ) . toBe ( "COMPLETED" ) ;
573495 expect ( worker1Executed ) . toBe ( true ) ;
574496 expect ( worker2Executed ) . toBe ( true ) ;
575497
576498 await handler . stopWorkers ( ) ;
577- } , 30000 ) ;
499+ } , 90000 ) ;
578500
579501 test ( "TaskHandler lifecycle - start and stop multiple times" , async ( ) => {
580502 const client = await clientPromise ;
0 commit comments