testeranto 0.146.2 → 0.146.4
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/dist/common/src/Node.js +9 -6
- package/dist/common/src/PM/PM_WithEslintAndTsc.js +75 -58
- package/dist/common/src/PM/main.js +131 -79
- package/dist/common/src/PM/node.js +1 -14
- package/dist/common/src/PM/nodeSidecar.js +0 -1
- package/dist/common/src/Pure.js +17 -1
- package/dist/common/src/Pure.test.js +172 -0
- package/dist/common/src/build.js +0 -1
- package/dist/common/src/esbuildConfigs/consoleDetectorPlugin.js +22 -11
- package/dist/common/src/esbuildConfigs/nativeImportDetectorPlugin.js +24 -0
- package/dist/common/src/esbuildConfigs/pure.js +2 -1
- package/dist/common/src/esbuildConfigs/rebuildPlugin.js +1 -4
- package/dist/common/src/lib/BaseSuite.js +89 -0
- package/dist/common/src/lib/BaseSuite.test/node.test.js +9 -0
- package/dist/common/src/lib/BaseSuite.test/pure.test.js +9 -0
- package/dist/common/src/lib/BaseSuite.test/test.js +232 -0
- package/dist/common/src/lib/BaseSuite.test/web.test.js +9 -0
- package/dist/common/src/lib/abstractBase.js +1 -90
- package/dist/common/src/lib/abstractBase.test/MockGiven.js +17 -0
- package/dist/common/src/lib/abstractBase.test/MockThen.js +13 -0
- package/dist/common/src/lib/abstractBase.test/MockWhen.js +13 -0
- package/dist/common/src/lib/abstractBase.test/implementation.js +42 -0
- package/dist/common/src/lib/abstractBase.test/index.js +17 -0
- package/dist/common/src/lib/abstractBase.test/interface.js +12 -0
- package/dist/common/src/lib/abstractBase.test/specification.js +19 -0
- package/dist/common/src/lib/abstractBase.test/types.js +2 -0
- package/dist/common/src/lib/baseBuilder.test/TestBaseBuilder.js +36 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +97 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.interface.js +17 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.node.js +11 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.pure.js +11 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.specification.js +13 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.types.js +2 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.web.js +11 -0
- package/dist/common/src/lib/basebuilder.js +2 -1
- package/dist/common/src/lib/classBuilder.test/TestClassBuilder.js +41 -0
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.implementation.js +182 -0
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.interface.js +17 -0
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.js +11 -0
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.specification.js +41 -0
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.types.js +2 -0
- package/dist/common/src/lib/core.js +4 -13
- package/dist/common/src/lib/core.test/MockCore.js +25 -0
- package/dist/common/src/lib/core.test/core.test.implementation.js +102 -0
- package/dist/common/src/lib/core.test/core.test.interface.js +18 -0
- package/dist/common/src/lib/core.test/core.test.js +17 -0
- package/dist/common/src/lib/core.test/core.test.specification.js +33 -0
- package/dist/common/src/lib/core.test/core.test.types.js +2 -0
- package/dist/common/src/lib/pmProxy.js +9 -166
- package/dist/common/src/lib/pmProxy.test/implementation.js +76 -0
- package/dist/common/src/lib/pmProxy.test/index.js +15 -0
- package/dist/common/src/lib/pmProxy.test/interface.js +37 -0
- package/dist/common/src/lib/pmProxy.test/mockPM.js +34 -0
- package/dist/common/src/lib/pmProxy.test/mockPMBase.js +115 -0
- package/dist/common/src/lib/pmProxy.test/specification.js +39 -0
- package/dist/common/src/lib/pmProxy.test/types.js +2 -0
- package/dist/common/src/run.js +6 -6
- package/dist/common/testeranto.config.js +33 -18
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/src/Node.js +9 -6
- package/dist/module/src/PM/PM_WithEslintAndTsc.js +75 -58
- package/dist/module/src/PM/main.js +131 -79
- package/dist/module/src/PM/node.js +1 -14
- package/dist/module/src/PM/nodeSidecar.js +0 -1
- package/dist/module/src/Pure.js +17 -1
- package/dist/module/src/Pure.test.js +167 -0
- package/dist/module/src/build.js +0 -1
- package/dist/module/src/esbuildConfigs/consoleDetectorPlugin.js +19 -11
- package/dist/module/src/esbuildConfigs/nativeImportDetectorPlugin.js +21 -0
- package/dist/module/src/esbuildConfigs/pure.js +2 -1
- package/dist/module/src/esbuildConfigs/rebuildPlugin.js +1 -4
- package/dist/module/src/lib/BaseSuite.js +85 -0
- package/dist/module/src/lib/BaseSuite.test/node.test.js +4 -0
- package/dist/module/src/lib/BaseSuite.test/pure.test.js +4 -0
- package/dist/module/src/lib/BaseSuite.test/test.js +227 -0
- package/dist/module/src/lib/BaseSuite.test/web.test.js +4 -0
- package/dist/module/src/lib/abstractBase.js +1 -89
- package/dist/module/src/lib/abstractBase.test/MockGiven.js +13 -0
- package/dist/module/src/lib/abstractBase.test/MockThen.js +9 -0
- package/dist/module/src/lib/abstractBase.test/MockWhen.js +9 -0
- package/dist/module/src/lib/abstractBase.test/implementation.js +39 -0
- package/dist/module/src/lib/abstractBase.test/index.js +12 -0
- package/dist/module/src/lib/abstractBase.test/interface.js +9 -0
- package/dist/module/src/lib/abstractBase.test/specification.js +15 -0
- package/dist/module/src/lib/abstractBase.test/types.js +1 -0
- package/dist/module/src/lib/baseBuilder.test/TestBaseBuilder.js +32 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +94 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.interface.js +14 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.node.js +6 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.pure.js +6 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.specification.js +9 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.types.js +1 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.web.js +6 -0
- package/dist/module/src/lib/basebuilder.js +2 -1
- package/dist/module/src/lib/classBuilder.test/TestClassBuilder.js +37 -0
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.implementation.js +179 -0
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.interface.js +14 -0
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.js +6 -0
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.specification.js +37 -0
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.types.js +1 -0
- package/dist/module/src/lib/core.js +3 -12
- package/dist/module/src/lib/core.test/MockCore.js +18 -0
- package/dist/module/src/lib/core.test/core.test.implementation.js +99 -0
- package/dist/module/src/lib/core.test/core.test.interface.js +15 -0
- package/dist/module/src/lib/core.test/core.test.js +12 -0
- package/dist/module/src/lib/core.test/core.test.specification.js +29 -0
- package/dist/module/src/lib/core.test/core.test.types.js +1 -0
- package/dist/module/src/lib/pmProxy.js +9 -166
- package/dist/module/src/lib/pmProxy.test/implementation.js +73 -0
- package/dist/module/src/lib/pmProxy.test/index.js +10 -0
- package/dist/module/src/lib/pmProxy.test/interface.js +34 -0
- package/dist/module/src/lib/pmProxy.test/mockPM.js +30 -0
- package/dist/module/src/lib/pmProxy.test/mockPMBase.js +111 -0
- package/dist/module/src/lib/pmProxy.test/specification.js +35 -0
- package/dist/module/src/lib/pmProxy.test/types.js +1 -0
- package/dist/module/src/run.js +6 -6
- package/dist/module/testeranto.config.js +33 -18
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/Project.js +16 -15
- package/dist/prebuild/TestReport.js +14 -12
- package/dist/prebuild/build.mjs +34 -34
- package/dist/prebuild/run.mjs +259 -173
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/src/PM/PM_WithEslintAndTsc.d.ts +2 -1
- package/dist/types/src/PM/main.d.ts +5 -2
- package/dist/types/src/Pure.d.ts +2 -2
- package/dist/types/src/Pure.test.d.ts +36 -0
- package/dist/types/src/Types.d.ts +7 -6
- package/dist/types/src/Web.d.ts +1 -1
- package/dist/types/src/esbuildConfigs/consoleDetectorPlugin.d.ts +1 -1
- package/dist/types/src/esbuildConfigs/nativeImportDetectorPlugin.d.ts +2 -0
- package/dist/types/src/lib/BaseSuite.d.ts +39 -0
- package/dist/types/src/lib/BaseSuite.test/node.test.d.ts +3 -0
- package/dist/types/src/lib/BaseSuite.test/pure.test.d.ts +3 -0
- package/dist/types/src/lib/BaseSuite.test/test.d.ts +42 -0
- package/dist/types/src/lib/BaseSuite.test/web.test.d.ts +3 -0
- package/dist/types/src/lib/abstractBase.d.ts +1 -36
- package/dist/types/src/lib/abstractBase.test/MockGiven.d.ts +7 -0
- package/dist/types/src/lib/abstractBase.test/MockThen.d.ts +6 -0
- package/dist/types/src/lib/abstractBase.test/MockWhen.d.ts +6 -0
- package/dist/types/src/lib/abstractBase.test/implementation.d.ts +3 -0
- package/dist/types/src/lib/abstractBase.test/index.d.ts +3 -0
- package/dist/types/src/lib/abstractBase.test/interface.d.ts +3 -0
- package/dist/types/src/lib/abstractBase.test/specification.d.ts +3 -0
- package/dist/types/src/lib/abstractBase.test/types.d.ts +39 -0
- package/dist/types/src/lib/baseBuilder.test/TestBaseBuilder.d.ts +15 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.implementation.d.ts +3 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.interface.d.ts +3 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.node.d.ts +3 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +3 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.specification.d.ts +3 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.types.d.ts +20 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.web.d.ts +3 -0
- package/dist/types/src/lib/classBuilder.test/TestClassBuilder.d.ts +21 -0
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.d.ts +3 -0
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.implementation.d.ts +3 -0
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.interface.d.ts +3 -0
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.specification.d.ts +3 -0
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.types.d.ts +56 -0
- package/dist/types/src/lib/core.d.ts +1 -1
- package/dist/types/src/lib/core.test/MockCore.d.ts +10 -0
- package/dist/types/src/lib/core.test/core.test.d.ts +3 -0
- package/dist/types/src/lib/core.test/core.test.implementation.d.ts +3 -0
- package/dist/types/src/lib/core.test/core.test.interface.d.ts +3 -0
- package/dist/types/src/lib/core.test/core.test.specification.d.ts +3 -0
- package/dist/types/src/lib/core.test/core.test.types.d.ts +46 -0
- package/dist/types/src/lib/index.d.ts +2 -1
- package/dist/types/src/lib/pmProxy.d.ts +11 -6
- package/dist/types/src/lib/pmProxy.test/implementation.d.ts +3 -0
- package/dist/types/src/lib/pmProxy.test/index.d.ts +7 -0
- package/dist/types/src/lib/pmProxy.test/interface.d.ts +3 -0
- package/dist/types/src/lib/pmProxy.test/mockPM.d.ts +10 -0
- package/dist/types/src/lib/pmProxy.test/mockPMBase.d.ts +39 -0
- package/dist/types/src/lib/pmProxy.test/specification.d.ts +3 -0
- package/dist/types/src/lib/pmProxy.test/types.d.ts +42 -0
- package/dist/types/src/lib/types.d.ts +2 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/docs.html +35 -33
- package/index.html +23 -30
- package/package.json +3 -2
- package/testeranto/index.html +1 -1
- package/testeranto/reports/allTests/index.html +1 -1
- package/testeranto/reports/allTests/src/Pure.test/pure/index.html +1 -1
- package/testeranto/reports/allTests/src/Pure.test/pure/logs.txt +2 -2
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/logs.txt +2 -2
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/logs.txt +3 -3
- package/testeranto.config.ts +1 -1
- package/tsc.log +36 -38
|
@@ -2,95 +2,8 @@
|
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.BaseCheck = exports.BaseThen = exports.BaseWhen = exports.BaseGiven =
|
|
5
|
+
exports.BaseCheck = exports.BaseThen = exports.BaseWhen = exports.BaseGiven = void 0;
|
|
6
6
|
const pmProxy_js_1 = require("./pmProxy.js");
|
|
7
|
-
class BaseSuite {
|
|
8
|
-
constructor(name, index, givens = {}, checks = []) {
|
|
9
|
-
this.name = name;
|
|
10
|
-
this.index = index;
|
|
11
|
-
this.givens = givens;
|
|
12
|
-
this.checks = checks;
|
|
13
|
-
this.fails = 0;
|
|
14
|
-
}
|
|
15
|
-
features() {
|
|
16
|
-
const features = Object.keys(this.givens)
|
|
17
|
-
.map((k) => this.givens[k].features)
|
|
18
|
-
.flat()
|
|
19
|
-
.filter((value, index, array) => {
|
|
20
|
-
return array.indexOf(value) === index;
|
|
21
|
-
});
|
|
22
|
-
return features || [];
|
|
23
|
-
}
|
|
24
|
-
toObj() {
|
|
25
|
-
const givens = Object.keys(this.givens).map((k) => this.givens[k].toObj());
|
|
26
|
-
const checks = Object.keys(this.checks).map((k) => this.checks[k].toObj());
|
|
27
|
-
return {
|
|
28
|
-
name: this.name,
|
|
29
|
-
givens,
|
|
30
|
-
checks,
|
|
31
|
-
fails: this.fails,
|
|
32
|
-
failed: this.failed,
|
|
33
|
-
features: this.features(),
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
setup(s, artifactory, tr, pm) {
|
|
37
|
-
return new Promise((res) => res(s));
|
|
38
|
-
}
|
|
39
|
-
assertThat(t) {
|
|
40
|
-
return !!t;
|
|
41
|
-
}
|
|
42
|
-
afterAll(store, artifactory, pm) {
|
|
43
|
-
return store;
|
|
44
|
-
}
|
|
45
|
-
async run(input, testResourceConfiguration, artifactory, tLog, pm) {
|
|
46
|
-
this.testResourceConfiguration = testResourceConfiguration;
|
|
47
|
-
// tLog("test resources: ", JSON.stringify(testResourceConfiguration));
|
|
48
|
-
const suiteArtifactory = (fPath, value) => artifactory(`suite-${this.index}-${this.name}/${fPath}`, value);
|
|
49
|
-
// console.log("\nSuite:", this.index, this.name);
|
|
50
|
-
tLog("\nSuite:", this.index, this.name);
|
|
51
|
-
const sNdx = this.index;
|
|
52
|
-
// const sName = this.name;
|
|
53
|
-
const subject = await this.setup(input, suiteArtifactory, testResourceConfiguration, (0, pmProxy_js_1.beforeAllProxy)(pm, sNdx.toString()));
|
|
54
|
-
for (const [gKey, g] of Object.entries(this.givens)) {
|
|
55
|
-
const giver = this.givens[gKey];
|
|
56
|
-
try {
|
|
57
|
-
this.store = await giver.give(subject, gKey, testResourceConfiguration, this.assertThat, suiteArtifactory, tLog, pm, sNdx);
|
|
58
|
-
}
|
|
59
|
-
catch (e) {
|
|
60
|
-
this.failed = true;
|
|
61
|
-
this.fails = this.fails + 1;
|
|
62
|
-
console.error(e);
|
|
63
|
-
// this.fails.push(giver);
|
|
64
|
-
// return this;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
for (const [ndx, thater] of this.checks.entries()) {
|
|
68
|
-
await thater.check(subject, thater.name, testResourceConfiguration, this.assertThat, suiteArtifactory, tLog, pm);
|
|
69
|
-
}
|
|
70
|
-
try {
|
|
71
|
-
this.afterAll(this.store, artifactory, (0, pmProxy_js_1.afterAllProxy)(pm, sNdx.toString()));
|
|
72
|
-
}
|
|
73
|
-
catch (e) {
|
|
74
|
-
console.error(e);
|
|
75
|
-
// this.fails.push(this);
|
|
76
|
-
// return this;
|
|
77
|
-
}
|
|
78
|
-
// @TODO fix me
|
|
79
|
-
// for (const k of Object.keys(this.givens)) {
|
|
80
|
-
// const giver = this.givens[k];
|
|
81
|
-
// try {
|
|
82
|
-
// giver.afterAll(this.store, artifactory, pm);
|
|
83
|
-
// } catch (e) {
|
|
84
|
-
// console.error(e);
|
|
85
|
-
// this.fails.push(giver);
|
|
86
|
-
// return this;
|
|
87
|
-
// }
|
|
88
|
-
// }
|
|
89
|
-
////////////////
|
|
90
|
-
return this;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
exports.BaseSuite = BaseSuite;
|
|
94
7
|
class BaseGiven {
|
|
95
8
|
constructor(name, features, whens, thens, givenCB, initialValues) {
|
|
96
9
|
this.name = name;
|
|
@@ -188,7 +101,6 @@ class BaseWhen {
|
|
|
188
101
|
async test(store, testResourceConfiguration, tLog, pm, filepath) {
|
|
189
102
|
tLog(" When:", this.name);
|
|
190
103
|
return await this.andWhen(store, this.whenCB, testResourceConfiguration, (0, pmProxy_js_1.andWhenProxy)(pm, filepath)).catch((e) => {
|
|
191
|
-
console.log("MARK9", e);
|
|
192
104
|
this.error = e;
|
|
193
105
|
throw e;
|
|
194
106
|
});
|
|
@@ -217,7 +129,6 @@ class BaseThen {
|
|
|
217
129
|
return this.thenCB;
|
|
218
130
|
}
|
|
219
131
|
}, testResourceConfiguration, (0, pmProxy_js_1.butThenProxy)(pm, filepath)).catch((e) => {
|
|
220
|
-
console.log("test failed 3", e);
|
|
221
132
|
this.error = e;
|
|
222
133
|
throw e;
|
|
223
134
|
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockGiven = void 0;
|
|
4
|
+
const abstractBase_1 = require("../abstractBase");
|
|
5
|
+
class MockGiven extends abstractBase_1.BaseGiven {
|
|
6
|
+
constructor(name, features, whens, thens, givenCB, initialValues) {
|
|
7
|
+
super(name, features, whens, thens, givenCB, initialValues);
|
|
8
|
+
}
|
|
9
|
+
async givenThat(subject, testResourceConfiguration, artifactory, givenCB, initialValues, pm) {
|
|
10
|
+
return givenCB();
|
|
11
|
+
}
|
|
12
|
+
uberCatcher(e) {
|
|
13
|
+
console.error("MockGiven error:", e);
|
|
14
|
+
this.error = e;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.MockGiven = MockGiven;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockThen = void 0;
|
|
4
|
+
const abstractBase_1 = require("../abstractBase");
|
|
5
|
+
class MockThen extends abstractBase_1.BaseThen {
|
|
6
|
+
constructor(name, thenCB) {
|
|
7
|
+
super(name, thenCB);
|
|
8
|
+
}
|
|
9
|
+
async butThen(store, thenCB, testResourceConfiguration, pm) {
|
|
10
|
+
return thenCB(store);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.MockThen = MockThen;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockWhen = void 0;
|
|
4
|
+
const abstractBase_1 = require("../abstractBase");
|
|
5
|
+
class MockWhen extends abstractBase_1.BaseWhen {
|
|
6
|
+
constructor(name, whenCB) {
|
|
7
|
+
super(name, whenCB);
|
|
8
|
+
}
|
|
9
|
+
async andWhen(store, whenCB, testResource, pm) {
|
|
10
|
+
return whenCB(store);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.MockWhen = MockWhen;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.implementation = void 0;
|
|
4
|
+
const stream_1 = require("stream");
|
|
5
|
+
exports.implementation = {
|
|
6
|
+
suites: {
|
|
7
|
+
Default: "Abstract Base Test Suite",
|
|
8
|
+
},
|
|
9
|
+
givens: {
|
|
10
|
+
Default: () => ({
|
|
11
|
+
testStore: { value: "initial" },
|
|
12
|
+
testSelection: { selected: true },
|
|
13
|
+
}),
|
|
14
|
+
WithError: () => ({
|
|
15
|
+
testStore: { value: "error" },
|
|
16
|
+
testSelection: { selected: false },
|
|
17
|
+
}),
|
|
18
|
+
},
|
|
19
|
+
whens: {
|
|
20
|
+
modifyStore: (newValue) => (store) => (Object.assign(Object.assign({}, store), { testStore: { value: newValue } })),
|
|
21
|
+
throwError: () => () => {
|
|
22
|
+
throw new Error("Test error");
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
thens: {
|
|
26
|
+
verifyStore: (expected) => (store) => {
|
|
27
|
+
if (store.testStore.value !== expected) {
|
|
28
|
+
throw new Error(`Expected ${expected}, got ${store.testStore.value}`);
|
|
29
|
+
}
|
|
30
|
+
return store;
|
|
31
|
+
},
|
|
32
|
+
verifyError: (expected) => (store) => {
|
|
33
|
+
if (!store.error || !store.error.message.includes(expected)) {
|
|
34
|
+
throw new Error(`Expected error "${expected}" not found`);
|
|
35
|
+
}
|
|
36
|
+
return store;
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
checks: {
|
|
40
|
+
Default: () => new stream_1.PassThrough(),
|
|
41
|
+
},
|
|
42
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const Node_1 = __importDefault(require("../../Node"));
|
|
7
|
+
const specification_1 = require("./specification");
|
|
8
|
+
const implementation_1 = require("./implementation");
|
|
9
|
+
const interface_1 = require("./interface");
|
|
10
|
+
const MockGiven_1 = require("./MockGiven");
|
|
11
|
+
const MockThen_1 = require("./MockThen");
|
|
12
|
+
const MockWhen_1 = require("./MockWhen");
|
|
13
|
+
exports.default = (0, Node_1.default)({
|
|
14
|
+
MockGiven: MockGiven_1.MockGiven,
|
|
15
|
+
MockWhen: MockWhen_1.MockWhen,
|
|
16
|
+
MockThen: MockThen_1.MockThen,
|
|
17
|
+
}, specification_1.specification, implementation_1.implementation, interface_1.testInterface);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.testInterface = void 0;
|
|
4
|
+
exports.testInterface = {
|
|
5
|
+
beforeEach: async (subject, initializer) => initializer(),
|
|
6
|
+
andWhen: async (store, whenCB) => whenCB(store),
|
|
7
|
+
butThen: async (store, thenCB) => thenCB(store),
|
|
8
|
+
afterEach: (store) => store,
|
|
9
|
+
afterAll: () => { },
|
|
10
|
+
assertThis: (result) => !!result,
|
|
11
|
+
beforeAll: async (input) => input
|
|
12
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.specification = void 0;
|
|
4
|
+
const specification = (Suite, Given, When, Then, Check) => [
|
|
5
|
+
Suite.Default("BaseGiven Tests", {
|
|
6
|
+
initialization: Given.Default(["Should initialize with default values"], [], [Then.verifyStore("initial")]),
|
|
7
|
+
errorHandling: Given.WithError(["Should handle errors properly"], [When.throwError()], [Then.verifyError("Test error")])
|
|
8
|
+
}),
|
|
9
|
+
Suite.Default("BaseWhen Tests", {
|
|
10
|
+
stateModification: Given.Default(["Should modify state correctly"], [When.modifyStore("modified")], [Then.verifyStore("modified")]),
|
|
11
|
+
errorPropagation: Given.Default(["Should propagate errors"], [When.throwError()], [Then.verifyError("Test error")])
|
|
12
|
+
}),
|
|
13
|
+
Suite.Default("BaseThen Tests", {
|
|
14
|
+
assertionPassing: Given.Default(["Should pass valid assertions"], [When.modifyStore("asserted")], [Then.verifyStore("asserted")]),
|
|
15
|
+
assertionFailing: Given.Default(["Should fail invalid assertions"], [When.modifyStore("wrong")], [Then.verifyStore("right")] // This should fail
|
|
16
|
+
)
|
|
17
|
+
})
|
|
18
|
+
];
|
|
19
|
+
exports.specification = specification;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TestBaseBuilder = void 0;
|
|
4
|
+
const basebuilder_1 = require("../basebuilder");
|
|
5
|
+
/**
|
|
6
|
+
* Concrete implementation of BaseBuilder for testing purposes only
|
|
7
|
+
*/
|
|
8
|
+
class TestBaseBuilder extends basebuilder_1.BaseBuilder {
|
|
9
|
+
constructor(input, suitesOverrides = {}, givenOverrides = {}, whenOverrides = {}, thenOverrides = {}, checkOverrides = {}, testResourceRequirement = { ports: [] }, testSpecification = () => []) {
|
|
10
|
+
super(input, suitesOverrides, givenOverrides, whenOverrides, thenOverrides, checkOverrides, testResourceRequirement, testSpecification);
|
|
11
|
+
this.summary = {};
|
|
12
|
+
this.summary = {};
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Simplified version for testing that doesn't actually run tests
|
|
16
|
+
*/
|
|
17
|
+
testRun(puppetMaster) {
|
|
18
|
+
this.summary = {
|
|
19
|
+
[puppetMaster.testResourceConfiguration.name]: {
|
|
20
|
+
typeErrors: 0,
|
|
21
|
+
staticErrors: 0,
|
|
22
|
+
runTimeError: "",
|
|
23
|
+
prompt: "",
|
|
24
|
+
failingFeatures: {},
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
return Promise.resolve({
|
|
28
|
+
failed: false,
|
|
29
|
+
fails: 0,
|
|
30
|
+
artifacts: [],
|
|
31
|
+
logPromise: Promise.resolve(),
|
|
32
|
+
features: [],
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.TestBaseBuilder = TestBaseBuilder;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.implementation = void 0;
|
|
4
|
+
const stream_1 = require("stream");
|
|
5
|
+
const TestBaseBuilder_1 = require("./TestBaseBuilder");
|
|
6
|
+
const basebuilder_1 = require("../basebuilder");
|
|
7
|
+
exports.implementation = {
|
|
8
|
+
suites: {
|
|
9
|
+
Default: "BaseBuilder test suite",
|
|
10
|
+
},
|
|
11
|
+
givens: {
|
|
12
|
+
Default: () => {
|
|
13
|
+
return new TestBaseBuilder_1.TestBaseBuilder({}, {}, {}, {}, {}, {}, { ports: [] }, () => []);
|
|
14
|
+
},
|
|
15
|
+
WithCustomInput: (input) => {
|
|
16
|
+
return new TestBaseBuilder_1.TestBaseBuilder(input, {}, {}, {}, {}, {}, { ports: [] }, () => []);
|
|
17
|
+
},
|
|
18
|
+
WithResourceRequirements: (requirements) => {
|
|
19
|
+
return new TestBaseBuilder_1.TestBaseBuilder({}, {}, {}, {}, {}, {}, requirements, () => []);
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
whens: {
|
|
23
|
+
addArtifact: (artifact) => (builder) => {
|
|
24
|
+
builder.artifacts.push(artifact);
|
|
25
|
+
return builder;
|
|
26
|
+
},
|
|
27
|
+
setTestJobs: (jobs) => (builder) => {
|
|
28
|
+
builder.testJobs = jobs;
|
|
29
|
+
return builder;
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
thens: {
|
|
33
|
+
initializedProperly: () => (builder) => {
|
|
34
|
+
if (!(builder instanceof basebuilder_1.BaseBuilder)) {
|
|
35
|
+
throw new Error("Builder was not properly initialized");
|
|
36
|
+
}
|
|
37
|
+
return builder;
|
|
38
|
+
},
|
|
39
|
+
specsGenerated: () => (builder) => {
|
|
40
|
+
if (!Array.isArray(builder.specs)) {
|
|
41
|
+
throw new Error("Specs were not generated");
|
|
42
|
+
}
|
|
43
|
+
return builder;
|
|
44
|
+
},
|
|
45
|
+
jobsCreated: () => (builder) => {
|
|
46
|
+
if (!Array.isArray(builder.testJobs)) {
|
|
47
|
+
throw new Error("Test jobs were not created");
|
|
48
|
+
}
|
|
49
|
+
return builder;
|
|
50
|
+
},
|
|
51
|
+
artifactsTracked: () => (builder) => {
|
|
52
|
+
if (!Array.isArray(builder.artifacts)) {
|
|
53
|
+
throw new Error("Artifacts array not initialized");
|
|
54
|
+
}
|
|
55
|
+
return builder;
|
|
56
|
+
},
|
|
57
|
+
resourceRequirementsSet: () => (builder) => {
|
|
58
|
+
if (!builder.testResourceRequirement) {
|
|
59
|
+
throw new Error("Resource requirements not set");
|
|
60
|
+
}
|
|
61
|
+
return builder;
|
|
62
|
+
},
|
|
63
|
+
suitesOverridesConfigured: () => (builder) => {
|
|
64
|
+
if (!builder.suitesOverrides) {
|
|
65
|
+
throw new Error("Suites overrides not configured");
|
|
66
|
+
}
|
|
67
|
+
return builder;
|
|
68
|
+
},
|
|
69
|
+
givensOverridesConfigured: () => (builder) => {
|
|
70
|
+
if (!builder.givenOverides) {
|
|
71
|
+
throw new Error("Givens overrides not configured");
|
|
72
|
+
}
|
|
73
|
+
return builder;
|
|
74
|
+
},
|
|
75
|
+
whensOverridesConfigured: () => (builder) => {
|
|
76
|
+
if (!builder.whenOverides) {
|
|
77
|
+
throw new Error("Whens overrides not configured");
|
|
78
|
+
}
|
|
79
|
+
return builder;
|
|
80
|
+
},
|
|
81
|
+
thensOverridesConfigured: () => (builder) => {
|
|
82
|
+
if (!builder.thenOverides) {
|
|
83
|
+
throw new Error("Thens overrides not configured");
|
|
84
|
+
}
|
|
85
|
+
return builder;
|
|
86
|
+
},
|
|
87
|
+
checksOverridesConfigured: () => (builder) => {
|
|
88
|
+
if (!builder.checkOverides) {
|
|
89
|
+
throw new Error("Checks overrides not configured");
|
|
90
|
+
}
|
|
91
|
+
return builder;
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
checks: {
|
|
95
|
+
Default: () => new stream_1.PassThrough(), // Not used in these tests
|
|
96
|
+
},
|
|
97
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.testInterface = void 0;
|
|
4
|
+
exports.testInterface = {
|
|
5
|
+
beforeEach: async (subject, initializer) => {
|
|
6
|
+
return initializer();
|
|
7
|
+
},
|
|
8
|
+
andWhen: async (store, whenCB, testResource, utils) => {
|
|
9
|
+
return whenCB(store, utils);
|
|
10
|
+
},
|
|
11
|
+
butThen: async (store, thenCB, testResource, pm) => {
|
|
12
|
+
return thenCB(store, pm);
|
|
13
|
+
},
|
|
14
|
+
afterEach: (store) => store,
|
|
15
|
+
afterAll: () => { },
|
|
16
|
+
assertThis: (x) => { },
|
|
17
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const Pure_1 = __importDefault(require("../../Pure"));
|
|
7
|
+
const baseBuilder_test_specification_1 = require("./baseBuilder.test.specification");
|
|
8
|
+
const baseBuilder_test_implementation_1 = require("./baseBuilder.test.implementation");
|
|
9
|
+
const baseBuilder_test_interface_1 = require("./baseBuilder.test.interface");
|
|
10
|
+
const basebuilder_1 = require("../basebuilder");
|
|
11
|
+
exports.default = (0, Pure_1.default)(basebuilder_1.BaseBuilder.prototype, baseBuilder_test_specification_1.specification, baseBuilder_test_implementation_1.implementation, baseBuilder_test_interface_1.testInterface);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const Pure_1 = __importDefault(require("../../Pure"));
|
|
7
|
+
const baseBuilder_test_specification_1 = require("./baseBuilder.test.specification");
|
|
8
|
+
const baseBuilder_test_implementation_1 = require("./baseBuilder.test.implementation");
|
|
9
|
+
const baseBuilder_test_interface_1 = require("./baseBuilder.test.interface");
|
|
10
|
+
const basebuilder_1 = require("../basebuilder");
|
|
11
|
+
exports.default = (0, Pure_1.default)(basebuilder_1.BaseBuilder.prototype, baseBuilder_test_specification_1.specification, baseBuilder_test_implementation_1.implementation, baseBuilder_test_interface_1.testInterface);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.specification = void 0;
|
|
4
|
+
const specification = (Suite, Given, When, Then, Check) => {
|
|
5
|
+
return [
|
|
6
|
+
Suite.Default("Testing BaseBuilder functionality", {
|
|
7
|
+
testInitialization: Given.Default(["BaseBuilder should initialize correctly"], [], [Then.initializedProperly()]),
|
|
8
|
+
testSpecsGeneration: Given.Default(["BaseBuilder should generate specs from test specification"], [], [Then.specsGenerated()]),
|
|
9
|
+
testJobsCreation: Given.Default(["BaseBuilder should create test jobs"], [], [Then.jobsCreated()]),
|
|
10
|
+
}, []),
|
|
11
|
+
];
|
|
12
|
+
};
|
|
13
|
+
exports.specification = specification;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const Web_1 = __importDefault(require("../../Web"));
|
|
7
|
+
const baseBuilder_test_specification_1 = require("./baseBuilder.test.specification");
|
|
8
|
+
const baseBuilder_test_implementation_1 = require("./baseBuilder.test.implementation");
|
|
9
|
+
const baseBuilder_test_interface_1 = require("./baseBuilder.test.interface");
|
|
10
|
+
const basebuilder_1 = require("../basebuilder");
|
|
11
|
+
exports.default = (0, Web_1.default)(basebuilder_1.BaseBuilder.prototype, baseBuilder_test_specification_1.specification, baseBuilder_test_implementation_1.implementation, baseBuilder_test_interface_1.testInterface);
|
|
@@ -34,8 +34,9 @@ class BaseBuilder {
|
|
|
34
34
|
receiveTestResourceConfig: async function (puppetMaster) {
|
|
35
35
|
const logFilePath = "log.txt";
|
|
36
36
|
const access = await puppetMaster.createWriteStream(logFilePath);
|
|
37
|
+
// deprecated?
|
|
37
38
|
const tLog = async (...l) => {
|
|
38
|
-
//
|
|
39
|
+
//
|
|
39
40
|
};
|
|
40
41
|
const suiteDone = await runner(puppetMaster, tLog);
|
|
41
42
|
const logPromise = new Promise(async (res) => {
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TestClassBuilder = void 0;
|
|
4
|
+
const basebuilder_1 = require("../basebuilder");
|
|
5
|
+
/**
|
|
6
|
+
* Concrete implementation of BaseBuilder for testing ClassBuilder
|
|
7
|
+
*/
|
|
8
|
+
class TestClassBuilder extends basebuilder_1.BaseBuilder {
|
|
9
|
+
constructor(testImplementation, testSpecification, input, suiteKlasser, givenKlasser, whenKlasser, thenKlasser, checkKlasser, testResourceRequirement) {
|
|
10
|
+
super(input, {}, // suitesOverrides
|
|
11
|
+
{}, // givenOverides
|
|
12
|
+
{}, // whenOverides
|
|
13
|
+
{}, // thenOverides
|
|
14
|
+
{}, // checkOverides
|
|
15
|
+
testResourceRequirement, testSpecification);
|
|
16
|
+
this.summary = {};
|
|
17
|
+
this.summary = {};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Simplified test run for verification
|
|
21
|
+
*/
|
|
22
|
+
testRun(puppetMaster) {
|
|
23
|
+
this.summary = {
|
|
24
|
+
[puppetMaster.testResourceConfiguration.name]: {
|
|
25
|
+
typeErrors: 0,
|
|
26
|
+
staticErrors: 0,
|
|
27
|
+
runTimeError: "",
|
|
28
|
+
prompt: "",
|
|
29
|
+
failingFeatures: {},
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
return Promise.resolve({
|
|
33
|
+
failed: false,
|
|
34
|
+
fails: 0,
|
|
35
|
+
artifacts: [],
|
|
36
|
+
logPromise: Promise.resolve(),
|
|
37
|
+
features: [],
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.TestClassBuilder = TestClassBuilder;
|