@salesforce/apex-node 2.1.4 → 2.1.5
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/lib/src/common/cancellation.js +6 -17
- package/lib/src/common/cancellation.js.map +1 -1
- package/lib/src/execute/executeService.js +52 -69
- package/lib/src/execute/executeService.js.map +1 -1
- package/lib/src/i18n/index.js.map +1 -1
- package/lib/src/i18n/localization.js.map +1 -1
- package/lib/src/logs/logService.js +73 -101
- package/lib/src/logs/logService.js.map +1 -1
- package/lib/src/reporters/coverageReporter.js +4 -6
- package/lib/src/reporters/coverageReporter.js.map +1 -1
- package/lib/src/reporters/humanReporter.js.map +1 -1
- package/lib/src/reporters/junitReporter.js.map +1 -1
- package/lib/src/reporters/tapReporter.js +1 -1
- package/lib/src/reporters/tapReporter.js.map +1 -1
- package/lib/src/streaming/streamingClient.js +98 -119
- package/lib/src/streaming/streamingClient.js.map +1 -1
- package/lib/src/tests/asyncTests.js +234 -247
- package/lib/src/tests/asyncTests.js.map +1 -1
- package/lib/src/tests/codeCoverage.js +85 -99
- package/lib/src/tests/codeCoverage.js.map +1 -1
- package/lib/src/tests/diagnosticUtil.js +1 -2
- package/lib/src/tests/diagnosticUtil.js.map +1 -1
- package/lib/src/tests/syncTests.js +83 -85
- package/lib/src/tests/syncTests.js.map +1 -1
- package/lib/src/tests/testService.js +235 -273
- package/lib/src/tests/testService.js.map +1 -1
- package/lib/src/tests/utils.d.ts +2 -0
- package/lib/src/tests/utils.js +29 -24
- package/lib/src/tests/utils.js.map +1 -1
- package/lib/src/utils/authUtil.js +3 -14
- package/lib/src/utils/authUtil.js.map +1 -1
- package/lib/src/utils/dateUtil.js.map +1 -1
- package/lib/src/utils/fileSystemHandler.js +7 -18
- package/lib/src/utils/fileSystemHandler.js.map +1 -1
- package/lib/src/utils/table.js.map +1 -1
- package/lib/src/utils/traceFlags.js +95 -122
- package/lib/src/utils/traceFlags.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tapReporter.js","sourceRoot":"","sources":["../../../src/reporters/tapReporter.ts"],"names":[],"mappings":";;;AAmBA,MAAa,WAAW;IACf,MAAM,CAAC,UAAsB,EAAE,MAAiB;QACrD,MAAM,OAAO,GAAgB,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;QAEtC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,cAAc,IAAI,CAAC,CAAC;QAC3C,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC5B,GAAG,GAAG,GAAG,CAAC,MAAM,CACd,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,WAAW,IAAI,CAC1E,CAAC;YACF,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,
|
|
1
|
+
{"version":3,"file":"tapReporter.js","sourceRoot":"","sources":["../../../src/reporters/tapReporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,15 +5,6 @@
|
|
|
5
5
|
* Licensed under the BSD 3-Clause license.
|
|
6
6
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
7
|
*/
|
|
8
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
9
|
exports.StreamingClient = exports.Deferred = void 0;
|
|
19
10
|
const faye_1 = require("faye");
|
|
@@ -54,23 +45,21 @@ class StreamingClient {
|
|
|
54
45
|
timeout: DEFAULT_STREAMING_TIMEOUT_MS
|
|
55
46
|
});
|
|
56
47
|
this.client.on('transport:up', () => {
|
|
57
|
-
|
|
58
|
-
(_a = this.progress) === null || _a === void 0 ? void 0 : _a.report({
|
|
48
|
+
this.progress?.report({
|
|
59
49
|
type: 'StreamingClientProgress',
|
|
60
50
|
value: 'streamingTransportUp',
|
|
61
51
|
message: i18n_1.nls.localize('streamingTransportUp')
|
|
62
52
|
});
|
|
63
53
|
});
|
|
64
54
|
this.client.on('transport:down', () => {
|
|
65
|
-
|
|
66
|
-
(_a = this.progress) === null || _a === void 0 ? void 0 : _a.report({
|
|
55
|
+
this.progress?.report({
|
|
67
56
|
type: 'StreamingClientProgress',
|
|
68
57
|
value: 'streamingTransportDown',
|
|
69
58
|
message: i18n_1.nls.localize('streamingTransportDown')
|
|
70
59
|
});
|
|
71
60
|
});
|
|
72
61
|
this.client.addExtension({
|
|
73
|
-
incoming: (message, callback) =>
|
|
62
|
+
incoming: async (message, callback) => {
|
|
74
63
|
if (message && message.error) {
|
|
75
64
|
// throw errors on handshake errors
|
|
76
65
|
if (message.channel === '/meta/handshake') {
|
|
@@ -79,7 +68,7 @@ class StreamingClient {
|
|
|
79
68
|
}
|
|
80
69
|
// refresh auth on 401 errors
|
|
81
70
|
if (message.error === "401::Authentication invalid" /* StreamingErrors.ERROR_AUTH_INVALID */) {
|
|
82
|
-
|
|
71
|
+
await this.init();
|
|
83
72
|
callback(message);
|
|
84
73
|
return;
|
|
85
74
|
}
|
|
@@ -98,22 +87,20 @@ class StreamingClient {
|
|
|
98
87
|
throw new Error(message.error);
|
|
99
88
|
}
|
|
100
89
|
callback(message);
|
|
101
|
-
}
|
|
90
|
+
}
|
|
102
91
|
});
|
|
103
92
|
}
|
|
104
93
|
// NOTE: There's an intermittent auth issue with Streaming API that requires the connection to be refreshed
|
|
105
94
|
// The builtin org.refreshAuth() util only refreshes the connection associated with the instance of the org you provide, not all connections associated with that username's orgs
|
|
106
|
-
init() {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
});
|
|
95
|
+
async init() {
|
|
96
|
+
await (0, utils_1.refreshAuth)(this.conn);
|
|
97
|
+
const accessToken = this.conn.getConnectionOptions().accessToken;
|
|
98
|
+
if (accessToken) {
|
|
99
|
+
this.client.setHeader('Authorization', `OAuth ${accessToken}`);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
throw new Error(i18n_1.nls.localize('noAccessTokenFound'));
|
|
103
|
+
}
|
|
117
104
|
}
|
|
118
105
|
handshake() {
|
|
119
106
|
return new Promise((resolve) => {
|
|
@@ -126,53 +113,29 @@ class StreamingClient {
|
|
|
126
113
|
this.client.disconnect();
|
|
127
114
|
this.hasDisconnected = true;
|
|
128
115
|
}
|
|
129
|
-
subscribe(action, testRunId) {
|
|
130
|
-
return
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
queueItem: result
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
}));
|
|
145
|
-
if (action) {
|
|
146
|
-
action()
|
|
147
|
-
.then((id) => {
|
|
148
|
-
this.subscribedTestRunId = id;
|
|
149
|
-
this.subscribedTestRunIdDeferred.resolve(id);
|
|
150
|
-
if (!this.hasDisconnected) {
|
|
151
|
-
intervalId = setInterval(() => __awaiter(this, void 0, void 0, function* () {
|
|
152
|
-
const result = yield this.getCompletedTestRun(id);
|
|
153
|
-
if (result) {
|
|
154
|
-
this.disconnect();
|
|
155
|
-
clearInterval(intervalId);
|
|
156
|
-
subscriptionResolve({
|
|
157
|
-
runId: this.subscribedTestRunId,
|
|
158
|
-
queueItem: result
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
}), types_1.RetrieveResultsInterval);
|
|
162
|
-
}
|
|
163
|
-
})
|
|
164
|
-
.catch((e) => {
|
|
165
|
-
this.disconnect();
|
|
166
|
-
clearInterval(intervalId);
|
|
167
|
-
subscriptionReject(e);
|
|
116
|
+
async subscribe(action, testRunId) {
|
|
117
|
+
return new Promise((subscriptionResolve, subscriptionReject) => {
|
|
118
|
+
let intervalId;
|
|
119
|
+
try {
|
|
120
|
+
this.client.subscribe(TEST_RESULT_CHANNEL, async (message) => {
|
|
121
|
+
const result = await this.handler(message);
|
|
122
|
+
if (result) {
|
|
123
|
+
this.disconnect();
|
|
124
|
+
clearInterval(intervalId);
|
|
125
|
+
subscriptionResolve({
|
|
126
|
+
runId: this.subscribedTestRunId,
|
|
127
|
+
queueItem: result
|
|
168
128
|
});
|
|
169
129
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
130
|
+
});
|
|
131
|
+
if (action) {
|
|
132
|
+
action()
|
|
133
|
+
.then((id) => {
|
|
134
|
+
this.subscribedTestRunId = id;
|
|
135
|
+
this.subscribedTestRunIdDeferred.resolve(id);
|
|
173
136
|
if (!this.hasDisconnected) {
|
|
174
|
-
intervalId = setInterval(() =>
|
|
175
|
-
const result =
|
|
137
|
+
intervalId = setInterval(async () => {
|
|
138
|
+
const result = await this.getCompletedTestRun(id);
|
|
176
139
|
if (result) {
|
|
177
140
|
this.disconnect();
|
|
178
141
|
clearInterval(intervalId);
|
|
@@ -181,16 +144,38 @@ class StreamingClient {
|
|
|
181
144
|
queueItem: result
|
|
182
145
|
});
|
|
183
146
|
}
|
|
184
|
-
}
|
|
147
|
+
}, types_1.RetrieveResultsInterval);
|
|
185
148
|
}
|
|
186
|
-
}
|
|
149
|
+
})
|
|
150
|
+
.catch((e) => {
|
|
151
|
+
this.disconnect();
|
|
152
|
+
clearInterval(intervalId);
|
|
153
|
+
subscriptionReject(e);
|
|
154
|
+
});
|
|
187
155
|
}
|
|
188
|
-
|
|
189
|
-
this.
|
|
190
|
-
|
|
191
|
-
|
|
156
|
+
else {
|
|
157
|
+
this.subscribedTestRunId = testRunId;
|
|
158
|
+
this.subscribedTestRunIdDeferred.resolve(testRunId);
|
|
159
|
+
if (!this.hasDisconnected) {
|
|
160
|
+
intervalId = setInterval(async () => {
|
|
161
|
+
const result = await this.getCompletedTestRun(testRunId);
|
|
162
|
+
if (result) {
|
|
163
|
+
this.disconnect();
|
|
164
|
+
clearInterval(intervalId);
|
|
165
|
+
subscriptionResolve({
|
|
166
|
+
runId: this.subscribedTestRunId,
|
|
167
|
+
queueItem: result
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}, types_1.RetrieveResultsInterval);
|
|
171
|
+
}
|
|
192
172
|
}
|
|
193
|
-
}
|
|
173
|
+
}
|
|
174
|
+
catch (e) {
|
|
175
|
+
this.disconnect();
|
|
176
|
+
clearInterval(intervalId);
|
|
177
|
+
subscriptionReject(e);
|
|
178
|
+
}
|
|
194
179
|
});
|
|
195
180
|
}
|
|
196
181
|
isValidTestRunID(testRunId, subscribedId) {
|
|
@@ -204,51 +189,45 @@ class StreamingClient {
|
|
|
204
189
|
}
|
|
205
190
|
return true;
|
|
206
191
|
}
|
|
207
|
-
handler(message, runId) {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
const testRunId = runId || message.sobject.Id;
|
|
211
|
-
if (!this.isValidTestRunID(testRunId, this.subscribedTestRunId)) {
|
|
212
|
-
return null;
|
|
213
|
-
}
|
|
214
|
-
const result = yield this.getCompletedTestRun(testRunId);
|
|
215
|
-
if (result) {
|
|
216
|
-
return result;
|
|
217
|
-
}
|
|
218
|
-
(_a = this.progress) === null || _a === void 0 ? void 0 : _a.report({
|
|
219
|
-
type: 'StreamingClientProgress',
|
|
220
|
-
value: 'streamingProcessingTestRun',
|
|
221
|
-
message: i18n_1.nls.localize('streamingProcessingTestRun', testRunId),
|
|
222
|
-
testRunId
|
|
223
|
-
});
|
|
192
|
+
async handler(message, runId) {
|
|
193
|
+
const testRunId = runId || message.sobject.Id;
|
|
194
|
+
if (!this.isValidTestRunID(testRunId, this.subscribedTestRunId)) {
|
|
224
195
|
return null;
|
|
196
|
+
}
|
|
197
|
+
const result = await this.getCompletedTestRun(testRunId);
|
|
198
|
+
if (result) {
|
|
199
|
+
return result;
|
|
200
|
+
}
|
|
201
|
+
this.progress?.report({
|
|
202
|
+
type: 'StreamingClientProgress',
|
|
203
|
+
value: 'streamingProcessingTestRun',
|
|
204
|
+
message: i18n_1.nls.localize('streamingProcessingTestRun', testRunId),
|
|
205
|
+
testRunId
|
|
225
206
|
});
|
|
207
|
+
return null;
|
|
226
208
|
}
|
|
227
|
-
getCompletedTestRun(testRunId) {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
const result = yield this.conn.tooling.query(queryApexTestQueueItem, {
|
|
232
|
-
autoFetch: true
|
|
233
|
-
});
|
|
234
|
-
if (result.records.length === 0) {
|
|
235
|
-
throw new Error(i18n_1.nls.localize('noTestQueueResults', testRunId));
|
|
236
|
-
}
|
|
237
|
-
(_a = this.progress) === null || _a === void 0 ? void 0 : _a.report({
|
|
238
|
-
type: 'TestQueueProgress',
|
|
239
|
-
value: result
|
|
240
|
-
});
|
|
241
|
-
for (let i = 0; i < result.records.length; i++) {
|
|
242
|
-
const item = result.records[i];
|
|
243
|
-
if (item.Status === "Queued" /* ApexTestQueueItemStatus.Queued */ ||
|
|
244
|
-
item.Status === "Holding" /* ApexTestQueueItemStatus.Holding */ ||
|
|
245
|
-
item.Status === "Preparing" /* ApexTestQueueItemStatus.Preparing */ ||
|
|
246
|
-
item.Status === "Processing" /* ApexTestQueueItemStatus.Processing */) {
|
|
247
|
-
return null;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
return result;
|
|
209
|
+
async getCompletedTestRun(testRunId) {
|
|
210
|
+
const queryApexTestQueueItem = `SELECT Id, Status, ApexClassId, TestRunResultId FROM ApexTestQueueItem WHERE ParentJobId = '${testRunId}'`;
|
|
211
|
+
const result = await this.conn.tooling.query(queryApexTestQueueItem, {
|
|
212
|
+
autoFetch: true
|
|
251
213
|
});
|
|
214
|
+
if (result.records.length === 0) {
|
|
215
|
+
throw new Error(i18n_1.nls.localize('noTestQueueResults', testRunId));
|
|
216
|
+
}
|
|
217
|
+
this.progress?.report({
|
|
218
|
+
type: 'TestQueueProgress',
|
|
219
|
+
value: result
|
|
220
|
+
});
|
|
221
|
+
for (let i = 0; i < result.records.length; i++) {
|
|
222
|
+
const item = result.records[i];
|
|
223
|
+
if (item.Status === "Queued" /* ApexTestQueueItemStatus.Queued */ ||
|
|
224
|
+
item.Status === "Holding" /* ApexTestQueueItemStatus.Holding */ ||
|
|
225
|
+
item.Status === "Preparing" /* ApexTestQueueItemStatus.Preparing */ ||
|
|
226
|
+
item.Status === "Processing" /* ApexTestQueueItemStatus.Processing */) {
|
|
227
|
+
return null;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
return result;
|
|
252
231
|
}
|
|
253
232
|
}
|
|
254
233
|
exports.StreamingClient = StreamingClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamingClient.js","sourceRoot":"","sources":["../../../src/streaming/streamingClient.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"streamingClient.js","sourceRoot":"","sources":["../../../src/streaming/streamingClient.ts"],"names":[],"mappings":"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"}
|