@@ -3413,19 +3413,42 @@ test('onRequestAbort should be triggered', t => {
3413
3413
const fastify = Fastify ( )
3414
3414
let order = 0
3415
3415
3416
- t . plan ( 3 )
3416
+ t . plan ( 9 )
3417
3417
t . teardown ( ( ) => fastify . close ( ) )
3418
3418
3419
3419
fastify . addHook ( 'onRequestAbort' , function ( req , done ) {
3420
3420
t . equal ( ++ order , 1 , 'called in hook' )
3421
+ t . ok ( req . pendingResolve , 'request has pendingResolve' )
3422
+ req . pendingResolve ( )
3423
+ done ( )
3424
+ } )
3425
+
3426
+ fastify . addHook ( 'onError' , function hook ( request , reply , error , done ) {
3427
+ t . same ( error , { hello : 'world' } , 'onError should be called' )
3428
+ t . ok ( request . raw . aborted , 'request should be aborted' )
3429
+ done ( )
3430
+ } )
3431
+
3432
+ fastify . addHook ( 'onSend' , function hook ( request , reply , payload , done ) {
3433
+ t . equal ( payload , '{"hello":"world"}' , 'onSend should be called' )
3434
+ done ( null , payload )
3435
+ } )
3436
+
3437
+ fastify . addHook ( 'onResponse' , function hook ( request , reply , done ) {
3438
+ t . fail ( 'onResponse should not be called' )
3421
3439
done ( )
3422
3440
} )
3423
3441
3424
3442
fastify . route ( {
3425
3443
method : 'GET' ,
3426
3444
path : '/' ,
3427
3445
async handler ( request , reply ) {
3428
- await sleep ( 1000 )
3446
+ t . pass ( 'handler called' )
3447
+ let resolvePromise
3448
+ const promise = new Promise ( resolve => { resolvePromise = resolve } )
3449
+ request . pendingResolve = resolvePromise
3450
+ await promise
3451
+ t . pass ( 'handler promise resolved' )
3429
3452
return { hello : 'world' }
3430
3453
} ,
3431
3454
async onRequestAbort ( req ) {
0 commit comments