@salesforce/apex-node 6.0.1 → 6.1.1
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/execute/executeService.js +2 -1
- package/lib/src/execute/executeService.js.map +1 -1
- package/lib/src/reporters/coverageReporter.js +6 -5
- package/lib/src/reporters/coverageReporter.js.map +1 -1
- package/lib/src/reporters/humanFormatTransform.d.ts +1 -0
- package/lib/src/reporters/humanFormatTransform.js +38 -4
- package/lib/src/reporters/humanFormatTransform.js.map +1 -1
- package/lib/src/reporters/humanReporter.js +42 -12
- package/lib/src/reporters/humanReporter.js.map +1 -1
- package/lib/src/reporters/index.d.ts +2 -1
- package/lib/src/reporters/index.js +5 -3
- package/lib/src/reporters/index.js.map +1 -1
- package/lib/src/reporters/junitFormatTransformer.d.ts +8 -1
- package/lib/src/reporters/junitFormatTransformer.js +48 -19
- package/lib/src/reporters/junitFormatTransformer.js.map +1 -1
- package/lib/src/reporters/junitReporter.js +21 -15
- package/lib/src/reporters/junitReporter.js.map +1 -1
- package/lib/src/reporters/tapFormatTransform.d.ts +8 -1
- package/lib/src/reporters/tapFormatTransform.js +50 -5
- package/lib/src/reporters/tapFormatTransform.js.map +1 -1
- package/lib/src/reporters/tapReporter.js +48 -18
- package/lib/src/reporters/tapReporter.js.map +1 -1
- package/lib/src/streaming/index.d.ts +1 -2
- package/lib/src/streaming/index.js +1 -4
- package/lib/src/streaming/index.js.map +1 -1
- package/lib/src/streaming/testResultStringifyStream.d.ts +10 -2
- package/lib/src/streaming/testResultStringifyStream.js +68 -29
- package/lib/src/streaming/testResultStringifyStream.js.map +1 -1
- package/lib/src/streaming/utils.d.ts +0 -3
- package/lib/src/streaming/utils.js +7 -14
- package/lib/src/streaming/utils.js.map +1 -1
- package/lib/src/tests/asyncTests.d.ts +3 -0
- package/lib/src/tests/asyncTests.js +197 -134
- package/lib/src/tests/asyncTests.js.map +1 -1
- package/lib/src/tests/codeCoverage.js +86 -68
- package/lib/src/tests/codeCoverage.js.map +1 -1
- package/lib/src/tests/syncTests.js +113 -98
- package/lib/src/tests/syncTests.js.map +1 -1
- package/lib/src/tests/testService.d.ts +5 -0
- package/lib/src/tests/testService.js +119 -96
- package/lib/src/tests/testService.js.map +1 -1
- package/lib/src/tests/utils.d.ts +3 -0
- package/lib/src/tests/utils.js +53 -1
- package/lib/src/tests/utils.js.map +1 -1
- package/lib/src/utils/heapMonitor.d.ts +72 -0
- package/lib/src/utils/heapMonitor.js +164 -0
- package/lib/src/utils/heapMonitor.js.map +1 -0
- package/lib/src/utils/index.d.ts +1 -0
- package/lib/src/utils/index.js +3 -1
- package/lib/src/utils/index.js.map +1 -1
- package/lib/src/utils/tableWritableStream.js +33 -5
- package/lib/src/utils/tableWritableStream.js.map +1 -1
- package/package.json +15 -14
- package/lib/src/streaming/codeCoverageStringifyStream.d.ts +0 -12
- package/lib/src/streaming/codeCoverageStringifyStream.js +0 -80
- package/lib/src/streaming/codeCoverageStringifyStream.js.map +0 -1
- package/lib/src/streaming/jsonStringifyStream.d.ts +0 -18
- package/lib/src/streaming/jsonStringifyStream.js +0 -118
- package/lib/src/streaming/jsonStringifyStream.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"junitReporter.js","sourceRoot":"","sources":["../../../src/reporters/junitReporter.ts"],"names":[],"mappings":";;;;;;;;;AAWA,
|
|
1
|
+
{"version":3,"file":"junitReporter.js","sourceRoot":"","sources":["../../../src/reporters/junitReporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,17 @@ export interface TapResult {
|
|
|
7
7
|
outcome: string;
|
|
8
8
|
testNumber: number;
|
|
9
9
|
}
|
|
10
|
+
export type TapFormatTransformerOptions = ReadableOptions & {
|
|
11
|
+
bufferSize?: number;
|
|
12
|
+
};
|
|
10
13
|
export declare class TapFormatTransformer extends Readable {
|
|
14
|
+
private readonly logger;
|
|
11
15
|
private testResult;
|
|
12
16
|
private epilogue?;
|
|
13
|
-
|
|
17
|
+
private buffer;
|
|
18
|
+
private bufferSize;
|
|
19
|
+
constructor(testResult: TestResult, epilogue?: string[], options?: TapFormatTransformerOptions);
|
|
20
|
+
private pushToBuffer;
|
|
14
21
|
_read(): void;
|
|
15
22
|
format(): void;
|
|
16
23
|
buildTapResults(): void;
|
|
@@ -1,10 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
2
18
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
19
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
20
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
21
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
22
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
23
|
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
+
if (mod && mod.__esModule) return mod;
|
|
26
|
+
var result = {};
|
|
27
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
+
__setModuleDefault(result, mod);
|
|
29
|
+
return result;
|
|
30
|
+
};
|
|
8
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
32
|
exports.TapFormatTransformer = void 0;
|
|
10
33
|
/*
|
|
@@ -13,35 +36,57 @@ exports.TapFormatTransformer = void 0;
|
|
|
13
36
|
* Licensed under the BSD 3-Clause license.
|
|
14
37
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
15
38
|
*/
|
|
39
|
+
const core_1 = require("@salesforce/core");
|
|
16
40
|
const node_stream_1 = require("node:stream");
|
|
17
41
|
const utils_1 = require("../utils");
|
|
42
|
+
const os = __importStar(require("node:os"));
|
|
18
43
|
class TapFormatTransformer extends node_stream_1.Readable {
|
|
44
|
+
logger;
|
|
19
45
|
testResult;
|
|
20
46
|
epilogue;
|
|
47
|
+
buffer;
|
|
48
|
+
bufferSize;
|
|
21
49
|
constructor(testResult, epilogue, options) {
|
|
22
50
|
super(options);
|
|
23
51
|
this.testResult = testResult;
|
|
24
52
|
this.epilogue = epilogue;
|
|
53
|
+
this.logger = core_1.Logger.childFromRoot('TapFormatTransformer');
|
|
54
|
+
this.buffer = '';
|
|
55
|
+
this.bufferSize = options?.bufferSize || 256; // Default buffer size is 256
|
|
56
|
+
}
|
|
57
|
+
pushToBuffer(chunk) {
|
|
58
|
+
this.buffer += chunk;
|
|
59
|
+
if (this.buffer.length >= this.bufferSize) {
|
|
60
|
+
this.push(this.buffer);
|
|
61
|
+
this.buffer = '';
|
|
62
|
+
}
|
|
25
63
|
}
|
|
26
64
|
_read() {
|
|
65
|
+
this.logger.trace('starting format');
|
|
66
|
+
utils_1.HeapMonitor.getInstance().checkHeapSize('TapFormatTransformer._read');
|
|
27
67
|
this.format();
|
|
68
|
+
if (this.buffer.length > 0) {
|
|
69
|
+
this.push(this.buffer);
|
|
70
|
+
}
|
|
28
71
|
this.push(null); // Signal the end of the stream
|
|
72
|
+
this.logger.trace('finishing format');
|
|
73
|
+
utils_1.HeapMonitor.getInstance().checkHeapSize('TapFormatTransformer._read');
|
|
29
74
|
}
|
|
30
75
|
format() {
|
|
31
76
|
const testPointCount = this.testResult.tests.length;
|
|
32
|
-
this.
|
|
77
|
+
this.pushToBuffer(`1..${testPointCount}\n`);
|
|
33
78
|
this.buildTapResults();
|
|
34
79
|
this.epilogue?.forEach((c) => {
|
|
35
|
-
this.
|
|
80
|
+
this.pushToBuffer(`# ${c}\n`);
|
|
36
81
|
});
|
|
37
82
|
}
|
|
38
83
|
buildTapResults() {
|
|
39
84
|
this.testResult.tests.forEach((test, index) => {
|
|
40
85
|
const testNumber = index + 1;
|
|
41
86
|
const outcome = test.outcome === "Pass" /* ApexTestResultOutcome.Pass */ ? 'ok' : 'not ok';
|
|
42
|
-
this.
|
|
87
|
+
this.pushToBuffer(`${outcome} ${testNumber} ${test.fullName}\n`);
|
|
43
88
|
this.buildTapDiagnostics(test).forEach((s) => {
|
|
44
|
-
this.
|
|
89
|
+
this.pushToBuffer(`# ${s}\n`);
|
|
45
90
|
});
|
|
46
91
|
});
|
|
47
92
|
}
|
|
@@ -65,7 +110,7 @@ class TapFormatTransformer extends node_stream_1.Readable {
|
|
|
65
110
|
message.push('Unknown error');
|
|
66
111
|
}
|
|
67
112
|
if (testResult.stackTrace) {
|
|
68
|
-
testResult.stackTrace.split(
|
|
113
|
+
testResult.stackTrace.split(os.EOL).forEach((line) => {
|
|
69
114
|
message.push(line);
|
|
70
115
|
});
|
|
71
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tapFormatTransform.js","sourceRoot":"","sources":["../../../src/reporters/tapFormatTransform.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tapFormatTransform.js","sourceRoot":"","sources":["../../../src/reporters/tapFormatTransform.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,59 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
2
18
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
19
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
20
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
21
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
22
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
23
|
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
+
if (mod && mod.__esModule) return mod;
|
|
26
|
+
var result = {};
|
|
27
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
+
__setModuleDefault(result, mod);
|
|
29
|
+
return result;
|
|
30
|
+
};
|
|
8
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
32
|
exports.TapReporter = void 0;
|
|
10
|
-
const
|
|
33
|
+
const utils_1 = require("../utils");
|
|
34
|
+
const os = __importStar(require("node:os"));
|
|
11
35
|
class TapReporter {
|
|
12
36
|
format(testResult, epilog) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
out = out.concat(
|
|
19
|
-
|
|
20
|
-
out = out.concat(
|
|
37
|
+
utils_1.HeapMonitor.getInstance().checkHeapSize('TapReporter.format');
|
|
38
|
+
try {
|
|
39
|
+
const results = this.buildTapResults(testResult);
|
|
40
|
+
const testPointCount = results.length;
|
|
41
|
+
let out = '';
|
|
42
|
+
out = out.concat(`1..${testPointCount}\n`);
|
|
43
|
+
results.forEach((testPoint) => {
|
|
44
|
+
out = out.concat(`${testPoint.outcome} ${testPoint.testNumber} ${testPoint.description}\n`);
|
|
45
|
+
testPoint.diagnostics.forEach((s) => {
|
|
46
|
+
out = out.concat(`# ${s}\n`);
|
|
47
|
+
});
|
|
21
48
|
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
49
|
+
epilog?.forEach((c) => {
|
|
50
|
+
out = out.concat(`# ${c}\n`);
|
|
51
|
+
});
|
|
52
|
+
return out;
|
|
53
|
+
}
|
|
54
|
+
finally {
|
|
55
|
+
utils_1.HeapMonitor.getInstance().checkHeapSize('TapReporter.format');
|
|
56
|
+
}
|
|
27
57
|
}
|
|
28
58
|
buildTapResults(testResult) {
|
|
29
59
|
const tapResults = [];
|
|
@@ -59,7 +89,7 @@ class TapReporter {
|
|
|
59
89
|
message.push('Unknown error');
|
|
60
90
|
}
|
|
61
91
|
if (testResult.stackTrace) {
|
|
62
|
-
testResult.stackTrace.split(
|
|
92
|
+
testResult.stackTrace.split(os.EOL).forEach((line) => {
|
|
63
93
|
message.push(line);
|
|
64
94
|
});
|
|
65
95
|
}
|
|
@@ -69,12 +99,12 @@ class TapReporter {
|
|
|
69
99
|
}
|
|
70
100
|
exports.TapReporter = TapReporter;
|
|
71
101
|
__decorate([
|
|
72
|
-
(0,
|
|
102
|
+
(0, utils_1.elapsedTime)()
|
|
73
103
|
], TapReporter.prototype, "format", null);
|
|
74
104
|
__decorate([
|
|
75
|
-
(0,
|
|
105
|
+
(0, utils_1.elapsedTime)()
|
|
76
106
|
], TapReporter.prototype, "buildTapResults", null);
|
|
77
107
|
__decorate([
|
|
78
|
-
(0,
|
|
108
|
+
(0, utils_1.elapsedTime)()
|
|
79
109
|
], TapReporter.prototype, "buildTapDiagnostics", null);
|
|
80
110
|
//# sourceMappingURL=tapReporter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tapReporter.js","sourceRoot":"","sources":["../../../src/reporters/tapReporter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tapReporter.js","sourceRoot":"","sources":["../../../src/reporters/tapReporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
export { AsyncTestRun, StreamingClient } from './streamingClient';
|
|
2
|
-
export { JSONStringifyStream } from './jsonStringifyStream';
|
|
3
2
|
export { TestResultStringifyStream } from './testResultStringifyStream';
|
|
4
|
-
export { determineType, getArrayEntries, getPrimitiveEntries, getObjectEntries
|
|
3
|
+
export { determineType, getArrayEntries, getPrimitiveEntries, getObjectEntries } from './utils';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getObjectEntries = exports.getPrimitiveEntries = exports.getArrayEntries = exports.determineType = exports.TestResultStringifyStream = exports.StreamingClient = void 0;
|
|
4
4
|
/*
|
|
5
5
|
* Copyright (c) 2020, salesforce.com, inc.
|
|
6
6
|
* All rights reserved.
|
|
@@ -9,8 +9,6 @@ exports.pushArrayToStream = exports.getObjectEntries = exports.getPrimitiveEntri
|
|
|
9
9
|
*/
|
|
10
10
|
var streamingClient_1 = require("./streamingClient");
|
|
11
11
|
Object.defineProperty(exports, "StreamingClient", { enumerable: true, get: function () { return streamingClient_1.StreamingClient; } });
|
|
12
|
-
var jsonStringifyStream_1 = require("./jsonStringifyStream");
|
|
13
|
-
Object.defineProperty(exports, "JSONStringifyStream", { enumerable: true, get: function () { return jsonStringifyStream_1.JSONStringifyStream; } });
|
|
14
12
|
var testResultStringifyStream_1 = require("./testResultStringifyStream");
|
|
15
13
|
Object.defineProperty(exports, "TestResultStringifyStream", { enumerable: true, get: function () { return testResultStringifyStream_1.TestResultStringifyStream; } });
|
|
16
14
|
var utils_1 = require("./utils");
|
|
@@ -18,5 +16,4 @@ Object.defineProperty(exports, "determineType", { enumerable: true, get: functio
|
|
|
18
16
|
Object.defineProperty(exports, "getArrayEntries", { enumerable: true, get: function () { return utils_1.getArrayEntries; } });
|
|
19
17
|
Object.defineProperty(exports, "getPrimitiveEntries", { enumerable: true, get: function () { return utils_1.getPrimitiveEntries; } });
|
|
20
18
|
Object.defineProperty(exports, "getObjectEntries", { enumerable: true, get: function () { return utils_1.getObjectEntries; } });
|
|
21
|
-
Object.defineProperty(exports, "pushArrayToStream", { enumerable: true, get: function () { return utils_1.pushArrayToStream; } });
|
|
22
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/streaming/index.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,qDAAkE;AAA3C,kHAAA,eAAe,OAAA;AACtC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/streaming/index.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,qDAAkE;AAA3C,kHAAA,eAAe,OAAA;AACtC,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA;AAClC,iCAKiB;AAJf,sGAAA,aAAa,OAAA;AACb,wGAAA,eAAe,OAAA;AACf,4GAAA,mBAAmB,OAAA;AACnB,yGAAA,gBAAgB,OAAA"}
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Readable, ReadableOptions } from 'node:stream';
|
|
3
3
|
import { TestResult } from '../tests';
|
|
4
|
+
export type TestResultStringifyStreamOptions = ReadableOptions & {
|
|
5
|
+
bufferSize?: number;
|
|
6
|
+
};
|
|
4
7
|
export declare class TestResultStringifyStream extends Readable {
|
|
5
8
|
private readonly testResult;
|
|
6
|
-
|
|
9
|
+
private readonly logger;
|
|
10
|
+
private buffer;
|
|
11
|
+
private readonly bufferSize;
|
|
12
|
+
constructor(testResult: TestResult, options?: TestResultStringifyStreamOptions);
|
|
13
|
+
private pushToBuffer;
|
|
7
14
|
_read(): void;
|
|
8
15
|
format(): void;
|
|
9
16
|
buildTests(): void;
|
|
10
17
|
buildCodeCoverage(): void;
|
|
11
|
-
static fromTestResult(testResult: TestResult): TestResultStringifyStream;
|
|
18
|
+
static fromTestResult(testResult: TestResult, options?: TestResultStringifyStreamOptions): TestResultStringifyStream;
|
|
19
|
+
private pushArrayToBuffer;
|
|
12
20
|
}
|
|
@@ -13,90 +13,129 @@ exports.TestResultStringifyStream = void 0;
|
|
|
13
13
|
* Licensed under the BSD 3-Clause license.
|
|
14
14
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
15
15
|
*/
|
|
16
|
+
const core_1 = require("@salesforce/core");
|
|
16
17
|
const node_stream_1 = require("node:stream");
|
|
17
|
-
const utils_1 = require("
|
|
18
|
-
const utils_2 = require("../utils");
|
|
18
|
+
const utils_1 = require("../utils");
|
|
19
19
|
class TestResultStringifyStream extends node_stream_1.Readable {
|
|
20
20
|
testResult;
|
|
21
|
+
logger;
|
|
22
|
+
buffer;
|
|
23
|
+
bufferSize;
|
|
21
24
|
constructor(testResult, options) {
|
|
22
25
|
super({ ...options, objectMode: true });
|
|
23
26
|
this.testResult = testResult;
|
|
24
27
|
this.testResult = testResult;
|
|
28
|
+
this.logger = core_1.Logger.childFromRoot('TestResultStringifyStream');
|
|
29
|
+
this.buffer = '';
|
|
30
|
+
this.bufferSize = options?.bufferSize || 256; // Default buffer size is 256
|
|
31
|
+
}
|
|
32
|
+
pushToBuffer(data) {
|
|
33
|
+
this.buffer += data;
|
|
34
|
+
if (this.buffer.length >= this.bufferSize) {
|
|
35
|
+
this.push(this.buffer);
|
|
36
|
+
this.buffer = '';
|
|
37
|
+
}
|
|
25
38
|
}
|
|
26
39
|
_read() {
|
|
40
|
+
this.logger.trace('starting format');
|
|
27
41
|
this.format();
|
|
42
|
+
if (this.buffer.length > 0) {
|
|
43
|
+
this.push(this.buffer);
|
|
44
|
+
this.buffer = '';
|
|
45
|
+
}
|
|
28
46
|
this.push(null); // Signal the end of the stream
|
|
47
|
+
this.logger.trace('finishing format');
|
|
29
48
|
}
|
|
30
49
|
format() {
|
|
31
50
|
const { summary } = this.testResult;
|
|
32
51
|
// strip out vars not included in the summary data reported to the user
|
|
33
52
|
// outer curly
|
|
34
|
-
this.
|
|
53
|
+
this.pushToBuffer('{');
|
|
35
54
|
// summary
|
|
36
|
-
this.
|
|
55
|
+
this.pushToBuffer(`"summary":${JSON.stringify(summary)},`);
|
|
37
56
|
this.buildTests();
|
|
38
57
|
this.buildCodeCoverage();
|
|
39
58
|
// closing outer curly
|
|
40
|
-
this.
|
|
59
|
+
this.pushToBuffer(`}`);
|
|
41
60
|
}
|
|
42
61
|
buildTests() {
|
|
43
|
-
this.
|
|
62
|
+
this.pushToBuffer('"tests":[');
|
|
44
63
|
const numberOfTests = this.testResult.tests.length - 1;
|
|
45
64
|
this.testResult.tests.forEach((test, index) => {
|
|
46
65
|
const { perClassCoverage, ...testRest } = test;
|
|
47
|
-
this.
|
|
66
|
+
this.pushToBuffer(`${JSON.stringify(testRest).slice(0, -1)}`);
|
|
48
67
|
if (perClassCoverage) {
|
|
49
68
|
const numberOfPerClassCoverage = perClassCoverage.length - 1;
|
|
50
|
-
this.
|
|
69
|
+
this.pushToBuffer(',"perClassCoverage":[');
|
|
51
70
|
perClassCoverage.forEach((pcc, index) => {
|
|
52
71
|
const { coverage, ...coverageRest } = pcc;
|
|
53
|
-
this.
|
|
54
|
-
this.
|
|
72
|
+
this.pushToBuffer(`${JSON.stringify(coverageRest).slice(0, -1)}`);
|
|
73
|
+
this.pushToBuffer(`,"coverage":${JSON.stringify(coverage)}}`);
|
|
55
74
|
if (numberOfPerClassCoverage !== index) {
|
|
56
|
-
this.
|
|
75
|
+
this.pushToBuffer(',');
|
|
57
76
|
}
|
|
58
77
|
});
|
|
59
|
-
this.
|
|
78
|
+
this.pushToBuffer(']');
|
|
79
|
+
// this call to setImmediate will schedule the closure on the event loop
|
|
80
|
+
// this action causing the current code to yield to the event loop
|
|
81
|
+
// allowing other processes to get time on the event loop
|
|
82
|
+
setImmediate(() => { });
|
|
60
83
|
}
|
|
61
84
|
// close the tests
|
|
62
|
-
this.
|
|
85
|
+
this.pushToBuffer('}');
|
|
63
86
|
if (numberOfTests !== index) {
|
|
64
|
-
this.
|
|
87
|
+
this.pushToBuffer(',');
|
|
65
88
|
}
|
|
66
89
|
});
|
|
67
|
-
this.
|
|
90
|
+
this.pushToBuffer(']');
|
|
68
91
|
}
|
|
69
92
|
buildCodeCoverage() {
|
|
70
93
|
if (this.testResult.codecoverage) {
|
|
71
|
-
this.
|
|
94
|
+
this.pushToBuffer(',"codecoverage":[');
|
|
72
95
|
const numberOfCodeCoverage = this.testResult.codecoverage.length - 1;
|
|
73
96
|
this.testResult.codecoverage.forEach((coverage, index) => {
|
|
74
97
|
const { coveredLines, uncoveredLines, ...theRest } = coverage;
|
|
75
|
-
this.
|
|
76
|
-
this.
|
|
77
|
-
|
|
78
|
-
this.
|
|
79
|
-
|
|
80
|
-
this.
|
|
98
|
+
this.pushToBuffer(`${JSON.stringify(theRest).slice(0, -1)}`);
|
|
99
|
+
this.pushToBuffer(',"coveredLines":[');
|
|
100
|
+
this.pushArrayToBuffer(coveredLines);
|
|
101
|
+
this.pushToBuffer('],"uncoveredLines":[');
|
|
102
|
+
this.pushArrayToBuffer(uncoveredLines);
|
|
103
|
+
this.pushToBuffer(']}');
|
|
81
104
|
if (numberOfCodeCoverage !== index) {
|
|
82
|
-
this.
|
|
105
|
+
this.pushToBuffer(',');
|
|
83
106
|
}
|
|
107
|
+
// this call to setImmediate will schedule the closure on the event loop
|
|
108
|
+
// this action causing the current code to yield to the event loop
|
|
109
|
+
// allowing other processes to get time on the event loop
|
|
110
|
+
setImmediate(() => { });
|
|
84
111
|
});
|
|
85
|
-
this.
|
|
112
|
+
this.pushToBuffer(']');
|
|
86
113
|
}
|
|
87
114
|
}
|
|
88
|
-
static fromTestResult(testResult) {
|
|
89
|
-
return new TestResultStringifyStream(testResult);
|
|
115
|
+
static fromTestResult(testResult, options) {
|
|
116
|
+
return new TestResultStringifyStream(testResult, options);
|
|
117
|
+
}
|
|
118
|
+
pushArrayToBuffer(array) {
|
|
119
|
+
const chunkSize = 1000;
|
|
120
|
+
for (let i = 0; i < array.length; i += chunkSize) {
|
|
121
|
+
const chunk = array.slice(i, i + chunkSize);
|
|
122
|
+
let jsonString = JSON.stringify(chunk);
|
|
123
|
+
jsonString = jsonString.slice(1, -1); // remove '[' and ']'
|
|
124
|
+
this.pushToBuffer(jsonString);
|
|
125
|
+
if (i + chunkSize < array.length) {
|
|
126
|
+
this.pushToBuffer(','); // add comma for all but the last chunk
|
|
127
|
+
}
|
|
128
|
+
}
|
|
90
129
|
}
|
|
91
130
|
}
|
|
92
131
|
exports.TestResultStringifyStream = TestResultStringifyStream;
|
|
93
132
|
__decorate([
|
|
94
|
-
(0,
|
|
133
|
+
(0, utils_1.elapsedTime)()
|
|
95
134
|
], TestResultStringifyStream.prototype, "format", null);
|
|
96
135
|
__decorate([
|
|
97
|
-
(0,
|
|
136
|
+
(0, utils_1.elapsedTime)()
|
|
98
137
|
], TestResultStringifyStream.prototype, "buildTests", null);
|
|
99
138
|
__decorate([
|
|
100
|
-
(0,
|
|
139
|
+
(0, utils_1.elapsedTime)()
|
|
101
140
|
], TestResultStringifyStream.prototype, "buildCodeCoverage", null);
|
|
102
141
|
//# sourceMappingURL=testResultStringifyStream.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testResultStringifyStream.js","sourceRoot":"","sources":["../../../src/streaming/testResultStringifyStream.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;GAKG;AACH,6CAAwD;AAExD,
|
|
1
|
+
{"version":3,"file":"testResultStringifyStream.js","sourceRoot":"","sources":["../../../src/streaming/testResultStringifyStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { Readable } from 'node:stream';
|
|
3
|
-
export declare const pushArrayToStream: (array: unknown[], stream: Readable) => void;
|
|
4
1
|
export declare const getPrimitiveEntries: (obj: object) => [string, unknown][];
|
|
5
2
|
export declare const getComplexEntries: (obj: object) => [string, unknown][];
|
|
6
3
|
export declare const getObjectEntries: (obj: object) => [string, object][];
|
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.determineType = exports.getArrayEntries = exports.getObjectEntries = exports.getComplexEntries = exports.getPrimitiveEntries =
|
|
3
|
+
exports.determineType = exports.getArrayEntries = exports.getObjectEntries = exports.getComplexEntries = exports.getPrimitiveEntries = void 0;
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (c) 2023, salesforce.com, inc.
|
|
6
|
+
* All rights reserved.
|
|
7
|
+
* Licensed under the BSD 3-Clause license.
|
|
8
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
9
|
+
*/
|
|
4
10
|
const narrowing_1 = require("../narrowing");
|
|
5
|
-
const pushArrayToStream = (array, stream) => {
|
|
6
|
-
const chunkSize = 1000;
|
|
7
|
-
for (let i = 0; i < array.length; i += chunkSize) {
|
|
8
|
-
const chunk = array.slice(i, i + chunkSize);
|
|
9
|
-
let jsonString = JSON.stringify(chunk);
|
|
10
|
-
jsonString = jsonString.slice(1, -1); // remove '[' and ']'
|
|
11
|
-
stream.push(jsonString);
|
|
12
|
-
if (i + chunkSize < array.length) {
|
|
13
|
-
stream.push(','); // add comma for all but the last chunk
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
exports.pushArrayToStream = pushArrayToStream;
|
|
18
11
|
const getPrimitiveEntries = (obj) => {
|
|
19
12
|
return Object.entries(obj).filter((entry) => (0, narrowing_1.isPrimitive)(entry[1]));
|
|
20
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/streaming/utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/streaming/utils.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,4CAA8D;AAEvD,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAuB,EAAE;IACtE,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B;AAEK,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAuB,EAAE;IACpE,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAEK,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAsB,EAAE;IAClE,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAC/B,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,oBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAA,mBAAO,EAAC,GAAG,CAAC,CAC/C,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B;AAEK,MAAM,eAAe,GAAG,CAAC,GAAW,EAAyB,EAAE;IACpE,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,mBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAEK,MAAM,aAAa,GAAG,CAC3B,KAA0B,EACP,EAAE;IACrB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,KAAK,CAAC;IACtB,CAAC;AACH,CAAC,CAAC;AARW,QAAA,aAAa,iBAQxB"}
|
|
@@ -6,6 +6,7 @@ import { Duration } from '@salesforce/kit';
|
|
|
6
6
|
export declare class AsyncTests {
|
|
7
7
|
readonly connection: Connection;
|
|
8
8
|
private readonly codecoverage;
|
|
9
|
+
private readonly logger;
|
|
9
10
|
constructor(connection: Connection);
|
|
10
11
|
/**
|
|
11
12
|
* Asynchronous Test Runs
|
|
@@ -17,6 +18,7 @@ export declare class AsyncTests {
|
|
|
17
18
|
* @param timeout Duration to wait before returning a TestRunIdResult
|
|
18
19
|
*/
|
|
19
20
|
runTests(options: AsyncTestConfiguration | AsyncTestArrayConfiguration, codeCoverage?: boolean, exitOnTestRunId?: boolean, progress?: Progress<ApexTestProgressValue>, token?: CancellationToken, timeout?: Duration): Promise<TestResult | TestRunIdResult>;
|
|
21
|
+
private writeResultsToFile;
|
|
20
22
|
/**
|
|
21
23
|
* Report Asynchronous Test Run Results
|
|
22
24
|
* @param testRunId test run id
|
|
@@ -43,6 +45,7 @@ export declare class AsyncTests {
|
|
|
43
45
|
/**
|
|
44
46
|
* Abort test run with test run id
|
|
45
47
|
* @param testRunId
|
|
48
|
+
* @param progress
|
|
46
49
|
*/
|
|
47
50
|
abortTestRun(testRunId: string, progress?: Progress<ApexTestProgressValue>): Promise<void>;
|
|
48
51
|
private getTestRunRequestAction;
|