@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.
Files changed (38) hide show
  1. package/lib/src/common/cancellation.js +6 -17
  2. package/lib/src/common/cancellation.js.map +1 -1
  3. package/lib/src/execute/executeService.js +52 -69
  4. package/lib/src/execute/executeService.js.map +1 -1
  5. package/lib/src/i18n/index.js.map +1 -1
  6. package/lib/src/i18n/localization.js.map +1 -1
  7. package/lib/src/logs/logService.js +73 -101
  8. package/lib/src/logs/logService.js.map +1 -1
  9. package/lib/src/reporters/coverageReporter.js +4 -6
  10. package/lib/src/reporters/coverageReporter.js.map +1 -1
  11. package/lib/src/reporters/humanReporter.js.map +1 -1
  12. package/lib/src/reporters/junitReporter.js.map +1 -1
  13. package/lib/src/reporters/tapReporter.js +1 -1
  14. package/lib/src/reporters/tapReporter.js.map +1 -1
  15. package/lib/src/streaming/streamingClient.js +98 -119
  16. package/lib/src/streaming/streamingClient.js.map +1 -1
  17. package/lib/src/tests/asyncTests.js +234 -247
  18. package/lib/src/tests/asyncTests.js.map +1 -1
  19. package/lib/src/tests/codeCoverage.js +85 -99
  20. package/lib/src/tests/codeCoverage.js.map +1 -1
  21. package/lib/src/tests/diagnosticUtil.js +1 -2
  22. package/lib/src/tests/diagnosticUtil.js.map +1 -1
  23. package/lib/src/tests/syncTests.js +83 -85
  24. package/lib/src/tests/syncTests.js.map +1 -1
  25. package/lib/src/tests/testService.js +235 -273
  26. package/lib/src/tests/testService.js.map +1 -1
  27. package/lib/src/tests/utils.d.ts +2 -0
  28. package/lib/src/tests/utils.js +29 -24
  29. package/lib/src/tests/utils.js.map +1 -1
  30. package/lib/src/utils/authUtil.js +3 -14
  31. package/lib/src/utils/authUtil.js.map +1 -1
  32. package/lib/src/utils/dateUtil.js.map +1 -1
  33. package/lib/src/utils/fileSystemHandler.js +7 -18
  34. package/lib/src/utils/fileSystemHandler.js.map +1 -1
  35. package/lib/src/utils/table.js.map +1 -1
  36. package/lib/src/utils/traceFlags.js +95 -122
  37. package/lib/src/utils/traceFlags.js.map +1 -1
  38. package/package.json +3 -3
@@ -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.CodeCoverage = void 0;
19
10
  const util = require("util");
@@ -27,14 +18,12 @@ class CodeCoverage {
27
18
  * Returns the string representation of the org wide coverage percentage for a given username connection from OrgWideCoverage entity
28
19
  * @returns Org wide coverage percentage for a given username connection
29
20
  */
30
- getOrgWideCoverage() {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- const orgWideCoverageResult = (yield this.connection.tooling.query('SELECT PercentCovered FROM ApexOrgWideCoverage'));
33
- if (orgWideCoverageResult.records.length === 0) {
34
- return '0%';
35
- }
36
- return `${orgWideCoverageResult.records[0].PercentCovered}%`;
37
- });
21
+ async getOrgWideCoverage() {
22
+ const orgWideCoverageResult = (await this.connection.tooling.query('SELECT PercentCovered FROM ApexOrgWideCoverage'));
23
+ if (orgWideCoverageResult.records.length === 0) {
24
+ return '0%';
25
+ }
26
+ return `${orgWideCoverageResult.records[0].PercentCovered}%`;
38
27
  }
39
28
  /**
40
29
  * Returns the code coverage information for each Apex class covered by each Apex test method from ApexCodeCoverage entity
@@ -42,102 +31,99 @@ class CodeCoverage {
42
31
  * @returns The code coverage information associated with each Apex test class
43
32
  * NOTE: a test could cover more than one class, result map should contain a record for each covered class
44
33
  */
45
- getPerClassCodeCoverage(apexTestClassSet) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- if (apexTestClassSet.size === 0) {
48
- return new Map();
49
- }
50
- const perClassCodeCovResults = yield this.queryPerClassCodeCov(apexTestClassSet);
51
- const perClassCoverageMap = new Map();
52
- perClassCodeCovResults.forEach((chunk) => {
53
- chunk.records.forEach((item) => {
54
- const totalLines = item.NumLinesCovered + item.NumLinesUncovered;
55
- const percentage = (0, utils_1.calculatePercentage)(item.NumLinesCovered, totalLines);
56
- const value = Object.assign({ apexClassOrTriggerName: item.ApexClassOrTrigger.Name, apexClassOrTriggerId: item.ApexClassOrTrigger.Id, apexTestClassId: item.ApexTestClassId, apexTestMethodName: item.TestMethodName, numLinesCovered: item.NumLinesCovered, numLinesUncovered: item.NumLinesUncovered, percentage }, (item.Coverage ? { coverage: item.Coverage } : {}));
57
- const key = `${item.ApexTestClassId}-${item.TestMethodName}`;
58
- if (perClassCoverageMap.get(key)) {
59
- perClassCoverageMap.get(key).push(value);
60
- }
61
- else {
62
- perClassCoverageMap.set(`${item.ApexTestClassId}-${item.TestMethodName}`, [value]);
63
- }
64
- });
34
+ async getPerClassCodeCoverage(apexTestClassSet) {
35
+ if (apexTestClassSet.size === 0) {
36
+ return new Map();
37
+ }
38
+ const perClassCodeCovResults = await this.queryPerClassCodeCov(apexTestClassSet);
39
+ const perClassCoverageMap = new Map();
40
+ perClassCodeCovResults.forEach((chunk) => {
41
+ chunk.records.forEach((item) => {
42
+ const totalLines = item.NumLinesCovered + item.NumLinesUncovered;
43
+ const percentage = (0, utils_1.calculatePercentage)(item.NumLinesCovered, totalLines);
44
+ const value = {
45
+ apexClassOrTriggerName: item.ApexClassOrTrigger.Name,
46
+ apexClassOrTriggerId: item.ApexClassOrTrigger.Id,
47
+ apexTestClassId: item.ApexTestClassId,
48
+ apexTestMethodName: item.TestMethodName,
49
+ numLinesCovered: item.NumLinesCovered,
50
+ numLinesUncovered: item.NumLinesUncovered,
51
+ percentage,
52
+ ...(item.Coverage ? { coverage: item.Coverage } : {})
53
+ };
54
+ const key = `${item.ApexTestClassId}-${item.TestMethodName}`;
55
+ if (perClassCoverageMap.get(key)) {
56
+ perClassCoverageMap.get(key).push(value);
57
+ }
58
+ else {
59
+ perClassCoverageMap.set(`${item.ApexTestClassId}-${item.TestMethodName}`, [value]);
60
+ }
65
61
  });
66
- return perClassCoverageMap;
67
62
  });
63
+ return perClassCoverageMap;
68
64
  }
69
65
  /**
70
66
  * Returns the aggregate code coverage information from ApexCodeCoverageAggregate entity for a given set of Apex classes
71
67
  * @param apexClassIdSet Set of ids for Apex classes
72
68
  * @returns The aggregate code coverage information for the given set of Apex classes
73
69
  */
74
- getAggregateCodeCoverage(apexClassIdSet) {
75
- return __awaiter(this, void 0, void 0, function* () {
76
- if (apexClassIdSet.size === 0) {
77
- return { codeCoverageResults: [], totalLines: 0, coveredLines: 0 };
78
- }
79
- const codeCoverageAggregates = yield this.queryAggregateCodeCov(apexClassIdSet);
80
- let totalLinesCovered = 0;
81
- let totalLinesUncovered = 0;
82
- const totalCodeCoverageResults = [];
83
- codeCoverageAggregates.forEach((chunk) => {
84
- const codeCoverageResults = chunk.records.map((item) => {
85
- totalLinesCovered += item.NumLinesCovered;
86
- totalLinesUncovered += item.NumLinesUncovered;
87
- const totalLines = item.NumLinesCovered + item.NumLinesUncovered;
88
- const percentage = (0, utils_1.calculatePercentage)(item.NumLinesCovered, totalLines);
89
- return {
90
- apexId: item.ApexClassOrTrigger.Id,
91
- name: item.ApexClassOrTrigger.Name,
92
- type: item.ApexClassOrTrigger.Id.startsWith('01p')
93
- ? 'ApexClass'
94
- : 'ApexTrigger',
95
- numLinesCovered: item.NumLinesCovered,
96
- numLinesUncovered: item.NumLinesUncovered,
97
- percentage,
98
- coveredLines: item.Coverage.coveredLines,
99
- uncoveredLines: item.Coverage.uncoveredLines
100
- };
101
- });
102
- totalCodeCoverageResults.push(...codeCoverageResults);
70
+ async getAggregateCodeCoverage(apexClassIdSet) {
71
+ if (apexClassIdSet.size === 0) {
72
+ return { codeCoverageResults: [], totalLines: 0, coveredLines: 0 };
73
+ }
74
+ const codeCoverageAggregates = await this.queryAggregateCodeCov(apexClassIdSet);
75
+ let totalLinesCovered = 0;
76
+ let totalLinesUncovered = 0;
77
+ const totalCodeCoverageResults = [];
78
+ codeCoverageAggregates.forEach((chunk) => {
79
+ const codeCoverageResults = chunk.records.map((item) => {
80
+ totalLinesCovered += item.NumLinesCovered;
81
+ totalLinesUncovered += item.NumLinesUncovered;
82
+ const totalLines = item.NumLinesCovered + item.NumLinesUncovered;
83
+ const percentage = (0, utils_1.calculatePercentage)(item.NumLinesCovered, totalLines);
84
+ return {
85
+ apexId: item.ApexClassOrTrigger.Id,
86
+ name: item.ApexClassOrTrigger.Name,
87
+ type: item.ApexClassOrTrigger.Id.startsWith('01p')
88
+ ? 'ApexClass'
89
+ : 'ApexTrigger',
90
+ numLinesCovered: item.NumLinesCovered,
91
+ numLinesUncovered: item.NumLinesUncovered,
92
+ percentage,
93
+ coveredLines: item.Coverage.coveredLines,
94
+ uncoveredLines: item.Coverage.uncoveredLines
95
+ };
103
96
  });
104
- return {
105
- codeCoverageResults: totalCodeCoverageResults,
106
- totalLines: totalLinesCovered + totalLinesUncovered,
107
- coveredLines: totalLinesCovered
108
- };
97
+ totalCodeCoverageResults.push(...codeCoverageResults);
109
98
  });
99
+ return {
100
+ codeCoverageResults: totalCodeCoverageResults,
101
+ totalLines: totalLinesCovered + totalLinesUncovered,
102
+ coveredLines: totalLinesCovered
103
+ };
110
104
  }
111
- queryPerClassCodeCov(apexTestClassSet) {
112
- return __awaiter(this, void 0, void 0, function* () {
113
- const perClassCodeCovQuery = 'SELECT ApexTestClassId, ApexClassOrTrigger.Id, ApexClassOrTrigger.Name, TestMethodName, NumLinesCovered, NumLinesUncovered, Coverage FROM ApexCodeCoverage WHERE ApexTestClassId IN (%s)';
114
- return this.fetchResults(apexTestClassSet, perClassCodeCovQuery);
115
- });
105
+ async queryPerClassCodeCov(apexTestClassSet) {
106
+ const perClassCodeCovQuery = 'SELECT ApexTestClassId, ApexClassOrTrigger.Id, ApexClassOrTrigger.Name, TestMethodName, NumLinesCovered, NumLinesUncovered, Coverage FROM ApexCodeCoverage WHERE ApexTestClassId IN (%s)';
107
+ return this.fetchResults(apexTestClassSet, perClassCodeCovQuery);
116
108
  }
117
- queryAggregateCodeCov(apexClassIdSet) {
118
- return __awaiter(this, void 0, void 0, function* () {
119
- const codeCoverageQuery = 'SELECT ApexClassOrTrigger.Id, ApexClassOrTrigger.Name, NumLinesCovered, NumLinesUncovered, Coverage FROM ApexCodeCoverageAggregate WHERE ApexClassorTriggerId IN (%s)';
120
- return this.fetchResults(apexClassIdSet, codeCoverageQuery);
121
- });
109
+ async queryAggregateCodeCov(apexClassIdSet) {
110
+ const codeCoverageQuery = 'SELECT ApexClassOrTrigger.Id, ApexClassOrTrigger.Name, NumLinesCovered, NumLinesUncovered, Coverage FROM ApexCodeCoverageAggregate WHERE ApexClassorTriggerId IN (%s)';
111
+ return this.fetchResults(apexClassIdSet, codeCoverageQuery);
122
112
  }
123
- fetchResults(idSet, selectQuery) {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- const queries = this.createQueries(selectQuery, idSet);
126
- const queryPromises = queries.map((query) => {
127
- // The query method returns a type QueryResult from jsforce
128
- // that has takes a type that extends the jsforce Record.
129
- // ApexCodeCoverageRecord and ApexCodeCoverageAggregateRecord
130
- // are the Records compatible types defined in this project.
131
- return this.connection.tooling.query(query, {
132
- autoFetch: true
133
- });
134
- });
135
- // Note here the result of the .all call is of type QueryResult<ApexCodeCoverageAggregateRecord | ApexCodeCoverageRecord>[]
136
- // Since QueryResult is compatible with ApexCodeCoverage and ApexCodeCoverageAggregate we can cast to T[]
137
- // and things work out.
138
- //TODO: figure out how to use the provided types from core instead of having to work around typescript here.
139
- return (yield Promise.all(queryPromises));
113
+ async fetchResults(idSet, selectQuery) {
114
+ const queries = this.createQueries(selectQuery, idSet);
115
+ const queryPromises = queries.map((query) => {
116
+ // The query method returns a type QueryResult from jsforce
117
+ // that has takes a type that extends the jsforce Record.
118
+ // ApexCodeCoverageRecord and ApexCodeCoverageAggregateRecord
119
+ // are the Records compatible types defined in this project.
120
+ return (0, utils_1.queryAll)(this.connection, query, true);
140
121
  });
122
+ // Note here the result of the .all call is of type QueryResult<ApexCodeCoverageAggregateRecord | ApexCodeCoverageRecord>[]
123
+ // Since QueryResult is compatible with ApexCodeCoverage and ApexCodeCoverageAggregate we can cast to T[]
124
+ // and things work out.
125
+ //TODO: figure out how to use the provided types from core instead of having to work around typescript here.
126
+ return (await Promise.all(queryPromises));
141
127
  }
142
128
  createQueries(selectQuery, idSet) {
143
129
  const idArray = [...idSet];
@@ -1 +1 @@
1
- {"version":3,"file":"codeCoverage.js","sourceRoot":"","sources":["../../../src/tests/codeCoverage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeCoverage.js","sourceRoot":"","sources":["../../../src/tests/codeCoverage.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.getAsyncDiagnostic = exports.getSyncDiagnostic = exports.formatTestErrors = void 0;
10
10
  const i18n_1 = require("../i18n");
11
11
  function formatTestErrors(error) {
12
- var _a;
13
- const matches = (_a = error.message) === null || _a === void 0 ? void 0 : _a.match(/\bsObject type ["'](.*?)["'] is not supported\b/);
12
+ const matches = error.message?.match(/\bsObject type ["'](.*?)["'] is not supported\b/);
14
13
  if (matches && matches[0] && matches[1]) {
15
14
  error.message = i18n_1.nls.localize('invalidsObjectErr', [
16
15
  matches[1],
@@ -1 +1 @@
1
- {"version":3,"file":"diagnosticUtil.js","sourceRoot":"","sources":["../../../src/tests/diagnosticUtil.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,kCAA8B;AAI9B,SAAgB,gBAAgB,CAAC,KAAY;;IAC3C,MAAM,OAAO,GAAG,MAAA,KAAK,CAAC,OAAO,0CAAE,KAAK,CAClC,iDAAiD,CAClD,CAAC;IACF,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;QACvC,KAAK,CAAC,OAAO,GAAG,UAAG,CAAC,QAAQ,CAAC,mBAAmB,EAAE;YAChD,OAAO,CAAC,CAAC,CAAC;YACV,KAAK,CAAC,OAAO;SACd,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;KACd;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAbD,4CAaC;AAED,SAAgB,iBAAiB,CAAC,UAA2B;IAC3D,MAAM,UAAU,GAAmB;QACjC,gBAAgB,EAAE,UAAU,CAAC,OAAO;QACpC,mBAAmB,EAAE,UAAU,CAAC,UAAU;QAC1C,SAAS,EAAE,UAAU,CAAC,UAAU;YAC9B,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,SAAS;QACb,cAAc,EAAE,EAAE;KACnB,CAAC;IAEF,MAAM,OAAO,GACX,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC5D,IAAI,OAAO,EAAE;QACX,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACd,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACd,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9C;KACF;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAtBD,8CAsBC;AAED,SAAgB,kBAAkB,CAChC,WAAiC;IAEjC,MAAM,UAAU,GAAmB;QACjC,gBAAgB,EAAE,WAAW,CAAC,OAAO;QACrC,mBAAmB,EAAE,WAAW,CAAC,UAAU;QAC3C,SAAS,EAAE,WAAW,CAAC,UAAU;YAC/B,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,SAAS;QACb,cAAc,EAAE,EAAE;KACnB,CAAC;IAEF,MAAM,OAAO,GACX,WAAW,CAAC,UAAU;QACtB,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC7D,IAAI,OAAO,EAAE;QACX,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACd,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACd,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9C;KACF;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAxBD,gDAwBC"}
1
+ {"version":3,"file":"diagnosticUtil.js","sourceRoot":"","sources":["../../../src/tests/diagnosticUtil.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,kCAA8B;AAI9B,SAAgB,gBAAgB,CAAC,KAAY;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAClC,iDAAiD,CAClD,CAAC;IACF,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,OAAO,GAAG,UAAG,CAAC,QAAQ,CAAC,mBAAmB,EAAE;YAChD,OAAO,CAAC,CAAC,CAAC;YACV,KAAK,CAAC,OAAO;SACd,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAbD,4CAaC;AAED,SAAgB,iBAAiB,CAAC,UAA2B;IAC3D,MAAM,UAAU,GAAmB;QACjC,gBAAgB,EAAE,UAAU,CAAC,OAAO;QACpC,mBAAmB,EAAE,UAAU,CAAC,UAAU;QAC1C,SAAS,EAAE,UAAU,CAAC,UAAU;YAC9B,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,SAAS;QACb,cAAc,EAAE,EAAE;KACnB,CAAC;IAEF,MAAM,OAAO,GACX,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC5D,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAtBD,8CAsBC;AAED,SAAgB,kBAAkB,CAChC,WAAiC;IAEjC,MAAM,UAAU,GAAmB;QACjC,gBAAgB,EAAE,WAAW,CAAC,OAAO;QACrC,mBAAmB,EAAE,WAAW,CAAC,UAAU;QAC3C,SAAS,EAAE,WAAW,CAAC,UAAU;YAC/B,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,SAAS;QACb,cAAc,EAAE,EAAE;KACnB,CAAC;IAEF,MAAM,OAAO,GACX,WAAW,CAAC,UAAU;QACtB,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC7D,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAxBD,gDAwBC"}
@@ -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.SyncTests = void 0;
19
10
  const utils_1 = require("../utils");
@@ -31,86 +22,80 @@ class SyncTests {
31
22
  * @param codeCoverage should report code coverage
32
23
  * @param token cancellation token
33
24
  */
34
- runTests(options, codeCoverage = false, token) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- try {
37
- const url = `${this.connection.tooling._baseUrl()}/runTestsSynchronous`;
38
- const request = {
39
- method: 'POST',
40
- url,
41
- body: JSON.stringify(options),
42
- headers: { 'content-type': 'application/json' }
43
- };
44
- const testRun = (yield this.connection.tooling.request(request));
45
- if (token && token.isCancellationRequested) {
46
- return null;
47
- }
48
- return yield this.formatSyncResults(testRun, (0, utils_1.getCurrentTime)(), codeCoverage);
49
- }
50
- catch (e) {
51
- throw (0, diagnosticUtil_1.formatTestErrors)(e);
25
+ async runTests(options, codeCoverage = false, token) {
26
+ try {
27
+ const url = `${this.connection.tooling._baseUrl()}/runTestsSynchronous`;
28
+ const request = {
29
+ method: 'POST',
30
+ url,
31
+ body: JSON.stringify(options),
32
+ headers: { 'content-type': 'application/json' }
33
+ };
34
+ const testRun = (await this.connection.tooling.request(request));
35
+ if (token && token.isCancellationRequested) {
36
+ return null;
52
37
  }
53
- });
38
+ return await this.formatSyncResults(testRun, (0, utils_1.getCurrentTime)(), codeCoverage);
39
+ }
40
+ catch (e) {
41
+ throw (0, diagnosticUtil_1.formatTestErrors)(e);
42
+ }
54
43
  }
55
- formatSyncResults(apiTestResult, startTime, codeCoverage = false) {
56
- var _a, _b;
57
- return __awaiter(this, void 0, void 0, function* () {
58
- const coveredApexClassIdSet = new Set();
59
- const { apexTestClassIdSet, testResults } = this.buildSyncTestResults(apiTestResult);
60
- const globalTestFailed = apiTestResult.failures.length;
61
- const globalTestPassed = apiTestResult.successes.length;
62
- const result = {
63
- summary: {
64
- outcome: globalTestFailed === 0
65
- ? "Passed" /* ApexTestRunResultStatus.Passed */
66
- : "Failed" /* ApexTestRunResultStatus.Failed */,
67
- testsRan: apiTestResult.numTestsRun,
68
- passing: globalTestPassed,
69
- failing: globalTestFailed,
70
- skipped: 0,
71
- passRate: (0, utils_2.calculatePercentage)(globalTestPassed, apiTestResult.numTestsRun),
72
- failRate: (0, utils_2.calculatePercentage)(globalTestFailed, apiTestResult.numTestsRun),
73
- skipRate: (0, utils_2.calculatePercentage)(0, apiTestResult.numTestsRun),
74
- testStartTime: (0, utils_1.formatStartTime)(startTime, 'ISO'),
75
- testExecutionTimeInMs: (_a = apiTestResult.totalTime) !== null && _a !== void 0 ? _a : 0,
76
- testTotalTimeInMs: (_b = apiTestResult.totalTime) !== null && _b !== void 0 ? _b : 0,
77
- commandTimeInMs: (0, utils_1.getCurrentTime)() - startTime,
78
- hostname: this.connection.instanceUrl,
79
- orgId: this.connection.getAuthInfoFields().orgId,
80
- username: this.connection.getUsername(),
81
- testRunId: '',
82
- userId: this.connection.getConnectionOptions().userId
83
- },
84
- tests: testResults
85
- };
86
- if (codeCoverage) {
87
- const perClassCovMap = yield this.codecoverage.getPerClassCodeCoverage(apexTestClassIdSet);
88
- if (perClassCovMap.size > 0) {
89
- result.tests.forEach((item) => {
90
- const keyCodeCov = `${item.apexClass.id}-${item.methodName}`;
91
- const perClassCov = perClassCovMap.get(keyCodeCov);
92
- if (perClassCov) {
93
- perClassCov.forEach((classCov) => coveredApexClassIdSet.add(classCov.apexClassOrTriggerId));
94
- item.perClassCoverage = perClassCov;
95
- }
96
- });
97
- }
98
- const { codeCoverageResults, totalLines, coveredLines } = yield this.codecoverage.getAggregateCodeCoverage(coveredApexClassIdSet);
99
- result.codecoverage = codeCoverageResults;
100
- result.summary.totalLines = totalLines;
101
- result.summary.coveredLines = coveredLines;
102
- result.summary.testRunCoverage = (0, utils_2.calculatePercentage)(coveredLines, totalLines);
103
- result.summary.orgWideCoverage =
104
- yield this.codecoverage.getOrgWideCoverage();
44
+ async formatSyncResults(apiTestResult, startTime, codeCoverage = false) {
45
+ const coveredApexClassIdSet = new Set();
46
+ const { apexTestClassIdSet, testResults } = this.buildSyncTestResults(apiTestResult);
47
+ const globalTestFailed = apiTestResult.failures.length;
48
+ const globalTestPassed = apiTestResult.successes.length;
49
+ const result = {
50
+ summary: {
51
+ outcome: globalTestFailed === 0
52
+ ? "Passed" /* ApexTestRunResultStatus.Passed */
53
+ : "Failed" /* ApexTestRunResultStatus.Failed */,
54
+ testsRan: apiTestResult.numTestsRun,
55
+ passing: globalTestPassed,
56
+ failing: globalTestFailed,
57
+ skipped: 0,
58
+ passRate: (0, utils_2.calculatePercentage)(globalTestPassed, apiTestResult.numTestsRun),
59
+ failRate: (0, utils_2.calculatePercentage)(globalTestFailed, apiTestResult.numTestsRun),
60
+ skipRate: (0, utils_2.calculatePercentage)(0, apiTestResult.numTestsRun),
61
+ testStartTime: (0, utils_1.formatStartTime)(startTime, 'ISO'),
62
+ testExecutionTimeInMs: apiTestResult.totalTime ?? 0,
63
+ testTotalTimeInMs: apiTestResult.totalTime ?? 0,
64
+ commandTimeInMs: (0, utils_1.getCurrentTime)() - startTime,
65
+ hostname: this.connection.instanceUrl,
66
+ orgId: this.connection.getAuthInfoFields().orgId,
67
+ username: this.connection.getUsername(),
68
+ testRunId: '',
69
+ userId: this.connection.getConnectionOptions().userId
70
+ },
71
+ tests: testResults
72
+ };
73
+ if (codeCoverage) {
74
+ const perClassCovMap = await this.codecoverage.getPerClassCodeCoverage(apexTestClassIdSet);
75
+ if (perClassCovMap.size > 0) {
76
+ result.tests.forEach((item) => {
77
+ const keyCodeCov = `${item.apexClass.id}-${item.methodName}`;
78
+ const perClassCov = perClassCovMap.get(keyCodeCov);
79
+ if (perClassCov) {
80
+ perClassCov.forEach((classCov) => coveredApexClassIdSet.add(classCov.apexClassOrTriggerId));
81
+ item.perClassCoverage = perClassCov;
82
+ }
83
+ });
105
84
  }
106
- return result;
107
- });
85
+ const { codeCoverageResults, totalLines, coveredLines } = await this.codecoverage.getAggregateCodeCoverage(coveredApexClassIdSet);
86
+ result.codecoverage = codeCoverageResults;
87
+ result.summary.totalLines = totalLines;
88
+ result.summary.coveredLines = coveredLines;
89
+ result.summary.testRunCoverage = (0, utils_2.calculatePercentage)(coveredLines, totalLines);
90
+ result.summary.orgWideCoverage =
91
+ await this.codecoverage.getOrgWideCoverage();
92
+ }
93
+ return result;
108
94
  }
109
95
  buildSyncTestResults(apiTestResult) {
110
96
  const testResults = [];
111
97
  const apexTestClassIdSet = new Set();
112
98
  apiTestResult.successes.forEach((item) => {
113
- var _a;
114
99
  const nms = item.namespace ? `${item.namespace}.` : '';
115
100
  apexTestClassIdSet.add(item.id);
116
101
  testResults.push({
@@ -128,22 +113,35 @@ class SyncTests {
128
113
  namespacePrefix: item.namespace,
129
114
  fullName: `${nms}${item.name}`
130
115
  },
131
- runTime: (_a = item.time) !== null && _a !== void 0 ? _a : 0,
116
+ runTime: item.time ?? 0,
132
117
  testTimestamp: '',
133
118
  fullName: `${nms}${item.name}.${item.methodName}`
134
119
  });
135
120
  });
136
121
  apiTestResult.failures.forEach((item) => {
137
- var _a;
138
122
  const nms = item.namespace ? `${item.namespace}__` : '';
139
123
  apexTestClassIdSet.add(item.id);
140
124
  const diagnostic = item.message || item.stackTrace ? (0, diagnosticUtil_1.getSyncDiagnostic)(item) : null;
141
- testResults.push(Object.assign({ id: '', queueItemId: '', stackTrace: item.stackTrace, message: item.message, asyncApexJobId: '', methodName: item.methodName, outcome: "Fail" /* ApexTestResultOutcome.Fail */, apexLogId: apiTestResult.apexLogId, apexClass: {
125
+ testResults.push({
126
+ id: '',
127
+ queueItemId: '',
128
+ stackTrace: item.stackTrace,
129
+ message: item.message,
130
+ asyncApexJobId: '',
131
+ methodName: item.methodName,
132
+ outcome: "Fail" /* ApexTestResultOutcome.Fail */,
133
+ apexLogId: apiTestResult.apexLogId,
134
+ apexClass: {
142
135
  id: item.id,
143
136
  name: item.name,
144
137
  namespacePrefix: item.namespace,
145
138
  fullName: `${nms}${item.name}`
146
- }, runTime: (_a = item.time) !== null && _a !== void 0 ? _a : 0, testTimestamp: '', fullName: `${nms}${item.name}.${item.methodName}` }, (diagnostic ? { diagnostic } : {})));
139
+ },
140
+ runTime: item.time ?? 0,
141
+ testTimestamp: '',
142
+ fullName: `${nms}${item.name}.${item.methodName}`,
143
+ ...(diagnostic ? { diagnostic } : {})
144
+ });
147
145
  });
148
146
  return { apexTestClassIdSet, testResults };
149
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"syncTests.js","sourceRoot":"","sources":["../../../src/tests/syncTests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncTests.js","sourceRoot":"","sources":["../../../src/tests/syncTests.ts"],"names":[],"mappings":"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"}