@@ -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 , _additionalData , callback ) {
3535 callback ( null , {
3636 item : {
3737 id : 'nested-request-id' ,
@@ -90,6 +90,65 @@ describe('pm.execution.runRequest handling', function () {
9090 } ) ;
9191 } ) ;
9292
93+ it ( 'should provide req metadata from event.requests object if resolver does not provide JSON' , 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 , additionalData , callback ) => {
123+ expect ( typeof callback ) . to . eql ( 'function' ) ;
124+ expect ( additionalData ) . to . be . ok ;
125+ expect ( additionalData . rootRequestId ) . to . eql ( 'root-request-id' ) ;
126+
127+ if ( nestedRequestId === 'nested-request-id' ) {
128+ expect ( additionalData . requestMetadataFromItem ) . to . eql ( requestsMeta [ 'nested-request-id' ] ) ;
129+ }
130+
131+ if ( nestedRequestId === 'nested-request-id-without-fallback' ) {
132+ expect ( additionalData . requestMetadataFromItem ) . to . not . be . ok ; // Should be empty for this request
133+ }
134+
135+ return callback ( null , {
136+ item : {
137+ id : 'nested-request-id' ,
138+ request : { url : 'https://postman-echo.com/post' , method : 'POST' }
139+ }
140+ } ) ;
141+ }
142+ }
143+ } , function ( _err , run ) {
144+ run . start ( {
145+ done ( err ) {
146+ done ( err ) ;
147+ }
148+ } ) ;
149+ } ) ;
150+ } ) ;
151+
93152 it ( 'should handle for exceptions thrown from nested request parsing or uncaught errors' , function ( done ) {
94153 const collection = new sdk . Collection ( {
95154 item : [ {
@@ -117,7 +176,7 @@ describe('pm.execution.runRequest handling', function () {
117176 new collectionRunner ( ) . run ( collection ,
118177 {
119178 script : {
120- requestResolver ( _requestId , callback ) {
179+ requestResolver ( _requestId , _additionalData , callback ) {
121180 callback ( null , {
122181 item : {
123182 id : 'nested-request-id' ,
@@ -172,7 +231,7 @@ describe('pm.execution.runRequest handling', function () {
172231 new collectionRunner ( ) . run ( collection ,
173232 {
174233 script : {
175- requestResolver ( _requestId , callback ) {
234+ requestResolver ( _requestId , _additionalData , callback ) {
176235 callback ( null , {
177236 item : {
178237 id : 'nested-request-id' ,
@@ -237,7 +296,7 @@ describe('pm.execution.runRequest handling', function () {
237296 new collectionRunner ( ) . run ( collection ,
238297 {
239298 script : {
240- requestResolver ( _requestId , callback ) {
299+ requestResolver ( _requestId , _additionalData , callback ) {
241300 callback ( null , {
242301 item : {
243302 id : 'nested-request-id' ,
@@ -331,7 +390,7 @@ describe('pm.execution.runRequest handling', function () {
331390 new collectionRunner ( ) . run ( collection ,
332391 {
333392 script : {
334- requestResolver ( _requestId , callback ) {
393+ requestResolver ( _requestId , _additionalData , callback ) {
335394 callback ( null , {
336395 item : {
337396 id : 'nested-request-id' ,
@@ -412,7 +471,7 @@ describe('pm.execution.runRequest handling', function () {
412471 new collectionRunner ( ) . run ( collection ,
413472 {
414473 script : {
415- requestResolver ( _requestId , callback ) {
474+ requestResolver ( _requestId , _additionalData , callback ) {
416475 callback ( null , {
417476 item : {
418477 id : 'nested-request-id' ,
@@ -477,7 +536,7 @@ describe('pm.execution.runRequest handling', function () {
477536 new collectionRunner ( ) . run ( collection ,
478537 {
479538 script : {
480- requestResolver ( _requestId , callback ) {
539+ requestResolver ( _requestId , _additionalData , callback ) {
481540 callback ( null , {
482541 item : {
483542 id : 'nested-request-id' ,
@@ -527,7 +586,7 @@ describe('pm.execution.runRequest handling', function () {
527586 new collectionRunner ( ) . run ( collection ,
528587 {
529588 script : {
530- requestResolver ( _requestId , callback ) {
589+ requestResolver ( _requestId , _additionalData , callback ) {
531590 callback ( null , {
532591 item : {
533592 id : 'nested-request-id' ,
@@ -595,7 +654,7 @@ describe('pm.execution.runRequest handling', function () {
595654 new collectionRunner ( ) . run ( collection ,
596655 {
597656 script : {
598- requestResolver ( _requestId , callback ) {
657+ requestResolver ( _requestId , _additionalData , callback ) {
599658 callback ( null , {
600659 item : {
601660 id : 'nested-request-id' ,
@@ -683,7 +742,7 @@ describe('pm.execution.runRequest handling', function () {
683742 {
684743 vaultSecrets : vaultSecrets ,
685744 script : {
686- requestResolver ( _requestId , callback ) {
745+ requestResolver ( _requestId , _additionalData , callback ) {
687746 callback ( null , {
688747 item : {
689748 id : 'nested-request-id' ,
@@ -761,7 +820,7 @@ describe('pm.execution.runRequest handling', function () {
761820 new collectionRunner ( ) . run ( collection ,
762821 {
763822 script : {
764- requestResolver ( _requestId , callback ) {
823+ requestResolver ( _requestId , _additionalData , callback ) {
765824 callback ( null , {
766825 item : {
767826 id : 'nested-request-id' ,
@@ -833,7 +892,7 @@ describe('pm.execution.runRequest handling', function () {
833892 new collectionRunner ( ) . run ( collection ,
834893 {
835894 script : {
836- requestResolver ( _requestId , callback ) {
895+ requestResolver ( _requestId , _additionalData , callback ) {
837896 callback ( null , {
838897 item : {
839898 id : 'nested-request-id' ,
@@ -906,7 +965,7 @@ describe('pm.execution.runRequest handling', function () {
906965 new collectionRunner ( ) . run ( collection ,
907966 {
908967 script : {
909- requestResolver ( _requestId , callback ) {
968+ requestResolver ( _requestId , _additionalData , callback ) {
910969 callback ( null , {
911970 item : {
912971 id : 'nested-request-id' ,
0 commit comments