@salesforce/apex-node 6.0.0 → 6.1.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.
Files changed (59) hide show
  1. package/lib/src/execute/executeService.js +2 -1
  2. package/lib/src/execute/executeService.js.map +1 -1
  3. package/lib/src/reporters/coverageReporter.js +6 -5
  4. package/lib/src/reporters/coverageReporter.js.map +1 -1
  5. package/lib/src/reporters/humanFormatTransform.d.ts +1 -0
  6. package/lib/src/reporters/humanFormatTransform.js +38 -4
  7. package/lib/src/reporters/humanFormatTransform.js.map +1 -1
  8. package/lib/src/reporters/humanReporter.js +42 -12
  9. package/lib/src/reporters/humanReporter.js.map +1 -1
  10. package/lib/src/reporters/index.d.ts +2 -1
  11. package/lib/src/reporters/index.js +5 -3
  12. package/lib/src/reporters/index.js.map +1 -1
  13. package/lib/src/reporters/junitFormatTransformer.d.ts +8 -1
  14. package/lib/src/reporters/junitFormatTransformer.js +48 -19
  15. package/lib/src/reporters/junitFormatTransformer.js.map +1 -1
  16. package/lib/src/reporters/junitReporter.js +21 -15
  17. package/lib/src/reporters/junitReporter.js.map +1 -1
  18. package/lib/src/reporters/tapFormatTransform.d.ts +8 -1
  19. package/lib/src/reporters/tapFormatTransform.js +50 -5
  20. package/lib/src/reporters/tapFormatTransform.js.map +1 -1
  21. package/lib/src/reporters/tapReporter.js +48 -18
  22. package/lib/src/reporters/tapReporter.js.map +1 -1
  23. package/lib/src/streaming/index.d.ts +1 -2
  24. package/lib/src/streaming/index.js +1 -4
  25. package/lib/src/streaming/index.js.map +1 -1
  26. package/lib/src/streaming/testResultStringifyStream.d.ts +10 -2
  27. package/lib/src/streaming/testResultStringifyStream.js +68 -29
  28. package/lib/src/streaming/testResultStringifyStream.js.map +1 -1
  29. package/lib/src/streaming/utils.d.ts +0 -3
  30. package/lib/src/streaming/utils.js +7 -14
  31. package/lib/src/streaming/utils.js.map +1 -1
  32. package/lib/src/tests/asyncTests.d.ts +3 -0
  33. package/lib/src/tests/asyncTests.js +197 -134
  34. package/lib/src/tests/asyncTests.js.map +1 -1
  35. package/lib/src/tests/codeCoverage.js +100 -73
  36. package/lib/src/tests/codeCoverage.js.map +1 -1
  37. package/lib/src/tests/syncTests.js +113 -98
  38. package/lib/src/tests/syncTests.js.map +1 -1
  39. package/lib/src/tests/testService.d.ts +5 -0
  40. package/lib/src/tests/testService.js +119 -96
  41. package/lib/src/tests/testService.js.map +1 -1
  42. package/lib/src/tests/utils.d.ts +4 -1
  43. package/lib/src/tests/utils.js +53 -1
  44. package/lib/src/tests/utils.js.map +1 -1
  45. package/lib/src/utils/heapMonitor.d.ts +72 -0
  46. package/lib/src/utils/heapMonitor.js +164 -0
  47. package/lib/src/utils/heapMonitor.js.map +1 -0
  48. package/lib/src/utils/index.d.ts +1 -0
  49. package/lib/src/utils/index.js +3 -1
  50. package/lib/src/utils/index.js.map +1 -1
  51. package/lib/src/utils/tableWritableStream.js +33 -5
  52. package/lib/src/utils/tableWritableStream.js.map +1 -1
  53. package/package.json +17 -15
  54. package/lib/src/streaming/codeCoverageStringifyStream.d.ts +0 -12
  55. package/lib/src/streaming/codeCoverageStringifyStream.js +0 -80
  56. package/lib/src/streaming/codeCoverageStringifyStream.js.map +0 -1
  57. package/lib/src/streaming/jsonStringifyStream.d.ts +0 -18
  58. package/lib/src/streaming/jsonStringifyStream.js +0 -118
  59. package/lib/src/streaming/jsonStringifyStream.js.map +0 -1
@@ -34,8 +34,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
34
34
  __setModuleDefault(result, mod);
35
35
  return result;
36
36
  };
37
+ var __importDefault = (this && this.__importDefault) || function (mod) {
38
+ return (mod && mod.__esModule) ? mod : { "default": mod };
39
+ };
37
40
  Object.defineProperty(exports, "__esModule", { value: true });
38
41
  exports.AsyncTests = void 0;
42
+ const core_1 = require("@salesforce/core");
39
43
  const i18n_1 = require("../i18n");
40
44
  const streaming_1 = require("../streaming");
41
45
  const utils_1 = require("../utils");
@@ -45,6 +49,13 @@ const util = __importStar(require("util"));
45
49
  const constants_1 = require("./constants");
46
50
  const codeCoverage_1 = require("./codeCoverage");
47
51
  const narrowing_1 = require("../narrowing");
52
+ const node_fs_1 = require("node:fs");
53
+ const promises_1 = require("node:stream/promises");
54
+ const os = __importStar(require("node:os"));
55
+ const path_1 = __importDefault(require("path"));
56
+ const promises_2 = __importDefault(require("node:fs/promises"));
57
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
58
+ const bfj = require('bfj');
48
59
  const finishedStatuses = [
49
60
  "Aborted" /* ApexTestRunResultStatus.Aborted */,
50
61
  "Failed" /* ApexTestRunResultStatus.Failed */,
@@ -55,9 +66,11 @@ const finishedStatuses = [
55
66
  class AsyncTests {
56
67
  connection;
57
68
  codecoverage;
69
+ logger;
58
70
  constructor(connection) {
59
71
  this.connection = connection;
60
72
  this.codecoverage = new codeCoverage_1.CodeCoverage(this.connection);
73
+ this.logger = core_1.Logger.childFromRoot('AsyncTests');
61
74
  }
62
75
  /**
63
76
  * Asynchronous Test Runs
@@ -69,6 +82,7 @@ class AsyncTests {
69
82
  * @param timeout Duration to wait before returning a TestRunIdResult
70
83
  */
71
84
  async runTests(options, codeCoverage = false, exitOnTestRunId = false, progress, token, timeout) {
85
+ utils_1.HeapMonitor.getInstance().checkHeapSize('asyncTests.runTests');
72
86
  try {
73
87
  const sClient = new streaming_1.StreamingClient(this.connection, progress);
74
88
  await sClient.init();
@@ -92,11 +106,36 @@ class AsyncTests {
92
106
  return { testRunId };
93
107
  }
94
108
  const runResult = await this.checkRunStatus(asyncRunResult.runId);
95
- return await this.formatAsyncResults(asyncRunResult, (0, utils_1.getCurrentTime)(), codeCoverage, runResult.testRunSummary, progress);
109
+ const formattedResults = await this.formatAsyncResults(asyncRunResult, (0, utils_1.getCurrentTime)(), codeCoverage, runResult.testRunSummary, progress);
110
+ await this.writeResultsToFile(formattedResults, asyncRunResult.runId);
111
+ return formattedResults;
96
112
  }
97
113
  catch (e) {
98
114
  throw (0, diagnosticUtil_1.formatTestErrors)(e);
99
115
  }
116
+ finally {
117
+ utils_1.HeapMonitor.getInstance().checkHeapSize('asyncTests.runTests');
118
+ }
119
+ }
120
+ async writeResultsToFile(formattedResults, runId) {
121
+ utils_1.HeapMonitor.getInstance().checkHeapSize('asyncTests.writeResultsToFile');
122
+ try {
123
+ if (this.logger.shouldLog(core_1.LoggerLevel.DEBUG)) {
124
+ const rawResultsPath = path_1.default.join(os.tmpdir(), runId, 'rawResults.json');
125
+ await promises_2.default.mkdir(path_1.default.dirname(rawResultsPath), { recursive: true });
126
+ const writeStream = (0, node_fs_1.createWriteStream)(path_1.default.join(os.tmpdir(), runId, 'rawResults.json'));
127
+ this.logger.debug(`Raw raw results written to: ${writeStream.path}`);
128
+ const stringifyStream = bfj.stringify(formattedResults, {
129
+ bufferLength: (0, utils_2.getBufferSize)(),
130
+ iterables: 'ignore',
131
+ space: (0, utils_2.getJsonIndent)()
132
+ });
133
+ return await (0, promises_1.pipeline)(stringifyStream, writeStream);
134
+ }
135
+ }
136
+ finally {
137
+ utils_1.HeapMonitor.getInstance().checkHeapSize('asyncTests.writeResultsToFile');
138
+ }
100
139
  }
101
140
  /**
102
141
  * Report Asynchronous Test Run Results
@@ -105,6 +144,7 @@ class AsyncTests {
105
144
  * @param token cancellation token
106
145
  */
107
146
  async reportAsyncResults(testRunId, codeCoverage = false, token) {
147
+ utils_1.HeapMonitor.getInstance().checkHeapSize('asyncTests.reportAsyncResults');
108
148
  try {
109
149
  const sClient = new streaming_1.StreamingClient(this.connection);
110
150
  await sClient.init();
@@ -125,11 +165,16 @@ class AsyncTests {
125
165
  if (token && token.isCancellationRequested) {
126
166
  return null;
127
167
  }
128
- return await this.formatAsyncResults({ queueItem, runId: testRunId }, (0, utils_1.getCurrentTime)(), codeCoverage, runResult.testRunSummary);
168
+ const formattedResults = await this.formatAsyncResults({ queueItem, runId: testRunId }, (0, utils_1.getCurrentTime)(), codeCoverage, runResult.testRunSummary);
169
+ await this.writeResultsToFile(formattedResults, testRunId);
170
+ return formattedResults;
129
171
  }
130
172
  catch (e) {
131
173
  throw (0, diagnosticUtil_1.formatTestErrors)(e);
132
174
  }
175
+ finally {
176
+ utils_1.HeapMonitor.getInstance().checkHeapSize('asyncTests.reportAsyncResults');
177
+ }
133
178
  }
134
179
  async checkRunStatus(testRunId, progress) {
135
180
  if (!(0, narrowing_1.isValidTestRunID)(testRunId)) {
@@ -164,149 +209,168 @@ class AsyncTests {
164
209
  * @returns
165
210
  */
166
211
  async formatAsyncResults(asyncRunResult, commandStartTime, codeCoverage = false, testRunSummary, progress) {
167
- const coveredApexClassIdSet = new Set();
168
- const apexTestResults = await this.getAsyncTestResults(asyncRunResult.queueItem);
169
- const { apexTestClassIdSet, testResults, globalTests } = await this.buildAsyncTestResults(apexTestResults);
170
- let outcome = testRunSummary.Status;
171
- if (globalTests.failed > 0) {
172
- outcome = "Failed" /* ApexTestRunResultStatus.Failed */;
173
- }
174
- else if (globalTests.passed === 0) {
175
- outcome = "Skipped" /* ApexTestRunResultStatus.Skipped */;
176
- }
177
- else if (testRunSummary.Status === "Completed" /* ApexTestRunResultStatus.Completed */) {
178
- outcome = "Passed" /* ApexTestRunResultStatus.Passed */;
212
+ utils_1.HeapMonitor.getInstance().checkHeapSize('asyncTests.formatAsyncResults');
213
+ try {
214
+ const coveredApexClassIdSet = new Set();
215
+ const apexTestResults = await this.getAsyncTestResults(asyncRunResult.queueItem);
216
+ const { apexTestClassIdSet, testResults, globalTests } = await this.buildAsyncTestResults(apexTestResults);
217
+ let outcome = testRunSummary.Status;
218
+ if (globalTests.failed > 0) {
219
+ outcome = "Failed" /* ApexTestRunResultStatus.Failed */;
220
+ }
221
+ else if (globalTests.passed === 0) {
222
+ outcome = "Skipped" /* ApexTestRunResultStatus.Skipped */;
223
+ }
224
+ else if (testRunSummary.Status === "Completed" /* ApexTestRunResultStatus.Completed */) {
225
+ outcome = "Passed" /* ApexTestRunResultStatus.Passed */;
226
+ }
227
+ // TODO: deprecate testTotalTime
228
+ const result = {
229
+ summary: {
230
+ outcome,
231
+ testsRan: testResults.length,
232
+ passing: globalTests.passed,
233
+ failing: globalTests.failed,
234
+ skipped: globalTests.skipped,
235
+ passRate: (0, utils_2.calculatePercentage)(globalTests.passed, testResults.length),
236
+ failRate: (0, utils_2.calculatePercentage)(globalTests.failed, testResults.length),
237
+ skipRate: (0, utils_2.calculatePercentage)(globalTests.skipped, testResults.length),
238
+ testStartTime: (0, utils_1.formatStartTime)(testRunSummary.StartTime, 'ISO'),
239
+ testExecutionTimeInMs: testRunSummary.TestTime ?? 0,
240
+ testTotalTimeInMs: testRunSummary.TestTime ?? 0,
241
+ commandTimeInMs: (0, utils_1.getCurrentTime)() - commandStartTime,
242
+ hostname: this.connection.instanceUrl,
243
+ orgId: this.connection.getAuthInfoFields().orgId,
244
+ username: this.connection.getUsername(),
245
+ testRunId: asyncRunResult.runId,
246
+ userId: testRunSummary.UserId
247
+ },
248
+ tests: testResults
249
+ };
250
+ if (codeCoverage) {
251
+ const perClassCovMap = await this.codecoverage.getPerClassCodeCoverage(apexTestClassIdSet);
252
+ result.tests.forEach((item) => {
253
+ const keyCodeCov = `${item.apexClass.id}-${item.methodName}`;
254
+ const perClassCov = perClassCovMap.get(keyCodeCov);
255
+ // Skipped test is not in coverage map, check to see if perClassCov exists first
256
+ if (perClassCov) {
257
+ perClassCov.forEach((classCov) => coveredApexClassIdSet.add(classCov.apexClassOrTriggerId));
258
+ item.perClassCoverage = perClassCov;
259
+ }
260
+ });
261
+ progress?.report({
262
+ type: 'FormatTestResultProgress',
263
+ value: 'queryingForAggregateCodeCoverage',
264
+ message: i18n_1.nls.localize('queryingForAggregateCodeCoverage')
265
+ });
266
+ const { codeCoverageResults, totalLines, coveredLines } = await this.codecoverage.getAggregateCodeCoverage(coveredApexClassIdSet);
267
+ result.codecoverage = codeCoverageResults;
268
+ result.summary.totalLines = totalLines;
269
+ result.summary.coveredLines = coveredLines;
270
+ result.summary.testRunCoverage = (0, utils_2.calculatePercentage)(coveredLines, totalLines);
271
+ result.summary.orgWideCoverage =
272
+ await this.codecoverage.getOrgWideCoverage();
273
+ }
274
+ return result;
179
275
  }
180
- // TODO: deprecate testTotalTime
181
- const result = {
182
- summary: {
183
- outcome,
184
- testsRan: testResults.length,
185
- passing: globalTests.passed,
186
- failing: globalTests.failed,
187
- skipped: globalTests.skipped,
188
- passRate: (0, utils_2.calculatePercentage)(globalTests.passed, testResults.length),
189
- failRate: (0, utils_2.calculatePercentage)(globalTests.failed, testResults.length),
190
- skipRate: (0, utils_2.calculatePercentage)(globalTests.skipped, testResults.length),
191
- testStartTime: (0, utils_1.formatStartTime)(testRunSummary.StartTime, 'ISO'),
192
- testExecutionTimeInMs: testRunSummary.TestTime ?? 0,
193
- testTotalTimeInMs: testRunSummary.TestTime ?? 0,
194
- commandTimeInMs: (0, utils_1.getCurrentTime)() - commandStartTime,
195
- hostname: this.connection.instanceUrl,
196
- orgId: this.connection.getAuthInfoFields().orgId,
197
- username: this.connection.getUsername(),
198
- testRunId: asyncRunResult.runId,
199
- userId: testRunSummary.UserId
200
- },
201
- tests: testResults
202
- };
203
- if (codeCoverage) {
204
- const perClassCovMap = await this.codecoverage.getPerClassCodeCoverage(apexTestClassIdSet);
205
- result.tests.forEach((item) => {
206
- const keyCodeCov = `${item.apexClass.id}-${item.methodName}`;
207
- const perClassCov = perClassCovMap.get(keyCodeCov);
208
- // Skipped test is not in coverage map, check to see if perClassCov exists first
209
- if (perClassCov) {
210
- perClassCov.forEach((classCov) => coveredApexClassIdSet.add(classCov.apexClassOrTriggerId));
211
- item.perClassCoverage = perClassCov;
212
- }
213
- });
214
- progress?.report({
215
- type: 'FormatTestResultProgress',
216
- value: 'queryingForAggregateCodeCoverage',
217
- message: i18n_1.nls.localize('queryingForAggregateCodeCoverage')
218
- });
219
- const { codeCoverageResults, totalLines, coveredLines } = await this.codecoverage.getAggregateCodeCoverage(coveredApexClassIdSet);
220
- result.codecoverage = codeCoverageResults;
221
- result.summary.totalLines = totalLines;
222
- result.summary.coveredLines = coveredLines;
223
- result.summary.testRunCoverage = (0, utils_2.calculatePercentage)(coveredLines, totalLines);
224
- result.summary.orgWideCoverage =
225
- await this.codecoverage.getOrgWideCoverage();
276
+ finally {
277
+ utils_1.HeapMonitor.getInstance().checkHeapSize('asyncTests.formatAsyncResults');
226
278
  }
227
- return result;
228
279
  }
229
280
  async getAsyncTestResults(testQueueResult) {
230
- let apexTestResultQuery = 'SELECT Id, QueueItemId, StackTrace, Message, ';
231
- apexTestResultQuery +=
232
- 'RunTime, TestTimestamp, AsyncApexJobId, MethodName, Outcome, ApexLogId, ';
233
- apexTestResultQuery +=
234
- 'ApexClass.Id, ApexClass.Name, ApexClass.NamespacePrefix ';
235
- apexTestResultQuery += 'FROM ApexTestResult WHERE QueueItemId IN (%s)';
236
- const apexResultIds = testQueueResult.records.map((record) => record.Id);
237
- // iterate thru ids, create query with id, & compare query length to char limit
238
- const queries = [];
239
- for (let i = 0; i < apexResultIds.length; i += constants_1.QUERY_RECORD_LIMIT) {
240
- const recordSet = apexResultIds
241
- .slice(i, i + constants_1.QUERY_RECORD_LIMIT)
242
- .map((id) => `'${id}'`);
243
- const query = util.format(apexTestResultQuery, recordSet.join(','));
244
- queries.push(query);
281
+ utils_1.HeapMonitor.getInstance().checkHeapSize('asyncTests.getAsyncTestResults');
282
+ try {
283
+ let apexTestResultQuery = 'SELECT Id, QueueItemId, StackTrace, Message, ';
284
+ apexTestResultQuery +=
285
+ 'RunTime, TestTimestamp, AsyncApexJobId, MethodName, Outcome, ApexLogId, ';
286
+ apexTestResultQuery +=
287
+ 'ApexClass.Id, ApexClass.Name, ApexClass.NamespacePrefix ';
288
+ apexTestResultQuery += 'FROM ApexTestResult WHERE QueueItemId IN (%s)';
289
+ const apexResultIds = testQueueResult.records.map((record) => record.Id);
290
+ // iterate thru ids, create query with id, & compare query length to char limit
291
+ const queries = [];
292
+ for (let i = 0; i < apexResultIds.length; i += constants_1.QUERY_RECORD_LIMIT) {
293
+ const recordSet = apexResultIds
294
+ .slice(i, i + constants_1.QUERY_RECORD_LIMIT)
295
+ .map((id) => `'${id}'`);
296
+ const query = util.format(apexTestResultQuery, recordSet.join(','));
297
+ queries.push(query);
298
+ }
299
+ const queryPromises = queries.map((query) => {
300
+ return (0, utils_2.queryAll)(this.connection, query, true);
301
+ });
302
+ const apexTestResults = await Promise.all(queryPromises);
303
+ return apexTestResults;
304
+ }
305
+ finally {
306
+ utils_1.HeapMonitor.getInstance().checkHeapSize('asyncTests.getAsyncTestResults');
245
307
  }
246
- const queryPromises = queries.map((query) => {
247
- return (0, utils_2.queryAll)(this.connection, query, true);
248
- });
249
- const apexTestResults = await Promise.all(queryPromises);
250
- return apexTestResults;
251
308
  }
252
309
  async buildAsyncTestResults(apexTestResults) {
253
- const apexTestClassIdSet = new Set();
254
- let passed = 0;
255
- let failed = 0;
256
- let skipped = 0;
257
- // Iterate over test results, format and add them as results.tests
258
- const testResults = [];
259
- for (const result of apexTestResults) {
260
- result.records.forEach((item) => {
261
- switch (item.Outcome) {
262
- case "Pass" /* ApexTestResultOutcome.Pass */:
263
- passed++;
264
- break;
265
- case "Fail" /* ApexTestResultOutcome.Fail */:
266
- case "CompileFail" /* ApexTestResultOutcome.CompileFail */:
267
- failed++;
268
- break;
269
- case "Skip" /* ApexTestResultOutcome.Skip */:
270
- skipped++;
271
- break;
272
- }
273
- apexTestClassIdSet.add(item.ApexClass.Id);
274
- // Can only query the FullName field if a single record is returned, so manually build the field
275
- item.ApexClass.FullName = item.ApexClass.NamespacePrefix
276
- ? `${item.ApexClass.NamespacePrefix}.${item.ApexClass.Name}`
277
- : item.ApexClass.Name;
278
- const diagnostic = item.Message || item.StackTrace ? (0, diagnosticUtil_1.getAsyncDiagnostic)(item) : null;
279
- testResults.push({
280
- id: item.Id,
281
- queueItemId: item.QueueItemId,
282
- stackTrace: item.StackTrace,
283
- message: item.Message,
284
- asyncApexJobId: item.AsyncApexJobId,
285
- methodName: item.MethodName,
286
- outcome: item.Outcome,
287
- apexLogId: item.ApexLogId,
288
- apexClass: {
289
- id: item.ApexClass.Id,
290
- name: item.ApexClass.Name,
291
- namespacePrefix: item.ApexClass.NamespacePrefix,
292
- fullName: item.ApexClass.FullName
293
- },
294
- runTime: item.RunTime ?? 0,
295
- testTimestamp: item.TestTimestamp, // TODO: convert timestamp
296
- fullName: `${item.ApexClass.FullName}.${item.MethodName}`,
297
- ...(diagnostic ? { diagnostic } : {})
310
+ utils_1.HeapMonitor.getInstance().checkHeapSize('asyncTests.buildAsyncTestResults');
311
+ try {
312
+ const apexTestClassIdSet = new Set();
313
+ let passed = 0;
314
+ let failed = 0;
315
+ let skipped = 0;
316
+ // Iterate over test results, format and add them as results.tests
317
+ const testResults = [];
318
+ for (const result of apexTestResults) {
319
+ result.records.forEach((item) => {
320
+ switch (item.Outcome) {
321
+ case "Pass" /* ApexTestResultOutcome.Pass */:
322
+ passed++;
323
+ break;
324
+ case "Fail" /* ApexTestResultOutcome.Fail */:
325
+ case "CompileFail" /* ApexTestResultOutcome.CompileFail */:
326
+ failed++;
327
+ break;
328
+ case "Skip" /* ApexTestResultOutcome.Skip */:
329
+ skipped++;
330
+ break;
331
+ }
332
+ apexTestClassIdSet.add(item.ApexClass.Id);
333
+ // Can only query the FullName field if a single record is returned, so manually build the field
334
+ item.ApexClass.FullName = item.ApexClass.NamespacePrefix
335
+ ? `${item.ApexClass.NamespacePrefix}.${item.ApexClass.Name}`
336
+ : item.ApexClass.Name;
337
+ const diagnostic = item.Message || item.StackTrace ? (0, diagnosticUtil_1.getAsyncDiagnostic)(item) : null;
338
+ testResults.push({
339
+ id: item.Id,
340
+ queueItemId: item.QueueItemId,
341
+ stackTrace: item.StackTrace,
342
+ message: item.Message,
343
+ asyncApexJobId: item.AsyncApexJobId,
344
+ methodName: item.MethodName,
345
+ outcome: item.Outcome,
346
+ apexLogId: item.ApexLogId,
347
+ apexClass: {
348
+ id: item.ApexClass.Id,
349
+ name: item.ApexClass.Name,
350
+ namespacePrefix: item.ApexClass.NamespacePrefix,
351
+ fullName: item.ApexClass.FullName
352
+ },
353
+ runTime: item.RunTime ?? 0,
354
+ testTimestamp: item.TestTimestamp, // TODO: convert timestamp
355
+ fullName: `${item.ApexClass.FullName}.${item.MethodName}`,
356
+ ...(diagnostic ? { diagnostic } : {})
357
+ });
298
358
  });
299
- });
359
+ }
360
+ return {
361
+ apexTestClassIdSet,
362
+ testResults,
363
+ globalTests: { passed, failed, skipped }
364
+ };
365
+ }
366
+ finally {
367
+ utils_1.HeapMonitor.getInstance().checkHeapSize('asyncTests.buildAsyncTestResults');
300
368
  }
301
- return {
302
- apexTestClassIdSet,
303
- testResults,
304
- globalTests: { passed, failed, skipped }
305
- };
306
369
  }
307
370
  /**
308
371
  * Abort test run with test run id
309
372
  * @param testRunId
373
+ * @param progress
310
374
  */
311
375
  async abortTestRun(testRunId, progress) {
312
376
  progress?.report({
@@ -328,7 +392,7 @@ class AsyncTests {
328
392
  });
329
393
  }
330
394
  getTestRunRequestAction(options) {
331
- const requestTestRun = async () => {
395
+ return async () => {
332
396
  const url = `${this.connection.tooling._baseUrl()}/runTestsAsynchronous`;
333
397
  try {
334
398
  const testRunId = await this.connection.tooling.request({
@@ -343,7 +407,6 @@ class AsyncTests {
343
407
  return Promise.reject(e);
344
408
  }
345
409
  };
346
- return requestTestRun;
347
410
  }
348
411
  }
349
412
  exports.AsyncTests = AsyncTests;
@@ -1 +1 @@
1
- {"version":3,"file":"asyncTests.js","sourceRoot":"","sources":["../../../src/tests/asyncTests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asyncTests.js","sourceRoot":"","sources":["../../../src/tests/asyncTests.ts"],"names":[],"mappings":"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"}