@@ -10,9 +10,9 @@ const calls: {
1010
1111let getError : unknown
1212let getFactory : ( ( name : string ) => Record < string , unknown > ) | undefined
13- let createGate : Promise < Record < string , unknown > > | undefined
13+ let createGate : ( ( ) => Promise < Record < string , unknown > > ) | undefined
1414let mkdirError : unknown
15- let deleteGate : Promise < Record < string , never > > | undefined
15+ let deleteGate : ( ( ) => Promise < Record < string , never > > ) | undefined
1616
1717let getStatus : string | undefined = 'DEPLOYED'
1818
@@ -73,13 +73,12 @@ vi.mock('@blaxel/core', () => ({
7373 SandboxInstance : {
7474 createIfNotExists : async ( config : Record < string , unknown > ) => {
7575 calls . created . push ( config )
76- return (
77- createGate ??
78- fakeInstance (
79- String ( config . name ) ,
80- config . labels as Record < string , string > | undefined ,
81- )
82- )
76+ return createGate
77+ ? await createGate ( )
78+ : fakeInstance (
79+ String ( config . name ) ,
80+ config . labels as Record < string , string > | undefined ,
81+ )
8382 } ,
8483 get : async ( name : string ) => {
8584 calls . got . push ( name )
@@ -88,7 +87,7 @@ vi.mock('@blaxel/core', () => ({
8887 } ,
8988 delete : async ( name : string ) => {
9089 calls . deleted . push ( name )
91- return deleteGate ?? { }
90+ return deleteGate ? await deleteGate ( ) : { }
9291 } ,
9392 } ,
9493} ) )
@@ -244,9 +243,10 @@ describe('blaxelSandbox create', () => {
244243
245244 it ( 'aborts an in-flight create and deletes the late billed sandbox' , async ( ) => {
246245 let resolveCreate ! : ( sandbox : Record < string , unknown > ) => void
247- createGate = new Promise ( ( resolve ) => {
248- resolveCreate = resolve
249- } )
246+ createGate = ( ) =>
247+ new Promise ( ( resolve ) => {
248+ resolveCreate = resolve
249+ } )
250250 const controller = new AbortController ( )
251251 const provider = blaxelSandbox ( )
252252 const creating = provider . create ( {
@@ -266,7 +266,7 @@ describe('blaxelSandbox create', () => {
266266 } )
267267
268268 it ( 'deletes an aborted create whose SDK promise never settles' , async ( ) => {
269- createGate = new Promise ( ( ) => undefined )
269+ createGate = ( ) => new Promise ( ( ) => undefined )
270270 let visible = false
271271 let visibilityScheduled = false
272272 getFactory = ( name ) => {
@@ -312,9 +312,12 @@ describe('blaxelSandbox create', () => {
312312
313313 it ( 'never deletes a same-name sandbox reused by concurrent callers' , async ( ) => {
314314 mkdirError = new Error ( 'mkdir failed' )
315- createGate = Promise . resolve (
316- fakeInstance ( 'shared' , { 'tanstack-ai-create-attempt' : 'other-attempt' } ) ,
317- )
315+ createGate = ( ) =>
316+ Promise . resolve (
317+ fakeInstance ( 'shared' , {
318+ 'tanstack-ai-create-attempt' : 'other-attempt' ,
319+ } ) ,
320+ )
318321 const provider = blaxelSandbox ( )
319322 const results = await Promise . allSettled ( [
320323 provider . create ( { id : 'shared' } ) ,
@@ -328,7 +331,8 @@ describe('blaxelSandbox create', () => {
328331 } )
329332
330333 it ( 'reconciles and deletes an owned create accepted before a late 504' , async ( ) => {
331- createGate = Promise . reject ( { status : 504 , message : 'gateway timeout' } )
334+ createGate = ( ) =>
335+ Promise . reject ( { status : 504 , message : 'gateway timeout' } )
332336 getFactory = ( name ) =>
333337 fakeInstance (
334338 name ,
@@ -345,13 +349,14 @@ describe('blaxelSandbox create', () => {
345349 } )
346350
347351 it ( 'reports cleanup failure after reconciling an accepted create error' , async ( ) => {
348- createGate = Promise . reject ( { status : 504 , message : 'gateway timeout' } )
352+ createGate = ( ) =>
353+ Promise . reject ( { status : 504 , message : 'gateway timeout' } )
349354 getFactory = ( name ) =>
350355 fakeInstance (
351356 name ,
352357 calls . created [ 0 ] ?. labels as Record < string , string > | undefined ,
353358 )
354- deleteGate = Promise . reject ( { status : 500 , message : 'delete failed' } )
359+ deleteGate = ( ) => Promise . reject ( { status : 500 , message : 'delete failed' } )
355360 const provider = blaxelSandbox ( )
356361 await expect (
357362 provider . create ( { id : 'accepted-cleanup-failed' } ) ,
@@ -361,7 +366,7 @@ describe('blaxelSandbox create', () => {
361366
362367 it ( 'reports both preparation and owned-sandbox cleanup failures' , async ( ) => {
363368 mkdirError = new Error ( 'mkdir failed' )
364- deleteGate = Promise . reject ( { status : 500 , message : 'delete failed' } )
369+ deleteGate = ( ) => Promise . reject ( { status : 500 , message : 'delete failed' } )
365370 const provider = blaxelSandbox ( )
366371 await expect ( provider . create ( { id : 'cleanup-failed' } ) ) . rejects . toThrow (
367372 / c l e a n u p a l s o f a i l e d | c o u l d n o t b e c l e a n e d u p / ,
@@ -443,13 +448,13 @@ describe('blaxelSandbox destroy', () => {
443448 } )
444449
445450 it ( 'treats an already deleted sandbox as a successful destroy' , async ( ) => {
446- deleteGate = Promise . reject ( { code : 404 } )
451+ deleteGate = ( ) => Promise . reject ( { code : 404 } )
447452 const provider = blaxelSandbox ( )
448453 await expect ( provider . destroy ( { id : 'sb-gone' } ) ) . resolves . toBeUndefined ( )
449454 } )
450455
451456 it ( 'does not hang past the destroy signal when the SDK call stalls' , async ( ) => {
452- deleteGate = new Promise ( ( ) => { } )
457+ deleteGate = ( ) => new Promise ( ( ) => { } )
453458 const controller = new AbortController ( )
454459 const provider = blaxelSandbox ( )
455460 const destroying = provider . destroy ( {
0 commit comments