@usebruno/js 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
package/src/bru.js
CHANGED
|
@@ -11,11 +11,13 @@ class Bru {
|
|
|
11
11
|
processEnvVars,
|
|
12
12
|
collectionPath,
|
|
13
13
|
historyLogger,
|
|
14
|
-
setHtmlVisualizationString
|
|
14
|
+
setHtmlVisualizationString,
|
|
15
|
+
secretVariables
|
|
15
16
|
) {
|
|
16
17
|
this.envVariables = envVariables;
|
|
17
18
|
this.collectionVariables = collectionVariables;
|
|
18
19
|
this.processEnvVars = cloneDeep(processEnvVars || {});
|
|
20
|
+
this.secretVariables = cloneDeep(secretVariables || {});
|
|
19
21
|
this.collectionPath = collectionPath;
|
|
20
22
|
this.historyLogger = historyLogger;
|
|
21
23
|
this.setHtmlVisualizationString = setHtmlVisualizationString;
|
|
@@ -112,6 +114,10 @@ class Bru {
|
|
|
112
114
|
visualize(htmlString) {
|
|
113
115
|
this.setHtmlVisualizationString(htmlString);
|
|
114
116
|
}
|
|
117
|
+
|
|
118
|
+
getSecretVar(key) {
|
|
119
|
+
return this.secretVariables?.[`$secrets.${key}`];
|
|
120
|
+
}
|
|
115
121
|
}
|
|
116
122
|
|
|
117
123
|
module.exports = Bru;
|
|
@@ -199,13 +199,30 @@ const evaluateRhsOperand = (rhsOperand, operator, context) => {
|
|
|
199
199
|
};
|
|
200
200
|
|
|
201
201
|
class AssertRuntime {
|
|
202
|
-
runAssertions(
|
|
202
|
+
runAssertions(
|
|
203
|
+
assertions,
|
|
204
|
+
request,
|
|
205
|
+
response,
|
|
206
|
+
envVariables,
|
|
207
|
+
collectionVariables,
|
|
208
|
+
collectionPath,
|
|
209
|
+
historyLogger,
|
|
210
|
+
secretVariables
|
|
211
|
+
) {
|
|
203
212
|
const enabledAssertions = _.filter(assertions, (a) => a.enabled);
|
|
204
213
|
if (!enabledAssertions.length) {
|
|
205
214
|
return [];
|
|
206
215
|
}
|
|
207
216
|
|
|
208
|
-
const bru = new Bru(
|
|
217
|
+
const bru = new Bru(
|
|
218
|
+
envVariables,
|
|
219
|
+
collectionVariables,
|
|
220
|
+
undefined, // processEnvVars,
|
|
221
|
+
undefined, // collectionPath,
|
|
222
|
+
undefined, // historyLogger,
|
|
223
|
+
undefined, // setHtmlVisualizationString,
|
|
224
|
+
secretVariables
|
|
225
|
+
);
|
|
209
226
|
const req = new BrunoRequest(request, historyLogger);
|
|
210
227
|
const res = createResponseParser(response);
|
|
211
228
|
|
|
@@ -27,7 +27,7 @@ const axios = require('axios');
|
|
|
27
27
|
const fetch = require('node-fetch');
|
|
28
28
|
const chai = require('chai');
|
|
29
29
|
const CryptoJS = require('crypto-js');
|
|
30
|
-
const
|
|
30
|
+
const NodeSecrets = require('node-vault');
|
|
31
31
|
|
|
32
32
|
class ScriptRuntime {
|
|
33
33
|
constructor() {}
|
|
@@ -43,7 +43,8 @@ class ScriptRuntime {
|
|
|
43
43
|
onConsoleLog,
|
|
44
44
|
processEnvVars,
|
|
45
45
|
scriptingConfig,
|
|
46
|
-
historyLogger
|
|
46
|
+
historyLogger,
|
|
47
|
+
secretVariables
|
|
47
48
|
) {
|
|
48
49
|
let htmlVisualizationString;
|
|
49
50
|
let setHtmlVisualizationString = (htmlString) => {
|
|
@@ -55,7 +56,8 @@ class ScriptRuntime {
|
|
|
55
56
|
processEnvVars,
|
|
56
57
|
collectionPath,
|
|
57
58
|
historyLogger,
|
|
58
|
-
setHtmlVisualizationString
|
|
59
|
+
setHtmlVisualizationString,
|
|
60
|
+
secretVariables
|
|
59
61
|
);
|
|
60
62
|
const req = new BrunoRequest(request, historyLogger);
|
|
61
63
|
const allowScriptFilesystemAccess = get(scriptingConfig, 'filesystemAccess.allow', false);
|
|
@@ -128,7 +130,7 @@ class ScriptRuntime {
|
|
|
128
130
|
'crypto-js': CryptoJS,
|
|
129
131
|
...whitelistedModules,
|
|
130
132
|
fs: allowScriptFilesystemAccess ? fs : undefined,
|
|
131
|
-
'node-vault':
|
|
133
|
+
'node-vault': NodeSecrets
|
|
132
134
|
}
|
|
133
135
|
}
|
|
134
136
|
});
|
|
@@ -153,7 +155,8 @@ class ScriptRuntime {
|
|
|
153
155
|
onConsoleLog,
|
|
154
156
|
processEnvVars,
|
|
155
157
|
scriptingConfig,
|
|
156
|
-
historyLogger
|
|
158
|
+
historyLogger,
|
|
159
|
+
secretVariables
|
|
157
160
|
) {
|
|
158
161
|
let htmlVisualizationString;
|
|
159
162
|
let setHtmlVisualizationString = (htmlString) => {
|
|
@@ -165,7 +168,8 @@ class ScriptRuntime {
|
|
|
165
168
|
processEnvVars,
|
|
166
169
|
collectionPath,
|
|
167
170
|
historyLogger,
|
|
168
|
-
setHtmlVisualizationString
|
|
171
|
+
setHtmlVisualizationString,
|
|
172
|
+
secretVariables
|
|
169
173
|
);
|
|
170
174
|
const req = new BrunoRequest(request, historyLogger);
|
|
171
175
|
const res = new BrunoResponse(response);
|
|
@@ -233,7 +237,7 @@ class ScriptRuntime {
|
|
|
233
237
|
'crypto-js': CryptoJS,
|
|
234
238
|
...whitelistedModules,
|
|
235
239
|
fs: allowScriptFilesystemAccess ? fs : undefined,
|
|
236
|
-
'node-vault':
|
|
240
|
+
'node-vault': NodeSecrets
|
|
237
241
|
}
|
|
238
242
|
}
|
|
239
243
|
});
|
|
@@ -29,7 +29,7 @@ const nanoid = require('nanoid');
|
|
|
29
29
|
const axios = require('axios');
|
|
30
30
|
const fetch = require('node-fetch');
|
|
31
31
|
const CryptoJS = require('crypto-js');
|
|
32
|
-
const
|
|
32
|
+
const NodeSecrets = require('node-vault');
|
|
33
33
|
|
|
34
34
|
class TestRuntime {
|
|
35
35
|
constructor() {}
|
|
@@ -44,9 +44,18 @@ class TestRuntime {
|
|
|
44
44
|
onConsoleLog,
|
|
45
45
|
processEnvVars,
|
|
46
46
|
scriptingConfig,
|
|
47
|
-
historyLogger
|
|
47
|
+
historyLogger,
|
|
48
|
+
secretVariables
|
|
48
49
|
) {
|
|
49
|
-
const bru = new Bru(
|
|
50
|
+
const bru = new Bru(
|
|
51
|
+
envVariables,
|
|
52
|
+
collectionVariables,
|
|
53
|
+
processEnvVars,
|
|
54
|
+
collectionPath,
|
|
55
|
+
historyLogger,
|
|
56
|
+
undefined, // setHtmlVisualizationString
|
|
57
|
+
secretVariables
|
|
58
|
+
);
|
|
50
59
|
const req = new BrunoRequest(request, historyLogger);
|
|
51
60
|
const res = new BrunoResponse(response);
|
|
52
61
|
const allowScriptFilesystemAccess = get(scriptingConfig, 'filesystemAccess.allow', false);
|
|
@@ -135,7 +144,7 @@ class TestRuntime {
|
|
|
135
144
|
'crypto-js': CryptoJS,
|
|
136
145
|
...whitelistedModules,
|
|
137
146
|
fs: allowScriptFilesystemAccess ? fs : undefined,
|
|
138
|
-
'node-vault':
|
|
147
|
+
'node-vault': NodeSecrets
|
|
139
148
|
}
|
|
140
149
|
}
|
|
141
150
|
});
|
|
@@ -4,13 +4,30 @@ const BrunoRequest = require('../bruno-request');
|
|
|
4
4
|
const { evaluateJsTemplateLiteral, evaluateJsExpression, createResponseParser } = require('../utils');
|
|
5
5
|
|
|
6
6
|
class VarsRuntime {
|
|
7
|
-
runPreRequestVars(
|
|
7
|
+
runPreRequestVars(
|
|
8
|
+
vars,
|
|
9
|
+
request,
|
|
10
|
+
envVariables,
|
|
11
|
+
collectionVariables,
|
|
12
|
+
collectionPath,
|
|
13
|
+
processEnvVars,
|
|
14
|
+
historyLogger,
|
|
15
|
+
secretVars = {}
|
|
16
|
+
) {
|
|
8
17
|
const enabledVars = _.filter(vars, (v) => v.enabled);
|
|
9
18
|
if (!enabledVars.length) {
|
|
10
19
|
return;
|
|
11
20
|
}
|
|
12
21
|
|
|
13
|
-
const bru = new Bru(
|
|
22
|
+
const bru = new Bru(
|
|
23
|
+
envVariables,
|
|
24
|
+
collectionVariables,
|
|
25
|
+
processEnvVars,
|
|
26
|
+
null,
|
|
27
|
+
historyLogger,
|
|
28
|
+
undefined, // setHtmlVisualizationString
|
|
29
|
+
secretVars
|
|
30
|
+
);
|
|
14
31
|
const req = new BrunoRequest(request, historyLogger);
|
|
15
32
|
|
|
16
33
|
const bruContext = {
|
|
@@ -21,6 +38,7 @@ class VarsRuntime {
|
|
|
21
38
|
const context = {
|
|
22
39
|
...envVariables,
|
|
23
40
|
...collectionVariables,
|
|
41
|
+
...secretVars,
|
|
24
42
|
...bruContext
|
|
25
43
|
};
|
|
26
44
|
|
|
@@ -42,14 +60,23 @@ class VarsRuntime {
|
|
|
42
60
|
collectionVariables,
|
|
43
61
|
collectionPath,
|
|
44
62
|
processEnvVars,
|
|
45
|
-
historyLogger
|
|
63
|
+
historyLogger,
|
|
64
|
+
secretVars = {}
|
|
46
65
|
) {
|
|
47
66
|
const enabledVars = _.filter(vars, (v) => v.enabled);
|
|
48
67
|
if (!enabledVars.length) {
|
|
49
68
|
return;
|
|
50
69
|
}
|
|
51
70
|
|
|
52
|
-
const bru = new Bru(
|
|
71
|
+
const bru = new Bru(
|
|
72
|
+
envVariables,
|
|
73
|
+
collectionVariables,
|
|
74
|
+
processEnvVars,
|
|
75
|
+
null,
|
|
76
|
+
historyLogger,
|
|
77
|
+
undefined, // setHtmlVisualizationString
|
|
78
|
+
secretVars
|
|
79
|
+
);
|
|
53
80
|
const req = new BrunoRequest(request, historyLogger);
|
|
54
81
|
const res = createResponseParser(response);
|
|
55
82
|
|
|
@@ -62,6 +89,7 @@ class VarsRuntime {
|
|
|
62
89
|
const context = {
|
|
63
90
|
...envVariables,
|
|
64
91
|
...collectionVariables,
|
|
92
|
+
...secretVars,
|
|
65
93
|
...bruContext
|
|
66
94
|
};
|
|
67
95
|
|