Skip to content

Commit 8570d34

Browse files
committed
test: Add tests for request metadata passing to resolver
1 parent 4f8bf97 commit 8570d34

File tree

1 file changed

+72
-13
lines changed

1 file changed

+72
-13
lines changed

test/integration/runner-spec/run-collection-request.test.js

Lines changed: 72 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)