@salesforce/apex-node 2.1.3 → 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/execute/types.d.ts +3 -3
- package/lib/src/execute/utils.js +1 -1
- package/lib/src/execute/utils.js.map +1 -1
- package/lib/src/i18n/index.js.map +1 -1
- package/lib/src/i18n/localization.d.ts +1 -1
- package/lib/src/i18n/localization.js +1 -1
- package/lib/src/i18n/localization.js.map +1 -1
- package/lib/src/logs/logService.d.ts +1 -1
- package/lib/src/logs/logService.js +73 -101
- package/lib/src/logs/logService.js.map +1 -1
- package/lib/src/logs/types.d.ts +3 -3
- package/lib/src/reporters/coverageReporter.d.ts +1 -1
- package/lib/src/reporters/coverageReporter.js +9 -11
- package/lib/src/reporters/coverageReporter.js.map +1 -1
- package/lib/src/reporters/humanReporter.js +2 -2
- package/lib/src/reporters/humanReporter.js.map +1 -1
- package/lib/src/reporters/junitReporter.js +2 -2
- package/lib/src/reporters/junitReporter.js.map +1 -1
- package/lib/src/reporters/tapReporter.js +6 -6
- package/lib/src/reporters/tapReporter.js.map +1 -1
- package/lib/src/streaming/streamingClient.js +116 -137
- package/lib/src/streaming/streamingClient.js.map +1 -1
- package/lib/src/streaming/types.d.ts +4 -4
- package/lib/src/streaming/types.js +3 -3
- package/lib/src/streaming/types.js.map +1 -1
- package/lib/src/tests/asyncTests.js +234 -246
- package/lib/src/tests/asyncTests.js.map +1 -1
- package/lib/src/tests/codeCoverage.js +86 -100
- 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 +86 -87
- 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/types.d.ts +31 -31
- package/lib/src/tests/types.js +5 -5
- package/lib/src/tests/types.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 +4 -15
- package/lib/src/utils/authUtil.js.map +1 -1
- package/lib/src/utils/dateUtil.js.map +1 -1
- package/lib/src/utils/fileSystemHandler.js +8 -19
- package/lib/src/utils/fileSystemHandler.js.map +1 -1
- package/lib/src/utils/table.js +3 -3
- 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/lib/src/utils/types.d.ts +9 -9
- package/package.json +36 -39
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncTests.js","sourceRoot":"","sources":["../../../src/tests/asyncTests.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"asyncTests.js","sourceRoot":"","sources":["../../../src/tests/asyncTests.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.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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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
|
-
|
|
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
|
-
|
|
113
|
-
|
|
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
|
-
|
|
119
|
-
|
|
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
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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];
|
|
@@ -145,7 +131,7 @@ class CodeCoverage {
|
|
|
145
131
|
for (let i = 0; i < idArray.length; i += constants_1.QUERY_RECORD_LIMIT) {
|
|
146
132
|
const recordSet = idArray
|
|
147
133
|
.slice(i, i + constants_1.QUERY_RECORD_LIMIT)
|
|
148
|
-
.map(id => `'${id}'`);
|
|
134
|
+
.map((id) => `'${id}'`);
|
|
149
135
|
const query = util.format(selectQuery, recordSet.join(','));
|
|
150
136
|
queries.push(query);
|
|
151
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeCoverage.js","sourceRoot":"","sources":["../../../src/tests/codeCoverage.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
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
|
-
|
|
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
|
|
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,85 +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
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
if (
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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 = 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
|
+
});
|
|
104
84
|
}
|
|
105
|
-
|
|
106
|
-
|
|
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;
|
|
107
94
|
}
|
|
108
95
|
buildSyncTestResults(apiTestResult) {
|
|
109
96
|
const testResults = [];
|
|
110
97
|
const apexTestClassIdSet = new Set();
|
|
111
|
-
apiTestResult.successes.forEach(item => {
|
|
112
|
-
var _a;
|
|
98
|
+
apiTestResult.successes.forEach((item) => {
|
|
113
99
|
const nms = item.namespace ? `${item.namespace}.` : '';
|
|
114
100
|
apexTestClassIdSet.add(item.id);
|
|
115
101
|
testResults.push({
|
|
@@ -119,7 +105,7 @@ class SyncTests {
|
|
|
119
105
|
message: '',
|
|
120
106
|
asyncApexJobId: '',
|
|
121
107
|
methodName: item.methodName,
|
|
122
|
-
outcome: "Pass" /* Pass */,
|
|
108
|
+
outcome: "Pass" /* ApexTestResultOutcome.Pass */,
|
|
123
109
|
apexLogId: apiTestResult.apexLogId,
|
|
124
110
|
apexClass: {
|
|
125
111
|
id: item.id,
|
|
@@ -127,22 +113,35 @@ class SyncTests {
|
|
|
127
113
|
namespacePrefix: item.namespace,
|
|
128
114
|
fullName: `${nms}${item.name}`
|
|
129
115
|
},
|
|
130
|
-
runTime:
|
|
116
|
+
runTime: item.time ?? 0,
|
|
131
117
|
testTimestamp: '',
|
|
132
118
|
fullName: `${nms}${item.name}.${item.methodName}`
|
|
133
119
|
});
|
|
134
120
|
});
|
|
135
|
-
apiTestResult.failures.forEach(item => {
|
|
136
|
-
var _a;
|
|
121
|
+
apiTestResult.failures.forEach((item) => {
|
|
137
122
|
const nms = item.namespace ? `${item.namespace}__` : '';
|
|
138
123
|
apexTestClassIdSet.add(item.id);
|
|
139
124
|
const diagnostic = item.message || item.stackTrace ? (0, diagnosticUtil_1.getSyncDiagnostic)(item) : null;
|
|
140
|
-
testResults.push(
|
|
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: {
|
|
141
135
|
id: item.id,
|
|
142
136
|
name: item.name,
|
|
143
137
|
namespacePrefix: item.namespace,
|
|
144
138
|
fullName: `${nms}${item.name}`
|
|
145
|
-
},
|
|
139
|
+
},
|
|
140
|
+
runTime: item.time ?? 0,
|
|
141
|
+
testTimestamp: '',
|
|
142
|
+
fullName: `${nms}${item.name}.${item.methodName}`,
|
|
143
|
+
...(diagnostic ? { diagnostic } : {})
|
|
144
|
+
});
|
|
146
145
|
});
|
|
147
146
|
return { apexTestClassIdSet, testResults };
|
|
148
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncTests.js","sourceRoot":"","sources":["../../../src/tests/syncTests.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"syncTests.js","sourceRoot":"","sources":["../../../src/tests/syncTests.ts"],"names":[],"mappings":"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"}
|