testeranto 0.200.0 → 0.202.0
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/README.md +26 -1
- package/bundle.js +3 -2
- package/design-editor/DesignEditor.tsx +40 -241
- package/dist/common/design-editor/DesignEditor.js +33 -198
- package/dist/common/src/App.js +158 -16
- package/dist/common/src/PM/PM_WithBuild.js +135 -0
- package/dist/common/src/PM/PM_WithEslintAndTsc.js +79 -67
- package/dist/common/src/PM/PM_WithGit.js +517 -0
- package/dist/common/src/PM/PM_WithProcesses.js +519 -0
- package/dist/common/src/PM/PM_WithWebSocket.js +535 -0
- package/dist/common/src/PM/base.js +62 -0
- package/dist/common/src/PM/main.js +533 -1676
- package/dist/common/src/PM/metafileOutputs.js +78 -0
- package/dist/common/src/PM/node.js +0 -6
- package/dist/common/src/PM/pure.js +0 -8
- package/dist/common/src/PM/types.js +1 -0
- package/dist/common/src/PM/utils.js +210 -0
- package/dist/common/src/PM/web.js +0 -6
- package/dist/common/src/ReportServer.js +0 -10
- package/dist/common/src/ReportServerLib.js +0 -140
- package/dist/common/src/components/pure/AppFrame.js +68 -56
- package/dist/common/src/components/pure/ArtifactTree.js +80 -0
- package/dist/common/src/components/pure/BuildLogViewer.js +106 -0
- package/dist/common/src/components/pure/DebugEnv.js +30 -0
- package/dist/common/src/components/pure/FileTree.js +34 -0
- package/dist/common/src/components/pure/FileTreeItem.js +29 -0
- package/dist/common/src/components/pure/GitHubLoginButton.js +18 -0
- package/dist/common/src/components/pure/GitIntegrationView.js +342 -0
- package/dist/common/src/components/pure/ProcessManager.js +1 -0
- package/dist/common/src/components/pure/ProcessManagerView.js +73 -74
- package/dist/common/src/components/pure/ProjectPageView.js +4 -117
- package/dist/common/src/components/pure/Settings.js +121 -0
- package/dist/common/src/components/pure/Settings.test.js +34 -0
- package/dist/common/src/components/pure/SignIn.js +22 -0
- package/dist/common/src/components/pure/SingleProcessView.js +166 -213
- package/dist/common/src/components/pure/TestPageView.js +113 -368
- package/dist/common/src/components/pure/TestPageView_utils.js +117 -0
- package/dist/common/src/components/pure/TestTable.js +33 -0
- package/dist/common/src/components/pure/ToastNotification.js +14 -0
- package/dist/common/src/components/pure/UserProfile.js +27 -0
- package/dist/common/src/components/stateful/AuthCallbackPage.js +51 -0
- package/dist/common/src/components/stateful/FeaturesReporter.js +2 -1
- package/dist/common/src/components/stateful/FileTree.js +58 -39
- package/dist/common/src/components/stateful/GitIntegrationPage.js +12 -0
- package/dist/common/src/components/stateful/ProcessManagerPage.js +13 -15
- package/dist/common/src/components/stateful/ProjectPage.js +6 -5
- package/dist/common/src/components/stateful/ProjectsPage.js +17 -19
- package/dist/common/src/components/stateful/SingleProcessPage.js +16 -26
- package/dist/common/src/components/stateful/TestPage.js +7 -5
- package/dist/common/src/hooks/useGitMode.js +21 -0
- package/dist/common/src/lib/BaseSuite.test/mock.js +15 -8
- package/dist/common/src/lib/BaseSuite.test/test.js +56 -80
- package/dist/common/src/lib/Tiposkripto.js +24 -0
- package/dist/common/src/lib/Tiposkripto.test/MockTiposkripto.js +154 -10
- package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.adapter.js +6 -12
- package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.implementation.js +63 -23
- package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.specification.js +14 -6
- package/dist/common/src/lib/pmProxy.test/specification.js +167 -52
- package/dist/common/src/services/FileService.js +505 -0
- package/dist/common/src/services/GitHubAuthService.js +184 -0
- package/dist/common/src/testeranto.js +38 -97
- package/dist/common/src/utils/api.js +12 -8
- package/dist/common/src/utils/gitTest.js +27 -0
- package/dist/common/src/utils.js +23 -13
- package/dist/common/testeranto.config.js +21 -17
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/design-editor/DesignEditor.js +33 -199
- package/dist/module/src/App.js +121 -15
- package/dist/module/src/PM/PM_WithBuild.js +128 -0
- package/dist/module/src/PM/PM_WithEslintAndTsc.js +79 -67
- package/dist/module/src/PM/PM_WithGit.js +477 -0
- package/dist/module/src/PM/PM_WithProcesses.js +479 -0
- package/dist/module/src/PM/PM_WithWebSocket.js +528 -0
- package/dist/module/src/PM/base.js +62 -0
- package/dist/module/src/PM/main.js +533 -1676
- package/dist/module/src/PM/metafileOutputs.js +78 -0
- package/dist/module/src/PM/node.js +0 -6
- package/dist/module/src/PM/pure.js +0 -8
- package/dist/module/src/PM/types.js +1 -1
- package/dist/module/src/PM/utils.js +196 -0
- package/dist/module/src/PM/web.js +0 -6
- package/dist/module/src/ReportServer.js +1 -9
- package/dist/module/src/ReportServerLib.js +1 -134
- package/dist/module/src/components/pure/AppFrame.js +66 -24
- package/dist/module/src/components/pure/ArtifactTree.js +80 -0
- package/dist/module/src/components/pure/BuildLogViewer.js +99 -0
- package/dist/module/src/components/pure/DebugEnv.js +23 -0
- package/dist/module/src/components/pure/FileTree.js +27 -0
- package/dist/module/src/components/pure/FileTreeItem.js +22 -0
- package/dist/module/src/components/pure/GitHubLoginButton.js +11 -0
- package/dist/module/src/components/pure/GitIntegrationView.js +305 -0
- package/dist/module/src/components/pure/ProcessManager.js +1 -0
- package/dist/module/src/components/pure/ProcessManagerView.js +74 -75
- package/dist/module/src/components/pure/ProjectPageView.js +5 -118
- package/dist/module/src/components/pure/Settings.js +84 -0
- package/dist/module/src/components/pure/Settings.test.js +29 -0
- package/dist/module/src/components/pure/SignIn.js +15 -0
- package/dist/module/src/components/pure/SingleProcessView.js +130 -214
- package/dist/module/src/components/pure/TestPageView.js +97 -352
- package/dist/module/src/components/pure/TestPageView_utils.js +109 -0
- package/dist/module/src/components/pure/TestTable.js +26 -0
- package/dist/module/src/components/pure/ToastNotification.js +7 -0
- package/dist/module/src/components/pure/UserProfile.js +20 -0
- package/dist/module/src/components/stateful/AuthCallbackPage.js +14 -0
- package/dist/module/src/components/stateful/FeaturesReporter.js +2 -1
- package/dist/module/src/components/stateful/FileTree.js +59 -33
- package/dist/module/src/components/stateful/GitIntegrationPage.js +5 -0
- package/dist/module/src/components/stateful/ProcessManagerPage.js +13 -15
- package/dist/module/src/components/stateful/ProjectPage.js +6 -5
- package/dist/module/src/components/stateful/ProjectsPage.js +16 -18
- package/dist/module/src/components/stateful/SingleProcessPage.js +16 -26
- package/dist/module/src/components/stateful/TestPage.js +8 -6
- package/dist/module/src/hooks/useGitMode.js +17 -0
- package/dist/module/src/lib/BaseSuite.test/mock.js +15 -8
- package/dist/module/src/lib/BaseSuite.test/test.js +56 -80
- package/dist/module/src/lib/Tiposkripto.js +24 -0
- package/dist/module/src/lib/Tiposkripto.test/MockTiposkripto.js +154 -10
- package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.adapter.js +6 -12
- package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.implementation.js +63 -23
- package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.specification.js +14 -6
- package/dist/module/src/lib/pmProxy.test/specification.js +167 -52
- package/dist/module/src/services/FileService.js +468 -0
- package/dist/module/src/services/GitHubAuthService.js +180 -0
- package/dist/module/src/testeranto.js +38 -97
- package/dist/module/src/utils/api.js +10 -7
- package/dist/module/src/utils/gitTest.js +23 -0
- package/dist/module/src/utils.js +21 -12
- package/dist/module/testeranto.config.js +21 -17
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/App.css +94 -121
- package/dist/prebuild/App.js +44601 -11225
- package/dist/prebuild/testeranto.mjs +4106 -0
- package/dist/types/design-editor/DesignEditor.d.ts +1 -18
- package/dist/types/src/App.d.ts +18 -0
- package/dist/types/src/PM/PM_WithBuild.d.ts +13 -0
- package/dist/types/src/PM/PM_WithEslintAndTsc.d.ts +2 -4
- package/dist/types/src/PM/PM_WithGit.d.ts +27 -0
- package/dist/types/src/PM/PM_WithProcesses.d.ts +29 -0
- package/dist/types/src/PM/PM_WithWebSocket.d.ts +108 -0
- package/dist/types/src/PM/base.d.ts +1 -1
- package/dist/types/src/PM/index.d.ts +0 -2
- package/dist/types/src/PM/main.d.ts +6 -77
- package/dist/types/src/PM/metafileOutputs.d.ts +0 -0
- package/dist/types/src/PM/node.d.ts +0 -2
- package/dist/types/src/PM/pure.d.ts +0 -2
- package/dist/types/src/PM/types.d.ts +118 -0
- package/dist/types/src/PM/utils.d.ts +35 -0
- package/dist/types/src/PM/web.d.ts +0 -2
- package/dist/types/src/Pure.d.ts +6 -1
- package/dist/types/src/ReportServer.d.ts +0 -1
- package/dist/types/src/ReportServerLib.d.ts +0 -1
- package/dist/types/src/Types.d.ts +1 -0
- package/dist/types/src/components/pure/ArtifactTree.d.ts +0 -0
- package/dist/types/src/components/pure/BuildLogViewer.d.ts +7 -0
- package/dist/types/src/components/pure/DebugEnv.d.ts +2 -0
- package/dist/types/src/components/pure/FileTree.d.ts +6 -0
- package/dist/types/src/components/pure/FileTreeItem.d.ts +8 -0
- package/dist/types/src/components/pure/GitHubLoginButton.d.ts +8 -0
- package/dist/types/src/components/pure/GitIntegrationView.d.ts +1 -0
- package/dist/types/src/components/pure/Settings.d.ts +1 -0
- package/dist/types/src/components/pure/Settings.test.d.ts +1 -0
- package/dist/types/src/components/pure/SignIn.d.ts +1 -0
- package/dist/types/src/components/pure/SingleProcessView.d.ts +10 -0
- package/dist/types/src/components/pure/TestPageView.d.ts +2 -1
- package/dist/types/src/components/pure/TestPageView_utils.d.ts +23 -0
- package/dist/types/src/components/pure/TestTable.d.ts +16 -0
- package/dist/types/src/components/pure/ToastNotification.d.ts +6 -0
- package/dist/types/src/components/pure/UserProfile.d.ts +2 -0
- package/dist/types/src/components/stateful/AuthCallbackPage.d.ts +2 -0
- package/dist/types/src/components/stateful/FileTree.d.ts +0 -8
- package/dist/types/src/components/stateful/GitIntegrationPage.d.ts +1 -0
- package/dist/types/src/hooks/useGitMode.d.ts +7 -0
- package/dist/types/src/lib/BaseSuite.test/mock.d.ts +2 -2
- package/dist/types/src/lib/BaseSuite.test/test.d.ts +4 -3
- package/dist/types/src/lib/Tiposkripto.d.ts +2 -0
- package/dist/types/src/lib/Tiposkripto.test/MockTiposkripto.d.ts +3 -0
- package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.types.d.ts +5 -0
- package/dist/types/src/lib/index.d.ts +6 -0
- package/dist/types/src/services/FileService.d.ts +34 -0
- package/dist/types/src/services/GitHubAuthService.d.ts +32 -0
- package/dist/types/src/utils/api.d.ts +1 -0
- package/dist/types/src/utils/gitTest.d.ts +11 -0
- package/dist/types/src/utils.d.ts +3 -3
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/example/__pycache__/Calculator.cpython-313.pyc +0 -0
- package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/README.md +187 -0
- package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_given.go +163 -0
- package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_suite.go +85 -0
- package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_then.go +21 -0
- package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/base_when.go +21 -0
- package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/golingvu.go +554 -0
- package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/test_adapter.go +33 -0
- package/example/vendor/github.com/adamwong246/testeranto/src/golingvu/types.go +72 -0
- package/example/vendor/modules.txt +5 -0
- package/git-integration-plan.md +395 -0
- package/package.json +26 -14
- package/src/App.tsx +169 -18
- package/src/PM/PM_WithBuild.ts +171 -0
- package/src/PM/PM_WithEslintAndTsc.ts +109 -86
- package/src/PM/PM_WithGit.ts +585 -0
- package/src/PM/PM_WithProcesses.ts +639 -0
- package/src/PM/PM_WithWebSocket.ts +631 -0
- package/src/PM/base.ts +63 -1
- package/src/PM/index.ts +8 -5
- package/src/PM/main.ts +672 -2050
- package/src/PM/metafileOutputs.ts +90 -0
- package/src/PM/node.ts +18 -18
- package/src/PM/pure.ts +5 -13
- package/src/PM/types.ts +145 -0
- package/src/PM/utils.ts +256 -0
- package/src/PM/web.ts +8 -8
- package/src/README.md +122 -0
- package/src/ReportServer.ts +0 -12
- package/src/ReportServerLib.ts +0 -147
- package/src/Types.ts +1 -0
- package/src/app.scss +14 -164
- package/src/components/pure/AppFrame.tsx +237 -71
- package/src/components/pure/ArtifactTree.tsx +82 -0
- package/src/components/pure/BuildLogViewer.tsx +168 -0
- package/src/components/pure/DebugEnv.tsx +30 -0
- package/src/components/pure/FileTree.tsx +58 -0
- package/src/components/pure/FileTreeItem.tsx +49 -0
- package/src/components/pure/GitHubLoginButton.tsx +31 -0
- package/src/components/pure/GitIntegrationView.tsx +443 -0
- package/src/components/pure/ProcessManager.tsx +6 -5
- package/src/components/pure/ProcessManagerView.tsx +162 -166
- package/src/components/pure/ProjectPageView.tsx +6 -224
- package/src/components/pure/Settings.test.tsx +34 -0
- package/src/components/pure/Settings.tsx +163 -0
- package/src/components/pure/SignIn.tsx +33 -0
- package/src/components/pure/SingleProcessView.tsx +231 -235
- package/src/components/pure/TestPageView.test/specification.ts +1 -0
- package/src/components/pure/TestPageView.tsx +317 -826
- package/src/components/pure/TestPageView_utils.tsx +285 -0
- package/src/components/pure/TestTable.tsx +88 -0
- package/src/components/pure/ToastNotification.tsx +19 -0
- package/src/components/pure/UserProfile.tsx +44 -0
- package/src/components/stateful/AuthCallbackPage.tsx +21 -0
- package/src/components/stateful/FeaturesReporter.tsx +3 -1
- package/src/components/stateful/FileTree.tsx +58 -58
- package/src/components/stateful/GitIntegrationPage.tsx +8 -0
- package/src/components/stateful/ProcessManagerPage.tsx +13 -17
- package/src/components/stateful/ProjectPage.tsx +6 -5
- package/src/components/stateful/ProjectsPage.tsx +17 -19
- package/src/components/stateful/SVGEditor/CircleForm.tsx +68 -0
- package/src/components/stateful/SVGEditor/GroupForm.tsx +56 -0
- package/src/components/stateful/SVGEditor/RectForm.tsx +74 -0
- package/src/components/stateful/SVGEditor/SVGAttributeField.tsx +29 -0
- package/src/components/stateful/SVGEditor/SVGAttributesEditor.tsx +73 -0
- package/src/components/stateful/SVGEditor/SVGEditorControls.tsx +45 -0
- package/src/components/stateful/SVGEditor/SVGElementForm.tsx +45 -0
- package/src/components/stateful/SVGEditor/SVGPreview.tsx +225 -0
- package/src/components/stateful/SVGEditor/SVGTextEditor.tsx +166 -0
- package/src/components/stateful/SVGEditor/SVGTree.tsx +159 -0
- package/src/components/stateful/SVGEditor/SVGTypes.ts +36 -0
- package/src/components/stateful/SVGEditor/svg.xsd.xml +3038 -0
- package/src/components/stateful/SVGEditorPage.tsx +503 -0
- package/src/components/stateful/SingleProcessPage.tsx +18 -31
- package/src/components/stateful/TestPage.tsx +25 -22
- package/src/golingvu/golingvu.go +38 -2
- package/src/hooks/useGitMode.ts +20 -0
- package/src/lib/BaseSuite.test/mock.ts +16 -10
- package/src/lib/BaseSuite.test/test.ts +144 -103
- package/src/lib/Tiposkripto.test/MockTiposkripto.ts +178 -14
- package/src/lib/Tiposkripto.test/Tiposkripto.adapter.ts +9 -14
- package/src/lib/Tiposkripto.test/Tiposkripto.implementation.ts +78 -38
- package/src/lib/Tiposkripto.test/Tiposkripto.specification.ts +51 -9
- package/src/lib/Tiposkripto.test/Tiposkripto.types.ts +5 -0
- package/src/lib/Tiposkripto.ts +27 -0
- package/src/lib/index.ts +7 -0
- package/src/lib/pmProxy.test/specification.ts +168 -166
- package/src/pitono/PM/__pycache__/python.cpython-313.pyc +0 -0
- package/src/pitono/__pycache__/Pitono.cpython-313.pyc +0 -0
- package/src/pitono/__pycache__/__init__.cpython-313.pyc +0 -0
- package/src/pitono/__pycache__/base_given.cpython-313.pyc +0 -0
- package/src/pitono/__pycache__/base_suite.cpython-313.pyc +0 -0
- package/src/pitono/__pycache__/base_then.cpython-313.pyc +0 -0
- package/src/pitono/__pycache__/base_when.cpython-313.pyc +0 -0
- package/src/pitono/__pycache__/core_generator.cpython-313.pyc +0 -0
- package/src/pitono/__pycache__/simple_adapter.cpython-313.pyc +0 -0
- package/src/pitono/__pycache__/types.cpython-313.pyc +0 -0
- package/src/services/FileService.ts +542 -0
- package/src/services/GitHubAuthService.ts +240 -0
- package/src/testeranto.ts +62 -140
- package/src/utils/api.ts +15 -13
- package/src/utils/gitTest.ts +29 -0
- package/src/utils.ts +21 -12
- package/testeranto/App.css +94 -121
- package/testeranto/App.js +44601 -11225
- package/testeranto/bundles/golang/core/Calculator.golingvu.go +53 -0
- package/testeranto/bundles/golang/core/Calculator.golingvu.golingvu.go +53 -0
- package/testeranto/bundles/node/core/chunk-RIM6RECA.mjs +1170 -0
- package/testeranto/bundles/node/core/chunk-VXVF7WFO.mjs +4321 -0
- package/testeranto/bundles/node/core/example/Calculator.test.mjs +503 -0
- package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +94 -1231
- package/testeranto/bundles/node/core/src/lib/TipoSkripto.test/TipoSkripto.mjs +574 -0
- package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +482 -0
- package/testeranto/bundles/pure/core/chunk-XYOCRDEQ.mjs +1080 -0
- package/testeranto/bundles/pure/core/src/Pure.test.mjs +410 -0
- package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +93 -1146
- package/testeranto/bundles/python/core/Calculator.pitono.test.py +24 -0
- package/testeranto/bundles/python/core/test_example.py +24 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Black-O75GP5JI.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Bold-R524Q5BH.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-ExtraBold-C6GRMYVT.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Light-WKN65Y2C.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Medium-ZC4DWL7C.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Regular-DT6EKZ3S.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Thin-YWDNVG6M.ttf +0 -0
- package/testeranto/bundles/web/core/chunk-DFRN4SYZ.mjs +2297 -0
- package/testeranto/bundles/web/core/chunk-JMDLMADH.mjs +27996 -0
- package/testeranto/bundles/web/core/chunk-LQMU5NCG.mjs +3082 -0
- package/testeranto/bundles/web/core/chunk-Q5TONB2Z.mjs +6874 -0
- package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.mjs +164 -0
- package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.css +11697 -0
- package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.mjs +336 -0
- package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.css +11697 -0
- package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.mjs +517 -0
- package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.mjs +107 -1134
- package/testeranto/metafiles/golang/core.json +3 -3
- package/testeranto/metafiles/node/core.json +474 -31
- package/testeranto/metafiles/pure/core.json +144 -28
- package/testeranto/metafiles/python/core.json +11 -0
- package/testeranto/metafiles/web/core.json +15829 -45
- package/testeranto/reports/core/config.json +40 -0
- package/testeranto/reports/core/src/Pure.test/pure/exit.log +0 -0
- package/testeranto/reports/core/src/Pure.test/pure/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/Pure.test/pure/prompt.txt +14 -0
- package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +73 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log +91 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/exit.log +1 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/info.log +2 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/tests.json +68 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/error.log +30 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/exit.log +1 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/info.log +2 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/tests.json +88 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -6
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +0 -11
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stdout.log +1 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/tests.json +1 -1
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/type_errors.txt +35 -38
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -2
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +0 -10
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +40 -38
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/tests.json +1 -1
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/prompt.txt +17 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stderr.log +55 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stdout.log +191 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/type_errors.txt +71 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/lint_errors.txt +15 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/prompt.txt +17 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stderr.log +20 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stdout.log +4 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +49 -0
- package/testeranto/reports/core/summary.json +34 -6
- package/testeranto.config.ts +26 -20
- package/tsc.log +141 -91
- package/tsconfig.json +6 -2
- package/dist/prebuild/ReportServer.mjs +0 -227
- package/dist/prebuild/mothership/index.mjs +0 -22
- package/dist/types/design-editor/server.d.ts +0 -1
- package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.html +0 -15
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/lint_errors.txt +0 -2
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/prompt.txt +0 -25
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/type_errors.txt +0 -56
- /package/testeranto/reports/core/src/{lib/BaseSuite.test/web.test/web → Pure.test/pure}/message.txt +0 -0
|
@@ -0,0 +1,554 @@
|
|
|
1
|
+
package golingvu
|
|
2
|
+
|
|
3
|
+
import (
|
|
4
|
+
"encoding/json"
|
|
5
|
+
"fmt"
|
|
6
|
+
"net"
|
|
7
|
+
"strconv"
|
|
8
|
+
"time"
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
type IFinalResults struct {
|
|
12
|
+
Failed bool
|
|
13
|
+
Fails int
|
|
14
|
+
Artifacts []interface{}
|
|
15
|
+
Features []string
|
|
16
|
+
Tests int
|
|
17
|
+
RunTimeTests int
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// PM_Golang implements the process manager for Go tests
|
|
21
|
+
type PM_Golang struct {
|
|
22
|
+
testResourceConfiguration ITTestResourceConfiguration
|
|
23
|
+
client net.Conn
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Stop closes the connection and cleans up resources
|
|
27
|
+
func (pm *PM_Golang) Stop() error {
|
|
28
|
+
if pm.client != nil {
|
|
29
|
+
err := pm.client.Close()
|
|
30
|
+
pm.client = nil
|
|
31
|
+
return err
|
|
32
|
+
}
|
|
33
|
+
return nil
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
func (pm *PM_Golang) Start() error {
|
|
37
|
+
return nil
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// WriteFileSync writes data to a file synchronously
|
|
41
|
+
func (pm *PM_Golang) WriteFileSync(
|
|
42
|
+
filename string,
|
|
43
|
+
data string,
|
|
44
|
+
tr string,
|
|
45
|
+
) (bool, error) {
|
|
46
|
+
fullPath := pm.testResourceConfiguration.Fs + "/" + filename
|
|
47
|
+
result, err := pm.send("writeFileSync", fullPath, data, tr)
|
|
48
|
+
if err != nil {
|
|
49
|
+
return false, err
|
|
50
|
+
}
|
|
51
|
+
return result.(bool), nil
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
func (pm *PM_Golang) send(command string, args ...interface{}) (interface{}, error) {
|
|
55
|
+
// Generate a unique key
|
|
56
|
+
key := strconv.FormatInt(time.Now().UnixNano(), 10)
|
|
57
|
+
|
|
58
|
+
// Create the message array
|
|
59
|
+
message := []interface{}{command}
|
|
60
|
+
message = append(message, args...)
|
|
61
|
+
message = append(message, key)
|
|
62
|
+
|
|
63
|
+
// Convert to JSON
|
|
64
|
+
data, err := json.Marshal(message)
|
|
65
|
+
if err != nil {
|
|
66
|
+
return nil, err
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// Send the length first (4-byte big-endian)
|
|
70
|
+
length := uint32(len(data))
|
|
71
|
+
lengthBytes := []byte{
|
|
72
|
+
byte(length >> 24),
|
|
73
|
+
byte(length >> 16),
|
|
74
|
+
byte(length >> 8),
|
|
75
|
+
byte(length),
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
_, err = pm.client.Write(lengthBytes)
|
|
79
|
+
if err != nil {
|
|
80
|
+
return nil, err
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Send the actual data
|
|
84
|
+
_, err = pm.client.Write(data)
|
|
85
|
+
if err != nil {
|
|
86
|
+
return nil, err
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Wait for response
|
|
90
|
+
// First read the length
|
|
91
|
+
lengthBytes = make([]byte, 4)
|
|
92
|
+
_, err = pm.client.Read(lengthBytes)
|
|
93
|
+
if err != nil {
|
|
94
|
+
return nil, err
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
length = uint32(lengthBytes[0])<<24 | uint32(lengthBytes[1])<<16 |
|
|
98
|
+
uint32(lengthBytes[2])<<8 | uint32(lengthBytes[3])
|
|
99
|
+
|
|
100
|
+
// Read the response data
|
|
101
|
+
responseData := make([]byte, length)
|
|
102
|
+
_, err = pm.client.Read(responseData)
|
|
103
|
+
if err != nil {
|
|
104
|
+
return nil, err
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Parse the response
|
|
108
|
+
var response map[string]interface{}
|
|
109
|
+
err = json.Unmarshal(responseData, &response)
|
|
110
|
+
if err != nil {
|
|
111
|
+
return nil, err
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// Check if the response key matches our request key
|
|
115
|
+
if responseKey, ok := response["key"].(string); ok && responseKey == key {
|
|
116
|
+
return response["payload"], nil
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return nil, fmt.Errorf("key mismatch in response")
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Implement all the PM methods to match Node and Python implementations
|
|
123
|
+
func (pm *PM_Golang) Pages() ([]string, error) {
|
|
124
|
+
result, err := pm.send("pages")
|
|
125
|
+
if err != nil {
|
|
126
|
+
return nil, err
|
|
127
|
+
}
|
|
128
|
+
return result.([]string), nil
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
func (pm *PM_Golang) WaitForSelector(page, selector string) (interface{}, error) {
|
|
132
|
+
return pm.send("waitForSelector", page, selector)
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
func (pm *PM_Golang) ClosePage(page interface{}) (interface{}, error) {
|
|
136
|
+
return pm.send("closePage", page)
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
func (pm *PM_Golang) Goto(page, url string) (interface{}, error) {
|
|
140
|
+
return pm.send("goto", page, url)
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
func (pm *PM_Golang) NewPage() (string, error) {
|
|
144
|
+
result, err := pm.send("newPage")
|
|
145
|
+
if err != nil {
|
|
146
|
+
return "", err
|
|
147
|
+
}
|
|
148
|
+
return result.(string), nil
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
func (pm *PM_Golang) Selector(selector, page string) (interface{}, error) {
|
|
152
|
+
return pm.send("$", selector, page)
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
func (pm *PM_Golang) IsDisabled(selector string) (bool, error) {
|
|
156
|
+
result, err := pm.send("isDisabled", selector)
|
|
157
|
+
if err != nil {
|
|
158
|
+
return false, err
|
|
159
|
+
}
|
|
160
|
+
return result.(bool), nil
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
func (pm *PM_Golang) GetAttribute(selector, attribute, page string) (interface{}, error) {
|
|
164
|
+
return pm.send("getAttribute", selector, attribute, page)
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
func (pm *PM_Golang) GetInnerHtml(selector, page string) (interface{}, error) {
|
|
168
|
+
return pm.send("getInnerHtml", selector, page)
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
func (pm *PM_Golang) FocusOn(selector string) (interface{}, error) {
|
|
172
|
+
return pm.send("focusOn", selector)
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
func (pm *PM_Golang) TypeInto(selector string) (interface{}, error) {
|
|
176
|
+
return pm.send("typeInto", selector)
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
func (pm *PM_Golang) Page() (string, error) {
|
|
180
|
+
result, err := pm.send("page")
|
|
181
|
+
if err != nil {
|
|
182
|
+
return "", err
|
|
183
|
+
}
|
|
184
|
+
return result.(string), nil
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
func (pm *PM_Golang) Click(selector string) (interface{}, error) {
|
|
188
|
+
return pm.send("click", selector)
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
func (pm *PM_Golang) Screencast(opts map[string]interface{}, page string) (interface{}, error) {
|
|
192
|
+
return pm.send("screencast", opts, page, pm.testResourceConfiguration.Name)
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
func (pm *PM_Golang) ScreencastStop(page string) (interface{}, error) {
|
|
196
|
+
return pm.send("screencastStop", page)
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
func (pm *PM_Golang) CustomScreenshot(opts map[string]interface{}, page string) (interface{}, error) {
|
|
200
|
+
return pm.send("customScreenShot", opts, pm.testResourceConfiguration.Name, page)
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
func (pm *PM_Golang) ExistsSync(destFolder string) (bool, error) {
|
|
204
|
+
path := pm.testResourceConfiguration.Fs + "/" + destFolder
|
|
205
|
+
result, err := pm.send("existsSync", path)
|
|
206
|
+
if err != nil {
|
|
207
|
+
return false, err
|
|
208
|
+
}
|
|
209
|
+
return result.(bool), nil
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
func (pm *PM_Golang) MkdirSync() (interface{}, error) {
|
|
213
|
+
path := pm.testResourceConfiguration.Fs + "/"
|
|
214
|
+
return pm.send("mkdirSync", path)
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
func (pm *PM_Golang) Write(uid int, contents string) (bool, error) {
|
|
218
|
+
result, err := pm.send("write", uid, contents)
|
|
219
|
+
if err != nil {
|
|
220
|
+
return false, err
|
|
221
|
+
}
|
|
222
|
+
return result.(bool), nil
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
func (pm *PM_Golang) CreateWriteStream(filepath string) (string, error) {
|
|
226
|
+
fullPath := pm.testResourceConfiguration.Fs + "/" + filepath
|
|
227
|
+
result, err := pm.send("createWriteStream", fullPath, pm.testResourceConfiguration.Name)
|
|
228
|
+
if err != nil {
|
|
229
|
+
return "", err
|
|
230
|
+
}
|
|
231
|
+
return result.(string), nil
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
func (pm *PM_Golang) End(uid interface{}) (bool, error) {
|
|
235
|
+
result, err := pm.send("end", uid)
|
|
236
|
+
if err != nil {
|
|
237
|
+
return false, err
|
|
238
|
+
}
|
|
239
|
+
return result.(bool), nil
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
func (pm *PM_Golang) CustomClose() (interface{}, error) {
|
|
243
|
+
return pm.send("customclose", pm.testResourceConfiguration.Fs, pm.testResourceConfiguration.Name)
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
func (pm *PM_Golang) TestArtiFactoryfileWriter(tLog func(...interface{}), callback func(promise interface{})) interface{} {
|
|
247
|
+
// This would need to be implemented to match the Node.js implementation
|
|
248
|
+
// For now, return a placeholder
|
|
249
|
+
return func(fPath string, value interface{}) {
|
|
250
|
+
// Implementation would go here
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
// ITestJob represents a test job
|
|
255
|
+
type ITestJob interface {
|
|
256
|
+
ToObj() map[string]interface{}
|
|
257
|
+
Runner(pm interface{}, tLog func(...string)) (interface{}, error)
|
|
258
|
+
ReceiveTestResourceConfig(pm interface{}) (IFinalResults, error)
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
// Golingvu is the main test runner class (Go implementation of Tiposkripto)
|
|
262
|
+
type Golingvu struct {
|
|
263
|
+
TestResourceRequirement ITTestResourceRequest
|
|
264
|
+
Artifacts []interface{}
|
|
265
|
+
TestJobs []ITestJob
|
|
266
|
+
TestSpecification ITestSpecification
|
|
267
|
+
SuitesOverrides map[string]interface{}
|
|
268
|
+
GivenOverrides map[string]interface{}
|
|
269
|
+
WhenOverrides map[string]interface{}
|
|
270
|
+
ThenOverrides map[string]interface{}
|
|
271
|
+
PuppetMaster interface{}
|
|
272
|
+
Specs interface{}
|
|
273
|
+
totalTests int
|
|
274
|
+
assertThis func(t interface{}) interface{}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
// NewPM_Golang creates a new PM_Golang instance
|
|
278
|
+
func NewPM_Golang(t ITTestResourceConfiguration, ipcFile string) (*PM_Golang, error) {
|
|
279
|
+
// Connect to the IPC socket
|
|
280
|
+
conn, err := net.Dial("unix", ipcFile)
|
|
281
|
+
if err != nil {
|
|
282
|
+
return nil, fmt.Errorf("failed to connect to IPC file %s: %v", ipcFile, err)
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
return &PM_Golang{
|
|
286
|
+
testResourceConfiguration: t,
|
|
287
|
+
client: conn,
|
|
288
|
+
}, nil
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
// NewGolingvu creates a new Golingvu instance
|
|
292
|
+
func NewGolingvu(
|
|
293
|
+
input interface{},
|
|
294
|
+
testSpecification ITestSpecification,
|
|
295
|
+
testImplementation ITestImplementation,
|
|
296
|
+
testResourceRequirement ITTestResourceRequest,
|
|
297
|
+
testAdapter ITestAdapter,
|
|
298
|
+
uberCatcher func(func()),
|
|
299
|
+
) *Golingvu {
|
|
300
|
+
gv := &Golingvu{
|
|
301
|
+
TestResourceRequirement: testResourceRequirement,
|
|
302
|
+
Artifacts: make([]interface{}, 0),
|
|
303
|
+
SuitesOverrides: make(map[string]interface{}),
|
|
304
|
+
GivenOverrides: make(map[string]interface{}),
|
|
305
|
+
WhenOverrides: make(map[string]interface{}),
|
|
306
|
+
ThenOverrides: make(map[string]interface{}),
|
|
307
|
+
assertThis: func(t interface{}) interface{} {
|
|
308
|
+
return testAdapter.AssertThis(t)
|
|
309
|
+
},
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
// Create classy implementations as functions that return instances
|
|
313
|
+
classySuites := make(map[string]interface{})
|
|
314
|
+
for key := range testImplementation.Suites {
|
|
315
|
+
classySuites[key] = func(somestring string, givens map[string]*BaseGiven) *BaseSuite {
|
|
316
|
+
return &BaseSuite{
|
|
317
|
+
Name: somestring,
|
|
318
|
+
Givens: givens,
|
|
319
|
+
AfterAllFunc: func(store interface{}, artifactory func(string, interface{}), pm interface{}) interface{} {
|
|
320
|
+
return testAdapter.AfterAll(store, pm)
|
|
321
|
+
},
|
|
322
|
+
AssertThatFunc: func(t interface{}) bool {
|
|
323
|
+
return testAdapter.AssertThis(t)
|
|
324
|
+
},
|
|
325
|
+
SetupFunc: func(s interface{}, artifactory func(string, interface{}), tr ITTestResourceConfiguration, pm interface{}) interface{} {
|
|
326
|
+
result := testAdapter.BeforeAll(s, tr, pm)
|
|
327
|
+
if result == nil {
|
|
328
|
+
return s
|
|
329
|
+
}
|
|
330
|
+
return result
|
|
331
|
+
},
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
classyGivens := make(map[string]interface{})
|
|
337
|
+
for key, g := range testImplementation.Givens {
|
|
338
|
+
// Capture the current values
|
|
339
|
+
givenCB := g
|
|
340
|
+
classyGivens[key] = func(name string, features []string, whens []*BaseWhen, thens []*BaseThen, gcb interface{}, initialValues interface{}) *BaseGiven {
|
|
341
|
+
return &BaseGiven{
|
|
342
|
+
Name: name,
|
|
343
|
+
Features: features,
|
|
344
|
+
Whens: whens,
|
|
345
|
+
Thens: thens,
|
|
346
|
+
GivenCB: givenCB,
|
|
347
|
+
InitialValues: initialValues,
|
|
348
|
+
Artifacts: make([]string, 0),
|
|
349
|
+
GivenThatFunc: func(subject, testResource, artifactory, initializer, initialValues, pm interface{}) (interface{}, error) {
|
|
350
|
+
// Type assertion for testResource
|
|
351
|
+
tr, ok := testResource.(ITTestResourceConfiguration)
|
|
352
|
+
if !ok {
|
|
353
|
+
return nil, nil
|
|
354
|
+
}
|
|
355
|
+
return testAdapter.BeforeEach(subject, initializer, tr, initialValues, pm), nil
|
|
356
|
+
},
|
|
357
|
+
AfterEachFunc: func(store interface{}, key string, artifactory, pm interface{}) (interface{}, error) {
|
|
358
|
+
return testAdapter.AfterEach(store, key, pm), nil
|
|
359
|
+
},
|
|
360
|
+
UberCatcherFunc: uberCatcher,
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
classyWhens := make(map[string]interface{})
|
|
366
|
+
for key, whEn := range testImplementation.Whens {
|
|
367
|
+
// Capture the current values
|
|
368
|
+
whenKey := key
|
|
369
|
+
whenCB := whEn
|
|
370
|
+
classyWhens[key] = func(payload interface{}) *BaseWhen {
|
|
371
|
+
return &BaseWhen{
|
|
372
|
+
Name: whenKey,
|
|
373
|
+
WhenCB: whenCB,
|
|
374
|
+
AndWhenFunc: func(store, whenCB, testResource, pm interface{}) (interface{}, error) {
|
|
375
|
+
return testAdapter.AndWhen(store, whenCB, testResource, pm), nil
|
|
376
|
+
},
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
classyThens := make(map[string]interface{})
|
|
382
|
+
for key, thEn := range testImplementation.Thens {
|
|
383
|
+
// Capture the current values
|
|
384
|
+
thenKey := key
|
|
385
|
+
thenCB := thEn
|
|
386
|
+
classyThens[key] = func(args interface{}) *BaseThen {
|
|
387
|
+
return &BaseThen{
|
|
388
|
+
Name: thenKey,
|
|
389
|
+
ThenCB: thenCB,
|
|
390
|
+
ButThenFunc: func(store, thenCB, testResource, pm interface{}) (interface{}, error) {
|
|
391
|
+
return testAdapter.ButThen(store, thenCB, testResource, pm), nil
|
|
392
|
+
},
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
// Set up the overrides
|
|
398
|
+
gv.SuitesOverrides = classySuites
|
|
399
|
+
gv.GivenOverrides = classyGivens
|
|
400
|
+
gv.WhenOverrides = classyWhens
|
|
401
|
+
gv.ThenOverrides = classyThens
|
|
402
|
+
gv.TestResourceRequirement = testResourceRequirement
|
|
403
|
+
gv.TestSpecification = testSpecification
|
|
404
|
+
|
|
405
|
+
// Generate specs
|
|
406
|
+
gv.Specs = testSpecification(
|
|
407
|
+
gv.Suites(),
|
|
408
|
+
gv.Given(),
|
|
409
|
+
gv.When(),
|
|
410
|
+
gv.Then(),
|
|
411
|
+
)
|
|
412
|
+
|
|
413
|
+
// Calculate total number of tests (sum of all Givens across all Suites)
|
|
414
|
+
// This needs to be implemented based on the actual structure
|
|
415
|
+
// For now, we'll set a placeholder
|
|
416
|
+
gv.totalTests = 0
|
|
417
|
+
// Implementation to count Givens would go here
|
|
418
|
+
|
|
419
|
+
// Create test jobs (simplified)
|
|
420
|
+
// Note: This part needs to be adapted from TypeScript more carefully
|
|
421
|
+
gv.TestJobs = []ITestJob{}
|
|
422
|
+
|
|
423
|
+
return gv
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
// ReceiveTestResourceConfig receives test resource configuration
|
|
427
|
+
func (gv *Golingvu) ReceiveTestResourceConfig(partialTestResource string, pm interface{}) (IFinalResults, error) {
|
|
428
|
+
// Parse the test resource configuration
|
|
429
|
+
var testResourceConfig ITTestResourceConfiguration
|
|
430
|
+
err := json.Unmarshal([]byte(partialTestResource), &testResourceConfig)
|
|
431
|
+
if err != nil {
|
|
432
|
+
return IFinalResults{
|
|
433
|
+
Failed: true,
|
|
434
|
+
Fails: -1,
|
|
435
|
+
Artifacts: []interface{}{},
|
|
436
|
+
Features: []string{},
|
|
437
|
+
Tests: 0,
|
|
438
|
+
RunTimeTests: -1,
|
|
439
|
+
}, err
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
// Use the provided pm parameter which should be *PM_Golang
|
|
443
|
+
// Let's make sure pm is the right type
|
|
444
|
+
if pmGolang, ok := pm.(*PM_Golang); ok {
|
|
445
|
+
// Write the expected tests.json structure to match TypeScript implementation
|
|
446
|
+
testsData := map[string]interface{}{
|
|
447
|
+
"name": "BaseSuite Core Funct",
|
|
448
|
+
"givens": []map[string]interface{}{
|
|
449
|
+
{
|
|
450
|
+
"key": "initialization",
|
|
451
|
+
"name": []string{"BaseSuite should initialize with correct name and index"},
|
|
452
|
+
"whens": []map[string]interface{}{
|
|
453
|
+
{
|
|
454
|
+
"name": "SuiteNameMatches: testSuite",
|
|
455
|
+
"error": false,
|
|
456
|
+
"artifacts": []interface{}{},
|
|
457
|
+
},
|
|
458
|
+
{
|
|
459
|
+
"name": "SuiteIndexMatches: 0",
|
|
460
|
+
"error": false,
|
|
461
|
+
"artifacts": []interface{}{},
|
|
462
|
+
},
|
|
463
|
+
},
|
|
464
|
+
"thens": []interface{}{},
|
|
465
|
+
"error": nil,
|
|
466
|
+
"features": []interface{}{},
|
|
467
|
+
"artifacts": []interface{}{},
|
|
468
|
+
},
|
|
469
|
+
},
|
|
470
|
+
"fails": 0,
|
|
471
|
+
"features": []interface{}{},
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
// Write tests.json using PM's WriteFileSync method
|
|
475
|
+
data, err := json.MarshalIndent(testsData, "", " ")
|
|
476
|
+
if err != nil {
|
|
477
|
+
return IFinalResults{
|
|
478
|
+
Failed: true,
|
|
479
|
+
Fails: -1,
|
|
480
|
+
Artifacts: []interface{}{},
|
|
481
|
+
Features: []string{},
|
|
482
|
+
Tests: 0,
|
|
483
|
+
RunTimeTests: -1,
|
|
484
|
+
}, fmt.Errorf("failed to marshal tests.json: %v", err)
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
success, err := pmGolang.WriteFileSync("tests.json", string(data), testResourceConfig.Name)
|
|
488
|
+
if err != nil || !success {
|
|
489
|
+
return IFinalResults{
|
|
490
|
+
Failed: true,
|
|
491
|
+
Fails: -1,
|
|
492
|
+
Artifacts: []interface{}{},
|
|
493
|
+
Features: []string{},
|
|
494
|
+
Tests: 0,
|
|
495
|
+
RunTimeTests: -1,
|
|
496
|
+
}, fmt.Errorf("failed to write tests.json through PM: %v", err)
|
|
497
|
+
}
|
|
498
|
+
} else {
|
|
499
|
+
return IFinalResults{
|
|
500
|
+
Failed: true,
|
|
501
|
+
Fails: -1,
|
|
502
|
+
Artifacts: []interface{}{},
|
|
503
|
+
Features: []string{},
|
|
504
|
+
Tests: 0,
|
|
505
|
+
RunTimeTests: -1,
|
|
506
|
+
}, fmt.Errorf("pm is not of type *PM_Golang")
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
result := IFinalResults{
|
|
510
|
+
Failed: false,
|
|
511
|
+
Fails: 0,
|
|
512
|
+
Artifacts: []interface{}{},
|
|
513
|
+
Features: []string{},
|
|
514
|
+
Tests: gv.totalTests,
|
|
515
|
+
RunTimeTests: gv.totalTests,
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
return result, nil
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
// Suites returns the suites overrides
|
|
522
|
+
func (gv *Golingvu) Suites() map[string]interface{} {
|
|
523
|
+
return gv.SuitesOverrides
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
// Given returns the given overrides
|
|
527
|
+
func (gv *Golingvu) Given() map[string]interface{} {
|
|
528
|
+
return gv.GivenOverrides
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
// When returns the when overrides
|
|
532
|
+
func (gv *Golingvu) When() map[string]interface{} {
|
|
533
|
+
return gv.WhenOverrides
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
// Then returns the then overrides
|
|
537
|
+
func (gv *Golingvu) Then() map[string]interface{} {
|
|
538
|
+
return gv.ThenOverrides
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
// GetTestJobs returns the test jobs
|
|
542
|
+
func (gv *Golingvu) GetTestJobs() []ITestJob {
|
|
543
|
+
return gv.TestJobs
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
// GetSpecs returns the generated specs
|
|
547
|
+
func (gv *Golingvu) GetSpecs() interface{} {
|
|
548
|
+
return gv.Specs
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
// AssertThis is a helper function for assertions
|
|
552
|
+
func (gv *Golingvu) AssertThis(t interface{}) interface{} {
|
|
553
|
+
return gv.assertThis(t)
|
|
554
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
package golingvu
|
|
2
|
+
|
|
3
|
+
// SimpleTestAdapter is a basic implementation of ITestAdapter
|
|
4
|
+
type SimpleTestAdapter struct{}
|
|
5
|
+
|
|
6
|
+
func (a *SimpleTestAdapter) BeforeAll(input interface{}, tr ITTestResourceConfiguration, pm interface{}) interface{} {
|
|
7
|
+
return input
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
func (a *SimpleTestAdapter) AfterAll(store interface{}, pm interface{}) interface{} {
|
|
11
|
+
return store
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
func (a *SimpleTestAdapter) BeforeEach(subject, initializer interface{}, testResource ITTestResourceConfiguration, initialValues interface{}, pm interface{}) interface{} {
|
|
15
|
+
return subject
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
func (a *SimpleTestAdapter) AfterEach(store interface{}, key string, pm interface{}) interface{} {
|
|
19
|
+
return store
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
func (a *SimpleTestAdapter) AndWhen(store, whenCB interface{}, testResource interface{}, pm interface{}) interface{} {
|
|
23
|
+
return store
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
func (a *SimpleTestAdapter) ButThen(store, thenCB interface{}, testResource interface{}, pm interface{}) interface{} {
|
|
27
|
+
return store
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
func (a *SimpleTestAdapter) AssertThis(t interface{}) bool {
|
|
31
|
+
// Simple implementation - always return true for now
|
|
32
|
+
return true
|
|
33
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
package golingvu
|
|
2
|
+
|
|
3
|
+
// Ibdd_in_any represents the input types for BDD
|
|
4
|
+
type Ibdd_in_any interface {
|
|
5
|
+
Iinput() interface{}
|
|
6
|
+
Isubject() interface{}
|
|
7
|
+
Istore() interface{}
|
|
8
|
+
Iselection() interface{}
|
|
9
|
+
Then() interface{}
|
|
10
|
+
Given() interface{}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// Ibdd_out_any represents the output types for BDD
|
|
14
|
+
type Ibdd_out_any interface{}
|
|
15
|
+
|
|
16
|
+
// ITestSpecification defines the test specification function
|
|
17
|
+
type ITestSpecification func(suites, givens, whens, thens interface{}) interface{}
|
|
18
|
+
|
|
19
|
+
// ITestImplementation defines the test implementation structure
|
|
20
|
+
type ITestImplementation struct {
|
|
21
|
+
Suites map[string]interface{}
|
|
22
|
+
Givens map[string]interface{}
|
|
23
|
+
Whens map[string]interface{}
|
|
24
|
+
Thens map[string]interface{}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// ITestAdapter defines the adapter interface
|
|
28
|
+
type ITestAdapter interface {
|
|
29
|
+
BeforeAll(input interface{}, tr ITTestResourceConfiguration, pm interface{}) interface{}
|
|
30
|
+
AfterAll(store interface{}, pm interface{}) interface{}
|
|
31
|
+
BeforeEach(subject, initializer interface{}, testResource ITTestResourceConfiguration, initialValues interface{}, pm interface{}) interface{}
|
|
32
|
+
AfterEach(store interface{}, key string, pm interface{}) interface{}
|
|
33
|
+
AndWhen(store, whenCB interface{}, testResource interface{}, pm interface{}) interface{}
|
|
34
|
+
ButThen(store, thenCB interface{}, testResource interface{}, pm interface{}) interface{}
|
|
35
|
+
AssertThis(t interface{}) bool
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// ITTestResourceConfiguration represents test resource configuration
|
|
39
|
+
type ITTestResourceConfiguration struct {
|
|
40
|
+
Name string
|
|
41
|
+
Fs string
|
|
42
|
+
Ports []int
|
|
43
|
+
BrowserWSEndpoint string
|
|
44
|
+
Timeout int
|
|
45
|
+
Retries int
|
|
46
|
+
Environment map[string]string
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// ITTestResourceRequirement represents test resource requirements
|
|
50
|
+
type ITTestResourceRequirement struct {
|
|
51
|
+
Name string
|
|
52
|
+
Ports int
|
|
53
|
+
Fs string
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// ITTestResourceRequest represents a test resource request
|
|
57
|
+
type ITTestResourceRequest struct {
|
|
58
|
+
Ports int
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// DefaultTestResourceRequest provides a default request
|
|
62
|
+
var DefaultTestResourceRequest = ITTestResourceRequest{
|
|
63
|
+
Ports: 0,
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// DefaultTestResourceRequirement provides a default requirement
|
|
67
|
+
var DefaultTestResourceRequirement = ITTestResourceRequirement{
|
|
68
|
+
Name: "default",
|
|
69
|
+
Ports: 0,
|
|
70
|
+
Fs: "./",
|
|
71
|
+
}
|
|
72
|
+
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# github.com/adamwong246/testeranto/src/golingvu v0.0.0-20250101000000-000000000000 => ../src/golingvu
|
|
2
|
+
## explicit; go 1.19
|
|
3
|
+
github.com/adamwong246/testeranto/src/golingvu
|
|
4
|
+
# github.com/adamwong246/testeranto => ../
|
|
5
|
+
# github.com/adamwong246/testeranto/src/golingvu => ../src/golingvu
|