testeranto 0.79.6 → 0.79.7
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/Features.js +84 -0
- package/dist/common/Node.js +23 -0
- package/dist/common/PM/index.js +7 -0
- package/dist/common/PM/main.js +641 -0
- package/dist/common/PM/node.js +88 -0
- package/dist/common/PM/web.js +132 -0
- package/dist/common/Project.js +186 -0
- package/dist/common/Puppeteer.js +104 -0
- package/dist/common/Reporter.js +112 -0
- package/dist/common/Scheduler.js +1 -0
- package/dist/common/SubPackages/puppeteer.js +21 -0
- package/dist/common/SubPackages/react/component/node.js +19 -0
- package/dist/common/SubPackages/react/component/web.js +19 -0
- package/dist/common/SubPackages/react/jsx/index.js +25 -0
- package/dist/common/SubPackages/react/jsx/node.js +10 -0
- package/dist/common/SubPackages/react/jsx/web.js +10 -0
- package/dist/common/SubPackages/react-dom/component/node.js +101 -0
- package/dist/common/SubPackages/react-dom/component/web.js +93 -0
- package/dist/common/SubPackages/react-dom/jsx/index.js +2 -0
- package/dist/common/SubPackages/react-dom/jsx/node.js +39 -0
- package/dist/common/SubPackages/react-dom/jsx/web.js +118 -0
- package/dist/common/SubPackages/react-test-renderer/MemoExoticComponent/node.js +44 -0
- package/dist/common/SubPackages/react-test-renderer/component/index.js +2 -0
- package/dist/common/SubPackages/react-test-renderer/component/interface.js +68 -0
- package/dist/common/SubPackages/react-test-renderer/component/node.js +8 -0
- package/dist/common/SubPackages/react-test-renderer/component/web.js +8 -0
- package/dist/common/SubPackages/react-test-renderer/fc/node.js +50 -0
- package/dist/common/SubPackages/react-test-renderer/fc/web.js +50 -0
- package/dist/common/SubPackages/react-test-renderer/jsx/index.js +48 -0
- package/dist/common/SubPackages/react-test-renderer/jsx/node.js +10 -0
- package/dist/common/SubPackages/react-test-renderer/jsx/web.js +10 -0
- package/dist/common/SubPackages/react-test-renderer/jsx-promised/index.js +42 -0
- package/dist/common/SubPackages/react-test-renderer/jsx-promised/node.js +10 -0
- package/dist/common/SubPackages/react-test-renderer/jsx-promised/web.js +10 -0
- package/dist/common/TaskManBackEnd.js +174 -0
- package/dist/common/Types.js +2 -0
- package/dist/common/Web.js +39 -0
- package/dist/common/esbuildConfigs/features.js +14 -0
- package/dist/common/esbuildConfigs/index.js +21 -0
- package/dist/common/esbuildConfigs/inputFilesPlugin.js +49 -0
- package/dist/common/esbuildConfigs/node.js +39 -0
- package/dist/common/esbuildConfigs/report.js +13 -0
- package/dist/common/esbuildConfigs/tests.js +13 -0
- package/dist/common/esbuildConfigs/web.js +57 -0
- package/dist/common/lib/abstractBase.js +553 -0
- package/dist/common/lib/basebuilder.js +79 -0
- package/dist/common/lib/classBuilder.js +42 -0
- package/dist/common/lib/core.js +75 -0
- package/dist/common/lib/index.js +22 -0
- package/dist/common/lib/types.js +2 -0
- package/dist/common/mongooseSchemas.js +56 -0
- package/dist/common/package.json +3 -0
- package/dist/common/preload.js +15 -0
- package/dist/common/puppeteerConfiger.js +24 -0
- package/dist/common/report.html.js +31 -0
- package/dist/common/tsconfig.common.tsbuildinfo +1 -0
- package/dist/common/utils.js +16 -0
- package/dist/common/web.html.js +22 -0
- package/dist/module/ExampleTab.js +112 -0
- package/dist/module/Features.js +73 -0
- package/dist/module/Node.js +18 -0
- package/dist/module/PM/index.js +3 -0
- package/dist/module/PM/main.js +611 -0
- package/dist/module/PM/node.js +81 -0
- package/dist/module/PM/web.js +125 -0
- package/dist/module/Project.js +179 -0
- package/dist/module/Puppeteer.js +99 -0
- package/dist/module/Reporter.js +107 -0
- package/dist/module/Scheduler.js +1 -0
- package/dist/module/SubPackages/puppeteer.js +16 -0
- package/dist/module/SubPackages/react/component/node.js +14 -0
- package/dist/module/SubPackages/react/component/web.js +14 -0
- package/dist/module/SubPackages/react/jsx/index.js +19 -0
- package/dist/module/SubPackages/react/jsx/node.js +5 -0
- package/dist/module/SubPackages/react/jsx/web.js +5 -0
- package/dist/module/SubPackages/react-dom/component/node.js +93 -0
- package/dist/module/SubPackages/react-dom/component/web.js +88 -0
- package/dist/module/SubPackages/react-dom/jsx/index.js +1 -0
- package/dist/module/SubPackages/react-dom/jsx/node.js +31 -0
- package/dist/module/SubPackages/react-dom/jsx/web.js +90 -0
- package/dist/module/SubPackages/react-test-renderer/MemoExoticComponent/node.js +16 -0
- package/dist/module/SubPackages/react-test-renderer/component/index.js +1 -0
- package/dist/module/SubPackages/react-test-renderer/component/interface.js +39 -0
- package/dist/module/SubPackages/react-test-renderer/component/node.js +3 -0
- package/dist/module/SubPackages/react-test-renderer/component/web.js +3 -0
- package/dist/module/SubPackages/react-test-renderer/fc/node.js +22 -0
- package/dist/module/SubPackages/react-test-renderer/fc/web.js +22 -0
- package/dist/module/SubPackages/react-test-renderer/jsx/index.js +19 -0
- package/dist/module/SubPackages/react-test-renderer/jsx/node.js +5 -0
- package/dist/module/SubPackages/react-test-renderer/jsx/web.js +5 -0
- package/dist/module/SubPackages/react-test-renderer/jsx-promised/index.js +16 -0
- package/dist/module/SubPackages/react-test-renderer/jsx-promised/node.js +5 -0
- package/dist/module/SubPackages/react-test-renderer/jsx-promised/web.js +5 -0
- package/dist/module/TaskManBackEnd.js +169 -0
- package/dist/module/TaskManFrontEnd.js +600 -0
- package/dist/module/Types.js +1 -0
- package/dist/module/Web.js +34 -0
- package/dist/module/esbuildConfigs/features.js +12 -0
- package/dist/module/esbuildConfigs/index.js +19 -0
- package/dist/module/esbuildConfigs/inputFilesPlugin.js +44 -0
- package/dist/module/esbuildConfigs/node.js +34 -0
- package/dist/module/esbuildConfigs/report.js +11 -0
- package/dist/module/esbuildConfigs/tests.js +11 -0
- package/dist/module/esbuildConfigs/web.js +52 -0
- package/dist/module/lib/abstractBase.js +545 -0
- package/dist/module/lib/basebuilder.js +75 -0
- package/dist/module/lib/classBuilder.js +38 -0
- package/dist/module/lib/core.js +72 -0
- package/dist/module/lib/index.js +18 -0
- package/dist/module/lib/types.js +1 -0
- package/dist/module/mongooseSchemas.js +50 -0
- package/dist/module/package.json +3 -0
- package/dist/module/preload.js +15 -0
- package/dist/module/puppeteerConfiger.js +19 -0
- package/dist/module/report.html.js +29 -0
- package/dist/module/tsconfig.module.tsbuildinfo +1 -0
- package/dist/module/utils.js +9 -0
- package/dist/module/web.html.js +20 -0
- package/dist/prebuild/Report.css +11358 -0
- package/dist/prebuild/Report.js +37666 -0
- package/dist/prebuild/TaskManBackEnd.mjs +180 -0
- package/dist/prebuild/TaskManFrontEnd.css +12301 -0
- package/dist/prebuild/TaskManFrontEnd.js +81737 -0
- package/dist/types/Features.d.ts +68 -0
- package/dist/types/Node.d.ts +6 -0
- package/dist/types/PM/index.d.ts +20 -0
- package/dist/types/PM/main.d.ts +31 -0
- package/dist/types/PM/node.d.ts +27 -0
- package/dist/types/PM/web.d.ts +25 -0
- package/dist/types/Project.d.ts +7 -0
- package/dist/types/Puppeteer.d.ts +1 -0
- package/dist/types/Reporter.d.ts +1 -0
- package/dist/types/Scheduler.d.ts +0 -0
- package/dist/types/SubPackages/puppeteer.d.ts +6 -0
- package/dist/types/SubPackages/react/component/node.d.ts +7 -0
- package/dist/types/SubPackages/react/component/web.d.ts +7 -0
- package/dist/types/SubPackages/react/jsx/index.d.ts +12 -0
- package/dist/types/SubPackages/react/jsx/node.d.ts +4 -0
- package/dist/types/SubPackages/react/jsx/web.d.ts +4 -0
- package/dist/types/SubPackages/react-dom/component/node.d.ts +12 -0
- package/dist/types/SubPackages/react-dom/component/web.d.ts +11 -0
- package/dist/types/SubPackages/react-dom/jsx/index.d.ts +6 -0
- package/dist/types/SubPackages/react-dom/jsx/node.d.ts +6 -0
- package/dist/types/SubPackages/react-dom/jsx/web.d.ts +5 -0
- package/dist/types/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +5 -0
- package/dist/types/SubPackages/react-test-renderer/component/index.d.ts +13 -0
- package/dist/types/SubPackages/react-test-renderer/component/interface.d.ts +9 -0
- package/dist/types/SubPackages/react-test-renderer/component/node.d.ts +8 -0
- package/dist/types/SubPackages/react-test-renderer/component/web.d.ts +3 -0
- package/dist/types/SubPackages/react-test-renderer/fc/node.d.ts +8 -0
- package/dist/types/SubPackages/react-test-renderer/fc/web.d.ts +8 -0
- package/dist/types/SubPackages/react-test-renderer/jsx/index.d.ts +16 -0
- package/dist/types/SubPackages/react-test-renderer/jsx/node.d.ts +8 -0
- package/dist/types/SubPackages/react-test-renderer/jsx/web.d.ts +8 -0
- package/dist/types/SubPackages/react-test-renderer/jsx-promised/index.d.ts +15 -0
- package/dist/types/SubPackages/react-test-renderer/jsx-promised/node.d.ts +4 -0
- package/dist/types/SubPackages/react-test-renderer/jsx-promised/web.d.ts +4 -0
- package/dist/types/TaskManBackEnd.d.ts +1 -0
- package/dist/types/Types.d.ts +50 -0
- package/dist/types/Web.d.ts +6 -0
- package/dist/types/esbuildConfigs/features.d.ts +4 -0
- package/dist/types/esbuildConfigs/index.d.ts +4 -0
- package/dist/types/esbuildConfigs/inputFilesPlugin.d.ts +5 -0
- package/dist/types/esbuildConfigs/node.d.ts +4 -0
- package/dist/types/esbuildConfigs/report.d.ts +4 -0
- package/dist/types/esbuildConfigs/tests.d.ts +4 -0
- package/dist/types/esbuildConfigs/web.d.ts +4 -0
- package/dist/types/lib/abstractBase.d.ts +104 -0
- package/dist/types/lib/basebuilder.d.ts +27 -0
- package/dist/types/lib/classBuilder.d.ts +7 -0
- package/dist/types/lib/core.d.ts +8 -0
- package/dist/types/lib/index.d.ts +59 -0
- package/dist/types/lib/types.d.ts +64 -0
- package/dist/types/mongooseSchemas.d.ts +124 -0
- package/dist/types/preload.d.ts +0 -0
- package/dist/types/puppeteerConfiger.d.ts +4 -0
- package/dist/types/report.html.d.ts +2 -0
- package/dist/types/tsconfig.types.tsbuildinfo +1 -0
- package/dist/types/utils.d.ts +2 -0
- package/dist/types/web.html.d.ts +2 -0
- package/package.json +2 -2
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import React, { useEffect, useState } from "react";
|
|
2
|
+
import Col from 'react-bootstrap/Col';
|
|
3
|
+
import Nav from 'react-bootstrap/Nav';
|
|
4
|
+
import Row from 'react-bootstrap/Row';
|
|
5
|
+
import Tab from 'react-bootstrap/Tab';
|
|
6
|
+
import Tabs from 'react-bootstrap/Tabs';
|
|
7
|
+
import 'bootstrap/dist/css/bootstrap.min.css';
|
|
8
|
+
const queryString = window.location.search;
|
|
9
|
+
// Create a URLSearchParams object
|
|
10
|
+
const urlParams = new URLSearchParams(queryString);
|
|
11
|
+
console.log("urlParams", urlParams.has("local"));
|
|
12
|
+
// Get the value of a specific parameter
|
|
13
|
+
const isLocal = urlParams.get("local");
|
|
14
|
+
const urlFixer = (url) => {
|
|
15
|
+
if (isLocal) {
|
|
16
|
+
return `file:///Users/adam/Code/kokomoBay/${url}`;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
return `https://chromapdx.github.io/kokomoBay/${url}`;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const TextTab = (props) => {
|
|
23
|
+
const [text, setText] = useState('');
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
fetch(props.url) // Replace with your API endpoint
|
|
26
|
+
.then(response => response.text())
|
|
27
|
+
.then(data => setText(data))
|
|
28
|
+
.catch(error => console.error('Error fetching text:', error));
|
|
29
|
+
}, []);
|
|
30
|
+
return React.createElement("code", null,
|
|
31
|
+
React.createElement("pre", null, text));
|
|
32
|
+
};
|
|
33
|
+
export default () => {
|
|
34
|
+
return (React.createElement(Tab.Container, { id: "left-tabs-example5", defaultActiveKey: "examples-0" },
|
|
35
|
+
React.createElement(Row, null,
|
|
36
|
+
React.createElement(Col, { sm: 3, lg: 2 },
|
|
37
|
+
React.createElement(Nav, { variant: "pills", className: "flex-column" },
|
|
38
|
+
React.createElement(Nav.Link, { eventKey: `manual-example-rectangle` }, "RECTANGLE"),
|
|
39
|
+
React.createElement(Nav.Link, { eventKey: `manual-example-ClassicalComponent` }, "ClassicalComponent"),
|
|
40
|
+
React.createElement(Nav.Link, { eventKey: `manual-example-react+sol` }, "React and solidity"))),
|
|
41
|
+
React.createElement(Col, { sm: 3, lg: 2 },
|
|
42
|
+
React.createElement(Tab.Content, null,
|
|
43
|
+
React.createElement(Tab.Pane, { eventKey: `manual-example-rectangle`, key: `manual-example-rectangle` },
|
|
44
|
+
React.createElement("pre", null, "In this contrived example, we are testing the Rectangle class. Node that because it uses no web-specific, nor node-specific language features, it can be run in either runtime, thought it more efficient and reasonable to test in node.")),
|
|
45
|
+
React.createElement(Tab.Pane, { eventKey: `manual-example-ClassicalComponent`, key: `manual-example-ClassicalComponent` },
|
|
46
|
+
React.createElement("pre", null, "Testing a react component with the react-test-renderer package.")),
|
|
47
|
+
React.createElement(Tab.Pane, { eventKey: `manual-example-react+sol`, key: `manual-example-react+sol` },
|
|
48
|
+
React.createElement("pre", null, "Testing a react component which is backed by a solidity contract. This test is performed _on_ the server but but _through_ the browser. The react element is renderer into an chromium window and accessed by puppeteer.")))),
|
|
49
|
+
React.createElement(Col, null,
|
|
50
|
+
React.createElement(Tab.Content, null,
|
|
51
|
+
React.createElement(Tab.Pane, { eventKey: `manual-example-rectangle`, key: `manual-example-rectangle` },
|
|
52
|
+
React.createElement(Tabs, { defaultActiveKey: "profile", id: "uncontrolled-tab-example", className: "mb-3" },
|
|
53
|
+
React.createElement(Tab, { eventKey: "Rectangle.ts", title: "Rectangle.ts" },
|
|
54
|
+
React.createElement(TextTab, { url: urlFixer("src/Rectangle.ts") })),
|
|
55
|
+
React.createElement(Tab, { eventKey: "Rectangle.test.specification.ts", title: "Rectangle.test.specification.ts" },
|
|
56
|
+
React.createElement(TextTab, { url: urlFixer("src/Rectangle.test.specification.ts") })),
|
|
57
|
+
React.createElement(Tab, { eventKey: "Rectangle.test.shape.ts", title: "Rectangle.test.shape.ts" },
|
|
58
|
+
React.createElement(TextTab, { url: urlFixer("src/Rectangle.test.shape.ts") })),
|
|
59
|
+
React.createElement(Tab, { eventKey: "Rectangle.test.implementation.ts", title: "Rectangle.test.implementation.ts" },
|
|
60
|
+
React.createElement(TextTab, { url: urlFixer("src/Rectangle.test.implementation.ts") })),
|
|
61
|
+
React.createElement(Tab, { eventKey: "Rectangle.test.interface.ts", title: "Rectangle.test.interface.ts" },
|
|
62
|
+
React.createElement(TextTab, { url: urlFixer("src/Rectangle.test.interface.ts") })),
|
|
63
|
+
React.createElement(Tab, { eventKey: "Rectangle.config", title: "Rectangle.config" },
|
|
64
|
+
React.createElement("code", null,
|
|
65
|
+
React.createElement("pre", null, `
|
|
66
|
+
...
|
|
67
|
+
|
|
68
|
+
// Run the test in node
|
|
69
|
+
"./src/Rectangle/Rectangle.test.node.ts",
|
|
70
|
+
"node",
|
|
71
|
+
{ ports: 0 },
|
|
72
|
+
[],
|
|
73
|
+
],
|
|
74
|
+
|
|
75
|
+
// Run the same test in chromium too!
|
|
76
|
+
"./src/Rectangle/Rectangle.test.web.ts",
|
|
77
|
+
"web",
|
|
78
|
+
{ ports: 0 },
|
|
79
|
+
[],
|
|
80
|
+
],
|
|
81
|
+
|
|
82
|
+
...
|
|
83
|
+
`))))),
|
|
84
|
+
React.createElement(Tab.Pane, { eventKey: `manual-example-ClassicalComponent`, key: `manual-example-ClassicalComponent` },
|
|
85
|
+
React.createElement(Tabs, { defaultActiveKey: "profile", id: "uncontrolled-tab-example", className: "mb-3" },
|
|
86
|
+
React.createElement(Tab, { eventKey: "ClassicalComponent/index.tsx", title: "ClassicalComponent/index.tsx" },
|
|
87
|
+
React.createElement(TextTab, { url: urlFixer("src/ClassicalComponent/index.tsx") })),
|
|
88
|
+
React.createElement(Tab, { eventKey: "ClassicalComponent/test.specification.ts", title: "ClassicalComponent/test.specification.ts" },
|
|
89
|
+
React.createElement(TextTab, { url: urlFixer("src/ClassicalComponent/test.specification.ts") })),
|
|
90
|
+
React.createElement(Tab, { eventKey: "ClassicalComponent/test.shape.ts", title: "ClassicalComponent/test.shape.ts" },
|
|
91
|
+
React.createElement(TextTab, { url: urlFixer("src/ClassicalComponent/test.shape.ts") })),
|
|
92
|
+
React.createElement(Tab, { eventKey: "ClassicalComponent/react-test-renderer/test.implementation.ts", title: "ClassicalComponent/react-test-renderer/test.implementation.ts" },
|
|
93
|
+
React.createElement(TextTab, { url: urlFixer("src/ClassicalComponent/react-test-renderer/test.implementation.ts") })),
|
|
94
|
+
React.createElement(Tab, { eventKey: "react-test-renderer/test.interface.ts", title: "react-test-renderer/test.interface.ts" },
|
|
95
|
+
React.createElement(TextTab, { url: "https://raw.githubusercontent.com/adamwong246/testeranto/master/src/subPackages/react-test-renderer/component/interface.ts" })))),
|
|
96
|
+
React.createElement(Tab.Pane, { eventKey: `manual-example-react+sol`, key: `manual-example-react+sol` },
|
|
97
|
+
React.createElement(Tabs, { defaultActiveKey: "profile", id: "uncontrolled-tab-example", className: "mb-3" },
|
|
98
|
+
React.createElement(Tab, { eventKey: "contracts/MyBaseContract.sol", title: "MyBaseContract.sol" },
|
|
99
|
+
React.createElement(TextTab, { url: urlFixer("contracts/MyBaseContract.sol") })),
|
|
100
|
+
React.createElement(Tab, { eventKey: "src/MyFirstContractUI.tsx", title: "MyFirstContractUI.tsx" },
|
|
101
|
+
React.createElement(TextTab, { url: urlFixer("src/MyFirstContractUI.tsx") })),
|
|
102
|
+
React.createElement(Tab, { eventKey: "src/MyFirstContract.specification.test.ts", title: "MyFirstContract.specification.test.ts" },
|
|
103
|
+
React.createElement(TextTab, { url: urlFixer("src/MyFirstContract.specification.test.ts") })),
|
|
104
|
+
React.createElement(Tab, { eventKey: "src/MyFirstContract.solidity-react.interface.test.ts", title: "MyFirstContract.solidity-react.interface.test.ts" },
|
|
105
|
+
React.createElement(TextTab, { url: urlFixer("src/MyFirstContract.solidity-react.interface.test.ts") })),
|
|
106
|
+
React.createElement(Tab, { eventKey: "src/MyFirstContract.solidity-react.implementation.test.ts", title: "MyFirstContract.solidity-react.implementation.test.ts" },
|
|
107
|
+
React.createElement(TextTab, { url: urlFixer("src/MyFirstContract.solidity-react.implementation.test.ts") })),
|
|
108
|
+
React.createElement(Tab, { eventKey: "src/MyFirstContract.solidity-react.shape.test.ts", title: "MyFirstContract.solidity-react.shape.test.ts" },
|
|
109
|
+
React.createElement(TextTab, { url: urlFixer("src/MyFirstContract.solidity-react.shape.test.ts") })),
|
|
110
|
+
React.createElement(Tab, { eventKey: "MyFirstContract.solidity-react-example-jpg", title: "screenshot" },
|
|
111
|
+
React.createElement("img", { src: urlFixer("docs/node/src/MyFirstContract.solidity-react.testeranto/suite-0/given-test1/when/0/afterEach/andWhen.jpg") })))))))));
|
|
112
|
+
};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import Graph from "graphology/dist/graphology.umd.js";
|
|
2
|
+
const { DirectedGraph, UndirectedGraph } = Graph;
|
|
3
|
+
class TesterantoGraph {
|
|
4
|
+
constructor(name) {
|
|
5
|
+
this.name = name;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export class BaseFeature {
|
|
9
|
+
constructor(name) {
|
|
10
|
+
this.name = name;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export class TesterantoGraphUndirected {
|
|
14
|
+
constructor(name) {
|
|
15
|
+
this.name = name;
|
|
16
|
+
this.graph = new UndirectedGraph();
|
|
17
|
+
}
|
|
18
|
+
connect(a, b, relation) {
|
|
19
|
+
this.graph.mergeEdge(a, b, { type: relation });
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export class TesterantoGraphDirected {
|
|
23
|
+
constructor(name) {
|
|
24
|
+
this.name = name;
|
|
25
|
+
this.graph = new DirectedGraph();
|
|
26
|
+
}
|
|
27
|
+
connect(to, from, relation) {
|
|
28
|
+
this.graph.mergeEdge(to, from, { type: relation });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export class TesterantoGraphDirectedAcyclic {
|
|
32
|
+
constructor(name) {
|
|
33
|
+
this.name = name;
|
|
34
|
+
this.graph = new DirectedGraph();
|
|
35
|
+
}
|
|
36
|
+
connect(to, from, relation) {
|
|
37
|
+
this.graph.mergeEdge(to, from, { type: relation });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export class TesterantoFeatures {
|
|
41
|
+
constructor(features, graphs) {
|
|
42
|
+
this.features = features;
|
|
43
|
+
this.graphs = graphs;
|
|
44
|
+
}
|
|
45
|
+
networks() {
|
|
46
|
+
return [
|
|
47
|
+
...this.graphs.undirected.values(),
|
|
48
|
+
...this.graphs.directed.values(),
|
|
49
|
+
...this.graphs.dags.values(),
|
|
50
|
+
];
|
|
51
|
+
}
|
|
52
|
+
toObj() {
|
|
53
|
+
return {
|
|
54
|
+
features: Object.entries(this.features).map(([name, feature]) => {
|
|
55
|
+
return Object.assign(Object.assign({}, feature), { inNetworks: this.networks()
|
|
56
|
+
.filter((network) => {
|
|
57
|
+
return network.graph.hasNode(feature.name);
|
|
58
|
+
})
|
|
59
|
+
.map((network) => {
|
|
60
|
+
return {
|
|
61
|
+
network: network.name,
|
|
62
|
+
neighbors: network.graph.neighbors(feature.name),
|
|
63
|
+
};
|
|
64
|
+
}) });
|
|
65
|
+
}),
|
|
66
|
+
networks: this.networks().map((network) => {
|
|
67
|
+
return Object.assign({}, network);
|
|
68
|
+
}),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export { DirectedGraph };
|
|
73
|
+
export default {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import Testeranto from "./lib/core.js";
|
|
2
|
+
import { defaultTestResourceRequirement, } from "./lib/index.js";
|
|
3
|
+
import { PM_Node } from "./PM/node.js";
|
|
4
|
+
class NodeTesteranto extends Testeranto {
|
|
5
|
+
constructor(input, testSpecification, testImplementation, testResourceRequirement, testInterface) {
|
|
6
|
+
super(input, testSpecification, testImplementation, testResourceRequirement, testInterface);
|
|
7
|
+
}
|
|
8
|
+
async receiveTestResourceConfig(partialTestResource) {
|
|
9
|
+
const t = JSON.parse(partialTestResource);
|
|
10
|
+
console.log("receiveTestResourceConfig", t);
|
|
11
|
+
const pm = new PM_Node(t);
|
|
12
|
+
const { failed, artifacts, logPromise } = await this.testJobs[0].receiveTestResourceConfig(pm);
|
|
13
|
+
pm.customclose();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export default async (input, testSpecification, testImplementation, testInterface, testResourceRequirement = defaultTestResourceRequirement) => {
|
|
17
|
+
return new NodeTesteranto(input, testSpecification, testImplementation, testResourceRequirement, testInterface);
|
|
18
|
+
};
|