@@ -449,7 +449,7 @@ describe('HttpLoadBalancer', () => {
449449 loadBalancer = createLoadBalancer ( config )
450450
451451 // Wait for health check to run
452- await new Promise ( ( resolve ) => setTimeout ( resolve , 150 ) )
452+ await new Promise ( ( resolve ) => setTimeout ( resolve , 600 ) )
453453
454454 expect ( fetchCallCount ) . toBeGreaterThan ( 0 )
455455
@@ -478,7 +478,7 @@ describe('HttpLoadBalancer', () => {
478478 loadBalancer = createLoadBalancer ( config )
479479
480480 // Wait for health check to run
481- await new Promise ( ( resolve ) => setTimeout ( resolve , 150 ) )
481+ await new Promise ( ( resolve ) => setTimeout ( resolve , 600 ) )
482482
483483 const targets = loadBalancer . getHealthyTargets ( )
484484 expect ( targets . length ) . toBe ( 1 )
@@ -506,7 +506,7 @@ describe('HttpLoadBalancer', () => {
506506 loadBalancer = createLoadBalancer ( config )
507507
508508 // Wait for health check to run and fail
509- await new Promise ( ( resolve ) => setTimeout ( resolve , 200 ) )
509+ await new Promise ( ( resolve ) => setTimeout ( resolve , 600 ) )
510510
511511 const stats = loadBalancer . getStats ( )
512512 // Health check should have marked target as unhealthy
@@ -548,7 +548,7 @@ describe('HttpLoadBalancer', () => {
548548 loadBalancer = createLoadBalancer ( config )
549549
550550 // Wait for health check to timeout
551- await new Promise ( ( resolve ) => setTimeout ( resolve , 200 ) )
551+ await new Promise ( ( resolve ) => setTimeout ( resolve , 600 ) )
552552
553553 const stats = loadBalancer . getStats ( )
554554 expect ( stats . healthyTargets ) . toBe ( 0 ) // Should be marked unhealthy due to timeout
@@ -558,9 +558,14 @@ describe('HttpLoadBalancer', () => {
558558
559559 test ( 'skips health checks when disabled' , async ( ) => {
560560 let fetchCalled = false
561+ const uniquePath = '/health-disabled-unique'
561562
562- const fetchSpy = createFetchSpy ( async ( ) => {
563- fetchCalled = true
563+ const fetchSpy = createFetchSpy ( async ( url : string | URL | Request ) => {
564+ let href = ''
565+ if ( typeof url === 'string' ) href = url
566+ else if ( url instanceof URL ) href = url . toString ( )
567+ else if ( url instanceof Request ) href = url . url
568+ if ( href . includes ( uniquePath ) ) fetchCalled = true
564569 return new Response ( 'OK' , { status : 200 } )
565570 } )
566571
@@ -571,14 +576,14 @@ describe('HttpLoadBalancer', () => {
571576 enabled : false ,
572577 interval : 100 ,
573578 timeout : 1000 ,
574- path : '/health' ,
579+ path : uniquePath ,
575580 } ,
576581 }
577582
578583 loadBalancer = createLoadBalancer ( config )
579584
580585 // Wait to ensure no health checks run
581- await new Promise ( ( resolve ) => setTimeout ( resolve , 150 ) )
586+ await new Promise ( ( resolve ) => setTimeout ( resolve , 500 ) )
582587
583588 expect ( fetchCalled ) . toBe ( false )
584589
@@ -651,7 +656,7 @@ describe('HttpLoadBalancer', () => {
651656 loadBalancer . selectTarget ( request ) // Creates session
652657
653658 // Wait for session to expire and cleanup to run
654- await new Promise ( ( resolve ) => setTimeout ( resolve , 100 ) )
659+ await new Promise ( ( resolve ) => setTimeout ( resolve , 500 ) )
655660
656661 // Sessions should be cleaned up (we can't directly test internal state but ensure no errors)
657662 expect ( true ) . toBe ( true )
@@ -966,7 +971,7 @@ describe('HttpLoadBalancer', () => {
966971 loadBalancer . selectTarget ( request ) // Creates session
967972
968973 // Wait for potential session cleanup
969- await new Promise ( ( resolve ) => setTimeout ( resolve , 100 ) )
974+ await new Promise ( ( resolve ) => setTimeout ( resolve , 500 ) )
970975
971976 // Should handle session cleanup without errors
972977 expect ( true ) . toBe ( true )
@@ -1261,7 +1266,7 @@ describe('HttpLoadBalancer', () => {
12611266 expect ( target ) . not . toBeNull ( )
12621267
12631268 // Wait for session to expire and cleanup to run
1264- await new Promise ( ( resolve ) => setTimeout ( resolve , 60 ) )
1269+ await new Promise ( ( resolve ) => setTimeout ( resolve , 300 ) )
12651270
12661271 // Force another selection to trigger potential cleanup
12671272 const newTarget = balancer . selectTarget ( request )
@@ -1297,7 +1302,7 @@ describe('HttpLoadBalancer', () => {
12971302 expect ( target3 ) . not . toBeNull ( )
12981303
12991304 // Wait longer to ensure sessions expire and cleanup runs
1300- await new Promise ( ( resolve ) => setTimeout ( resolve , 120 ) )
1305+ await new Promise ( ( resolve ) => setTimeout ( resolve , 500 ) )
13011306
13021307 // Trigger more operations that might involve session cleanup
13031308 const newRequest = createMockRequest ( 'new-agent' )
@@ -1371,7 +1376,7 @@ describe('HttpLoadBalancer', () => {
13711376 expect ( target ) . not . toBeNull ( )
13721377
13731378 // Wait for cleanup to potentially run
1374- await new Promise ( ( resolve ) => setTimeout ( resolve , 70 ) )
1379+ await new Promise ( ( resolve ) => setTimeout ( resolve , 300 ) )
13751380
13761381 balancer . destroy ( )
13771382 } )
@@ -1394,7 +1399,7 @@ describe('HttpLoadBalancer', () => {
13941399 const balancer = new HttpLoadBalancer ( config )
13951400
13961401 // Let some health checks run and potentially use cache
1397- await new Promise ( ( resolve ) => setTimeout ( resolve , 70 ) )
1402+ await new Promise ( ( resolve ) => setTimeout ( resolve , 300 ) )
13981403
13991404 balancer . destroy ( )
14001405 } )
@@ -1626,7 +1631,7 @@ describe('HttpLoadBalancer', () => {
16261631 } )
16271632
16281633 // Trigger cleanup by waiting for interval
1629- await new Promise ( ( resolve ) => setTimeout ( resolve , 20 ) )
1634+ await new Promise ( ( resolve ) => setTimeout ( resolve , 200 ) )
16301635
16311636 balancer . destroy ( )
16321637 } )
@@ -1678,7 +1683,7 @@ describe('HttpLoadBalancer', () => {
16781683 // Wait a bit longer to allow the cleanup interval to run at least once
16791684 // The cleanup runs every 5 minutes (300000ms) in the real implementation
16801685 // but the expired sessions should be cleaned immediately on the next interval
1681- await new Promise ( ( resolve ) => setTimeout ( resolve , 30 ) )
1686+ await new Promise ( ( resolve ) => setTimeout ( resolve , 200 ) )
16821687
16831688 // Force another operation that might trigger cleanup
16841689 const request2 = createMockRequest ( 'different-agent' )
0 commit comments