Skip to content

Commit 4bf3bcc

Browse files
authored
Merge pull request #58 from topcoder-platform/develop
Update postman tests to exit if there are failures
2 parents 0a00765 + c0a3c03 commit 4bf3bcc

File tree

2 files changed

+119
-110
lines changed

2 files changed

+119
-110
lines changed

test/postman/newman.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
const newman = require('newman')
2+
const _ = require('lodash')
23

34
const requests = [
45
{
@@ -86,12 +87,12 @@ const options = {
8687
}
8788

8889
const runner = (options) => new Promise((resolve, reject) => {
89-
newman.run(options, function (err) {
90+
newman.run(options, function (err, results) {
9091
if (err) {
9192
reject(err)
9293
return
9394
}
94-
resolve()
95+
resolve(results)
9596
})
9697
})
9798

@@ -102,7 +103,10 @@ const runner = (options) => new Promise((resolve, reject) => {
102103
options.folder = request.folder
103104
options.iterationData = request.iterationData
104105
try {
105-
await runner(options)
106+
const results = await runner(options)
107+
if (_.get(results, 'run.failures.length', 0) > 0) {
108+
process.exit(-1)
109+
}
106110
} catch (err) {
107111
console.log(err)
108112
}
Lines changed: 112 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -1,109 +1,114 @@
11
{
2-
"id": "8972a3df-731f-4475-b089-ccbb28735083",
3-
"name": "resource-api",
4-
"values": [
5-
{
6-
"key": "URL",
7-
"value": "http://localhost:3000/v5",
8-
"enabled": true
9-
},
10-
{
11-
"key": "CHALLENGE_ID",
12-
"value": "fe6d0a58-ce7d-4521-8501-b8132b1c0391",
13-
"enabled": true
14-
},
15-
{
16-
"key": "CHALLENGE_NOT_FOUND_ID",
17-
"value": "11111111-ce7d-4521-8501-b8132b1c0391",
18-
"enabled": true
19-
},
20-
{
21-
"key": "user1_token",
22-
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIl0sImlzcyI6Imh0dHBzOi8vYXBpLnRvcGNvZGVyLWRldi5jb20iLCJoYW5kbGUiOiJkZW5pcyIsImV4cCI6MTY4MjgwMDE2OSwidXNlcklkIjoiMjUxMjgwIiwiaWF0IjoxNTQ5Nzk5NTY5LCJlbWFpbCI6ImVtYWlsQGRvbWFpbi5jb20ueiIsImp0aSI6IjljNDUxMWM1LWMxNjUtNGExYi04OTllLWI2NWFkMGUwMmI1NSJ9.BCF6xW3aQfHDDFbgGvvOKzvwEXVLWGf-TgF5JrtM9Tg",
23-
"enabled": true
24-
},
25-
{
26-
"key": "user2_token",
27-
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiY29waWxvdCJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoiaG9ob3NreSIsImV4cCI6MTY4MTc5MjM3MCwidXNlcklkIjoiMTYwOTY4MjMiLCJpYXQiOjE1NDk3OTE3NzAsImVtYWlsIjoiZW1haWxAZG9tYWluLmNvbS56IiwianRpIjoiZjFlNjEzYmUtZDViOS00MjMxLWJhYWUtZWU5ZjJkMjI3MjM0In0.YfzhT9rLFK6U2suPdiCSx_n7Ce6ZIt_oLZ0BcvfMqAk",
28-
"enabled": true
29-
},
30-
{
31-
"key": "admin_token",
32-
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiQ29ubmVjdCBTdXBwb3J0IiwiYWRtaW5pc3RyYXRvciIsInRlc3RSb2xlIiwiYWFhIiwidG9ueV90ZXN0XzEiLCJDb25uZWN0IE1hbmFnZXIiLCJDb25uZWN0IEFkbWluIiwiY29waWxvdCIsIkNvbm5lY3QgQ29waWxvdCBNYW5hZ2VyIl0sImlzcyI6Imh0dHBzOi8vYXBpLnRvcGNvZGVyLWRldi5jb20iLCJoYW5kbGUiOiJUb255SiIsImV4cCI6MTY4MTA1MjIxMSwidXNlcklkIjoiODU0Nzg5OSIsImlhdCI6MTU0OTc5MTYxMSwiZW1haWwiOiJ0amVmdHMrZml4QHRvcGNvZGVyLmNvbSIsImp0aSI6ImY5NGQxZTI2LTNkMGUtNDZjYS04MTE1LTg3NTQ1NDRhMDhmMSJ9.ONh2RSE5NeJzyjBD68TSUdNFMs5v5BXtga4LchR2x3s",
33-
"enabled": true
34-
},
35-
{
36-
"key": "m2m_all_token",
37-
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3RvcGNvZGVyLWRldi5hdXRoMC5jb20vIiwic3ViIjoiZW5qdzE4MTBlRHozWFR3U08yUm4yWTljUVRyc3BuM0JAY2xpZW50cyIsImF1ZCI6Imh0dHBzOi8vbTJtLnRvcGNvZGVyLWRldi5jb20vIiwiaWF0IjoxNTUwOTA2Mzg4LCJleHAiOjE2ODA5OTI3ODgsImF6cCI6ImVuancxODEwZUR6M1hUd1NPMlJuMlk5Y1FUcnNwbjNCIiwic2NvcGUiOiJhbGw6cmVzb3VyY2VzIGFsbDpyZXNvdXJjZV9yb2xlcyIsImd0eSI6ImNsaWVudC1jcmVkZW50aWFscyJ9.UhuqMGrrNzj-VQz2-BogN28YZTE9uauIfdP7EOhrKB0",
38-
"enabled": true
39-
},
40-
{
41-
"key": "COPILOT_RESOURCE_ROLE_ID",
42-
"value": "",
43-
"enabled": true
44-
},
45-
{
46-
"key": "OBSERVER_RESOURCE_ROLE_ID",
47-
"value": "",
48-
"enabled": true
49-
},
50-
{
51-
"key": "SUBMITTER_RESOURCE_ROLE_ID",
52-
"value": "",
53-
"enabled": true
54-
},
55-
{
56-
"key": "expire_token",
57-
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiQ29ubmVjdCBTdXBwb3J0IiwiYWRtaW5pc3RyYXRvciIsInRlc3RSb2xlIiwiYWFhIiwidG9ueV90ZXN0XzEiLCJDb25uZWN0IE1hbmFnZXIiLCJDb25uZWN0IEFkbWluIiwiY29waWxvdCIsIkNvbm5lY3QgQ29waWxvdCBNYW5hZ2VyIl0sImlzcyI6Imh0dHBzOi8vYXBpLnRvcGNvZGVyLWRldi5jb20iLCJoYW5kbGUiOiJUb255SiIsImV4cCI6MTU1MTA2MzIxMSwidXNlcklkIjoiODU0Nzg5OSIsImlhdCI6MTU1MTA1MzIxMSwiZW1haWwiOiJ0amVmdHMrZml4QHRvcGNvZGVyLmNvbSIsImp0aSI6ImY5NGQxZTI2LTNkMGUtNDZjYS04MTE1LTg3NTQ1NDRhMDhmMSJ9.97-pjuSGGqDAqK2FG2yi_3nmzB7ZMXQwtG0bi8_PlKk",
58-
"enabled": true
59-
},
60-
{
61-
"key": "m2m_read_token",
62-
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3RvcGNvZGVyLWRldi5hdXRoMC5jb20vIiwic3ViIjoiZW5qdzE4MTBlRHozWFR3U08yUm4yWTljUVRyc3BuM0JAY2xpZW50cyIsImF1ZCI6Imh0dHBzOi8vbTJtLnRvcGNvZGVyLWRldi5jb20vIiwiaWF0IjoxNTUwOTA2Mzg4LCJleHAiOjE2ODA5OTI3ODgsImF6cCI6ImVuancxODEwZUR6M1hUd1NPMlJuMlk5Y1FUcnNwbjNCIiwic2NvcGUiOiJyZWFkOnJlc291cmNlcyIsImd0eSI6ImNsaWVudC1jcmVkZW50aWFscyJ9.1EdekIx1jU2lDSIXlMFCPmXkzLWQ_ZvxPuutQWuTKu0",
63-
"enabled": true
64-
},
65-
{
66-
"key": "m2m_modify_token",
67-
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3RvcGNvZGVyLWRldi5hdXRoMC5jb20vIiwic3ViIjoiZW5qdzE4MTBlRHozWFR3U08yUm4yWTljUVRyc3BuM0JAY2xpZW50cyIsImF1ZCI6Imh0dHBzOi8vbTJtLnRvcGNvZGVyLWRldi5jb20vIiwiaWF0IjoxNTUwOTA2Mzg4LCJleHAiOjE2ODA5OTI3ODgsImF6cCI6ImVuancxODEwZUR6M1hUd1NPMlJuMlk5Y1FUcnNwbjNCIiwic2NvcGUiOiJjcmVhdGU6cmVzb3VyY2VzIGRlbGV0ZTpyZXNvdXJjZXMgdXBkYXRlOnJlc291cmNlcyIsImd0eSI6ImNsaWVudC1jcmVkZW50aWFscyJ9.f_3FLT3jMTnKwGIg8fcFP2lmShy5S9d5IvLNbXSj2Eo",
68-
"enabled": true
69-
},
70-
{
71-
"key": "REVIEWER_RESOURCE_ROLE_ID",
72-
"value": "",
73-
"enabled": true
74-
},
75-
{
76-
"key": "TEST_CHALLENGE_ID1",
77-
"value": "fe6d0a58-ce7d-4521-8501-b8132b1c0392",
78-
"enabled": true
79-
},
80-
{
81-
"key": "TEST_CHALLENGE_ID2",
82-
"value": "fe6d0a58-ce7d-4521-8501-b8132b1c0393",
83-
"enabled": true
84-
},
85-
{
86-
"key": "user3_token",
87-
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIl0sImlzcyI6Imh0dHBzOi8vYXBpLnRvcGNvZGVyLWRldi5jb20iLCJoYW5kbGUiOiJsYXJzMjUyMCIsImV4cCI6MTY4MjgwMDE2OSwidXNlcklkIjoiMjg3MTMxIiwiaWF0IjoxNTQ5Nzk5NTY5LCJlbWFpbCI6ImVtYWlsQGRvbWFpbi5jb20ueiIsImp0aSI6IjljNDUxMWM1LWMxNjUtNGExYi04OTllLWI2NWFkMGUwMmI1NSJ9.QIXF4-qSkH7n-i0_4mzF3peFTZ5PjaSYHjm9EjhTfS4",
88-
"enabled": true
89-
},
90-
{
91-
"key": "PHASE_ID",
92-
"value": "aa5a3f78-79e0-4bf7-93ff-b11e8f5b398b",
93-
"enabled": true
94-
},
95-
{
96-
"key": "DEPENDENCY_ID_1",
97-
"value": "",
98-
"enabled": true
99-
},
100-
{
101-
"key": "DEPENDENCY_ID_2",
102-
"value": "",
103-
"enabled": true
104-
}
105-
],
106-
"_postman_variable_scope": "environment",
107-
"_postman_exported_at": "2020-12-28T13:53:00.316Z",
108-
"_postman_exported_using": "Postman/7.36.1"
2+
"_": {
3+
"postman_variable_scope": "environment",
4+
"postman_exported_at": "2021-02-01T10:57:35.837Z",
5+
"postman_exported_using": "Newman/5.2.2"
6+
},
7+
"id": "8972a3df-731f-4475-b089-ccbb28735083",
8+
"name": "resource-api",
9+
"values": [
10+
{
11+
"type": "any",
12+
"value": "http://localhost:3000/v5",
13+
"key": "URL"
14+
},
15+
{
16+
"type": "any",
17+
"value": "fe6d0a58-ce7d-4521-8501-b8132b1c0391",
18+
"key": "CHALLENGE_ID"
19+
},
20+
{
21+
"type": "any",
22+
"value": "11111111-ce7d-4521-8501-b8132b1c0391",
23+
"key": "CHALLENGE_NOT_FOUND_ID"
24+
},
25+
{
26+
"type": "any",
27+
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIl0sImlzcyI6Imh0dHBzOi8vYXBpLnRvcGNvZGVyLWRldi5jb20iLCJoYW5kbGUiOiJkZW5pcyIsImV4cCI6MTY4MjgwMDE2OSwidXNlcklkIjoiMjUxMjgwIiwiaWF0IjoxNTQ5Nzk5NTY5LCJlbWFpbCI6ImVtYWlsQGRvbWFpbi5jb20ueiIsImp0aSI6IjljNDUxMWM1LWMxNjUtNGExYi04OTllLWI2NWFkMGUwMmI1NSJ9.BCF6xW3aQfHDDFbgGvvOKzvwEXVLWGf-TgF5JrtM9Tg",
28+
"key": "user1_token"
29+
},
30+
{
31+
"type": "any",
32+
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiY29waWxvdCJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoiaG9ob3NreSIsImV4cCI6MTY4MTc5MjM3MCwidXNlcklkIjoiMTYwOTY4MjMiLCJpYXQiOjE1NDk3OTE3NzAsImVtYWlsIjoiZW1haWxAZG9tYWluLmNvbS56IiwianRpIjoiZjFlNjEzYmUtZDViOS00MjMxLWJhYWUtZWU5ZjJkMjI3MjM0In0.YfzhT9rLFK6U2suPdiCSx_n7Ce6ZIt_oLZ0BcvfMqAk",
33+
"key": "user2_token"
34+
},
35+
{
36+
"type": "any",
37+
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiQ29ubmVjdCBTdXBwb3J0IiwiYWRtaW5pc3RyYXRvciIsInRlc3RSb2xlIiwiYWFhIiwidG9ueV90ZXN0XzEiLCJDb25uZWN0IE1hbmFnZXIiLCJDb25uZWN0IEFkbWluIiwiY29waWxvdCIsIkNvbm5lY3QgQ29waWxvdCBNYW5hZ2VyIl0sImlzcyI6Imh0dHBzOi8vYXBpLnRvcGNvZGVyLWRldi5jb20iLCJoYW5kbGUiOiJUb255SiIsImV4cCI6MTY4MTA1MjIxMSwidXNlcklkIjoiODU0Nzg5OSIsImlhdCI6MTU0OTc5MTYxMSwiZW1haWwiOiJ0amVmdHMrZml4QHRvcGNvZGVyLmNvbSIsImp0aSI6ImY5NGQxZTI2LTNkMGUtNDZjYS04MTE1LTg3NTQ1NDRhMDhmMSJ9.ONh2RSE5NeJzyjBD68TSUdNFMs5v5BXtga4LchR2x3s",
38+
"key": "admin_token"
39+
},
40+
{
41+
"type": "any",
42+
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3RvcGNvZGVyLWRldi5hdXRoMC5jb20vIiwic3ViIjoiZW5qdzE4MTBlRHozWFR3U08yUm4yWTljUVRyc3BuM0JAY2xpZW50cyIsImF1ZCI6Imh0dHBzOi8vbTJtLnRvcGNvZGVyLWRldi5jb20vIiwiaWF0IjoxNTUwOTA2Mzg4LCJleHAiOjE2ODA5OTI3ODgsImF6cCI6ImVuancxODEwZUR6M1hUd1NPMlJuMlk5Y1FUcnNwbjNCIiwic2NvcGUiOiJhbGw6cmVzb3VyY2VzIGFsbDpyZXNvdXJjZV9yb2xlcyIsImd0eSI6ImNsaWVudC1jcmVkZW50aWFscyJ9.UhuqMGrrNzj-VQz2-BogN28YZTE9uauIfdP7EOhrKB0",
43+
"key": "m2m_all_token"
44+
},
45+
{
46+
"type": "any",
47+
"value": "",
48+
"key": "COPILOT_RESOURCE_ROLE_ID"
49+
},
50+
{
51+
"type": "any",
52+
"value": "",
53+
"key": "OBSERVER_RESOURCE_ROLE_ID"
54+
},
55+
{
56+
"type": "any",
57+
"value": "",
58+
"key": "SUBMITTER_RESOURCE_ROLE_ID"
59+
},
60+
{
61+
"type": "any",
62+
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiQ29ubmVjdCBTdXBwb3J0IiwiYWRtaW5pc3RyYXRvciIsInRlc3RSb2xlIiwiYWFhIiwidG9ueV90ZXN0XzEiLCJDb25uZWN0IE1hbmFnZXIiLCJDb25uZWN0IEFkbWluIiwiY29waWxvdCIsIkNvbm5lY3QgQ29waWxvdCBNYW5hZ2VyIl0sImlzcyI6Imh0dHBzOi8vYXBpLnRvcGNvZGVyLWRldi5jb20iLCJoYW5kbGUiOiJUb255SiIsImV4cCI6MTU1MTA2MzIxMSwidXNlcklkIjoiODU0Nzg5OSIsImlhdCI6MTU1MTA1MzIxMSwiZW1haWwiOiJ0amVmdHMrZml4QHRvcGNvZGVyLmNvbSIsImp0aSI6ImY5NGQxZTI2LTNkMGUtNDZjYS04MTE1LTg3NTQ1NDRhMDhmMSJ9.97-pjuSGGqDAqK2FG2yi_3nmzB7ZMXQwtG0bi8_PlKk",
63+
"key": "expire_token"
64+
},
65+
{
66+
"type": "any",
67+
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3RvcGNvZGVyLWRldi5hdXRoMC5jb20vIiwic3ViIjoiZW5qdzE4MTBlRHozWFR3U08yUm4yWTljUVRyc3BuM0JAY2xpZW50cyIsImF1ZCI6Imh0dHBzOi8vbTJtLnRvcGNvZGVyLWRldi5jb20vIiwiaWF0IjoxNTUwOTA2Mzg4LCJleHAiOjE2ODA5OTI3ODgsImF6cCI6ImVuancxODEwZUR6M1hUd1NPMlJuMlk5Y1FUcnNwbjNCIiwic2NvcGUiOiJyZWFkOnJlc291cmNlcyIsImd0eSI6ImNsaWVudC1jcmVkZW50aWFscyJ9.1EdekIx1jU2lDSIXlMFCPmXkzLWQ_ZvxPuutQWuTKu0",
68+
"key": "m2m_read_token"
69+
},
70+
{
71+
"type": "any",
72+
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3RvcGNvZGVyLWRldi5hdXRoMC5jb20vIiwic3ViIjoiZW5qdzE4MTBlRHozWFR3U08yUm4yWTljUVRyc3BuM0JAY2xpZW50cyIsImF1ZCI6Imh0dHBzOi8vbTJtLnRvcGNvZGVyLWRldi5jb20vIiwiaWF0IjoxNTUwOTA2Mzg4LCJleHAiOjE2ODA5OTI3ODgsImF6cCI6ImVuancxODEwZUR6M1hUd1NPMlJuMlk5Y1FUcnNwbjNCIiwic2NvcGUiOiJjcmVhdGU6cmVzb3VyY2VzIGRlbGV0ZTpyZXNvdXJjZXMgdXBkYXRlOnJlc291cmNlcyIsImd0eSI6ImNsaWVudC1jcmVkZW50aWFscyJ9.f_3FLT3jMTnKwGIg8fcFP2lmShy5S9d5IvLNbXSj2Eo",
73+
"key": "m2m_modify_token"
74+
},
75+
{
76+
"type": "any",
77+
"value": "",
78+
"key": "REVIEWER_RESOURCE_ROLE_ID"
79+
},
80+
{
81+
"type": "any",
82+
"value": "fe6d0a58-ce7d-4521-8501-b8132b1c0392",
83+
"key": "TEST_CHALLENGE_ID1"
84+
},
85+
{
86+
"type": "any",
87+
"value": "fe6d0a58-ce7d-4521-8501-b8132b1c0393",
88+
"key": "TEST_CHALLENGE_ID2"
89+
},
90+
{
91+
"type": "any",
92+
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIl0sImlzcyI6Imh0dHBzOi8vYXBpLnRvcGNvZGVyLWRldi5jb20iLCJoYW5kbGUiOiJsYXJzMjUyMCIsImV4cCI6MTY4MjgwMDE2OSwidXNlcklkIjoiMjg3MTMxIiwiaWF0IjoxNTQ5Nzk5NTY5LCJlbWFpbCI6ImVtYWlsQGRvbWFpbi5jb20ueiIsImp0aSI6IjljNDUxMWM1LWMxNjUtNGExYi04OTllLWI2NWFkMGUwMmI1NSJ9.QIXF4-qSkH7n-i0_4mzF3peFTZ5PjaSYHjm9EjhTfS4",
93+
"key": "user3_token"
94+
},
95+
{
96+
"type": "any",
97+
"value": "aa5a3f78-79e0-4bf7-93ff-b11e8f5b398b",
98+
"key": "PHASE_ID"
99+
},
100+
{
101+
"type": "any",
102+
"value": "",
103+
"key": "DEPENDENCY_ID_1"
104+
},
105+
{
106+
"type": "any",
107+
"value": "",
108+
"key": "DEPENDENCY_ID_2"
109+
}
110+
],
111+
"_postman_variable_scope": "environment",
112+
"_postman_exported_at": "2021-02-01T10:57:47.851Z",
113+
"_postman_exported_using": "Newman/5.2.2"
109114
}

0 commit comments

Comments
 (0)