@@ -31,7 +31,7 @@ describe('pm.execution.runRequest handling', function () {
3131 new collectionRunner ( ) . run ( collection ,
3232 {
3333 script : {
34- requestResolver ( _requestId , callback ) {
34+ requestResolver ( _requestId , _nestedRequestContext , callback ) {
3535 callback ( null , {
3636 item : {
3737 id : 'nested-request-id' ,
@@ -90,6 +90,66 @@ describe('pm.execution.runRequest handling', function () {
9090 } ) ;
9191 } ) ;
9292
93+ it ( 'should provide req metadata from event.requests object to resolver along with root req id' , function ( done ) {
94+ const requestsMeta = {
95+ // Refer to postman-collection package to know more about this field
96+ 'nested-request-id' : {
97+ location : [ 'Collection Name' , 'Folder Name' , 'Request Name' ]
98+ }
99+ } ,
100+ collection = new sdk . Collection ( {
101+ item : [ {
102+ id : 'root-request-id' ,
103+ event : [ {
104+ listen : 'prerequest' ,
105+ script : {
106+ exec : `
107+ await pm.execution.runRequest("nested-request-id");
108+ await pm.execution.runRequest("nested-request-id-without-fallback");
109+ ` ,
110+ requests : requestsMeta
111+ }
112+ } ] ,
113+ request : {
114+ url : 'https://postman-echo.com/get' ,
115+ method : 'GET'
116+ }
117+ } ]
118+ } ) ;
119+
120+ new collectionRunner ( ) . run ( collection , {
121+ script : {
122+ requestResolver : ( nestedRequestId , nestedRequestContext , callback ) => {
123+ expect ( typeof callback ) . to . eql ( 'function' ) ;
124+ expect ( nestedRequestContext ) . to . be . ok ;
125+ expect ( nestedRequestContext . rootItemId ) . to . eql ( 'root-request-id' ) ;
126+
127+ if ( nestedRequestId === 'nested-request-id' ) {
128+ expect ( nestedRequestContext . nestedRequestMeta ) . to . eql ( requestsMeta [ 'nested-request-id' ] ) ;
129+ }
130+
131+ if ( nestedRequestId === 'nested-request-id-without-fallback' ) {
132+ // Should be empty for this request
133+ expect ( nestedRequestContext . nestedRequestMeta ) . to . not . be . ok ;
134+ }
135+
136+ return callback ( null , {
137+ item : {
138+ id : 'nested-request-id' ,
139+ request : { url : 'https://postman-echo.com/post' , method : 'POST' }
140+ }
141+ } ) ;
142+ }
143+ }
144+ } , function ( _err , run ) {
145+ run . start ( {
146+ done ( err ) {
147+ done ( err ) ;
148+ }
149+ } ) ;
150+ } ) ;
151+ } ) ;
152+
93153 it ( 'should handle for exceptions thrown from nested request parsing or uncaught errors' , function ( done ) {
94154 const collection = new sdk . Collection ( {
95155 item : [ {
@@ -117,7 +177,7 @@ describe('pm.execution.runRequest handling', function () {
117177 new collectionRunner ( ) . run ( collection ,
118178 {
119179 script : {
120- requestResolver ( _requestId , callback ) {
180+ requestResolver ( _requestId , _nestedRequestContext , callback ) {
121181 callback ( null , {
122182 item : {
123183 id : 'nested-request-id' ,
@@ -172,7 +232,7 @@ describe('pm.execution.runRequest handling', function () {
172232 new collectionRunner ( ) . run ( collection ,
173233 {
174234 script : {
175- requestResolver ( _requestId , callback ) {
235+ requestResolver ( _requestId , _nestedRequestContext , callback ) {
176236 callback ( null , {
177237 item : {
178238 id : 'nested-request-id' ,
@@ -237,7 +297,7 @@ describe('pm.execution.runRequest handling', function () {
237297 new collectionRunner ( ) . run ( collection ,
238298 {
239299 script : {
240- requestResolver ( _requestId , callback ) {
300+ requestResolver ( _requestId , _nestedRequestContext , callback ) {
241301 callback ( null , {
242302 item : {
243303 id : 'nested-request-id' ,
@@ -331,7 +391,7 @@ describe('pm.execution.runRequest handling', function () {
331391 new collectionRunner ( ) . run ( collection ,
332392 {
333393 script : {
334- requestResolver ( _requestId , callback ) {
394+ requestResolver ( _requestId , _nestedRequestContext , callback ) {
335395 callback ( null , {
336396 item : {
337397 id : 'nested-request-id' ,
@@ -412,7 +472,7 @@ describe('pm.execution.runRequest handling', function () {
412472 new collectionRunner ( ) . run ( collection ,
413473 {
414474 script : {
415- requestResolver ( _requestId , callback ) {
475+ requestResolver ( _requestId , _nestedRequestContext , callback ) {
416476 callback ( null , {
417477 item : {
418478 id : 'nested-request-id' ,
@@ -477,7 +537,7 @@ describe('pm.execution.runRequest handling', function () {
477537 new collectionRunner ( ) . run ( collection ,
478538 {
479539 script : {
480- requestResolver ( _requestId , callback ) {
540+ requestResolver ( _requestId , _nestedRequestContext , callback ) {
481541 callback ( null , {
482542 item : {
483543 id : 'nested-request-id' ,
@@ -527,7 +587,7 @@ describe('pm.execution.runRequest handling', function () {
527587 new collectionRunner ( ) . run ( collection ,
528588 {
529589 script : {
530- requestResolver ( _requestId , callback ) {
590+ requestResolver ( _requestId , _nestedRequestContext , callback ) {
531591 callback ( null , {
532592 item : {
533593 id : 'nested-request-id' ,
@@ -595,7 +655,7 @@ describe('pm.execution.runRequest handling', function () {
595655 new collectionRunner ( ) . run ( collection ,
596656 {
597657 script : {
598- requestResolver ( _requestId , callback ) {
658+ requestResolver ( _requestId , _nestedRequestContext , callback ) {
599659 callback ( null , {
600660 item : {
601661 id : 'nested-request-id' ,
@@ -683,7 +743,7 @@ describe('pm.execution.runRequest handling', function () {
683743 {
684744 vaultSecrets : vaultSecrets ,
685745 script : {
686- requestResolver ( _requestId , callback ) {
746+ requestResolver ( _requestId , _nestedRequestContext , callback ) {
687747 callback ( null , {
688748 item : {
689749 id : 'nested-request-id' ,
@@ -761,7 +821,7 @@ describe('pm.execution.runRequest handling', function () {
761821 new collectionRunner ( ) . run ( collection ,
762822 {
763823 script : {
764- requestResolver ( _requestId , callback ) {
824+ requestResolver ( _requestId , _nestedRequestContext , callback ) {
765825 callback ( null , {
766826 item : {
767827 id : 'nested-request-id' ,
@@ -833,7 +893,7 @@ describe('pm.execution.runRequest handling', function () {
833893 new collectionRunner ( ) . run ( collection ,
834894 {
835895 script : {
836- requestResolver ( _requestId , callback ) {
896+ requestResolver ( _requestId , _nestedRequestContext , callback ) {
837897 callback ( null , {
838898 item : {
839899 id : 'nested-request-id' ,
@@ -906,7 +966,7 @@ describe('pm.execution.runRequest handling', function () {
906966 new collectionRunner ( ) . run ( collection ,
907967 {
908968 script : {
909- requestResolver ( _requestId , callback ) {
969+ requestResolver ( _requestId , _nestedRequestContext , callback ) {
910970 callback ( null , {
911971 item : {
912972 id : 'nested-request-id' ,
0 commit comments