@eclipse-che/che-e2e 7.56.1-dev-8788793 → 7.56.1-dev-3722260
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/TestConstants.js +240 -0
- package/dist/TestConstants.js.map +1 -0
- package/dist/TimeoutConstants.js +184 -0
- package/dist/TimeoutConstants.js.map +1 -0
- package/dist/driver/CheReporter.js +191 -0
- package/dist/driver/CheReporter.js.map +1 -0
- package/dist/driver/ChromeDriver.js +77 -0
- package/dist/driver/ChromeDriver.js.map +1 -0
- package/dist/driver/IDriver.js +3 -0
- package/dist/driver/IDriver.js.map +1 -0
- package/dist/index.js +93 -0
- package/dist/index.js.map +1 -0
- package/dist/inversify.config.js +130 -0
- package/dist/inversify.config.js.map +1 -0
- package/dist/inversify.types.js +74 -0
- package/dist/inversify.types.js.map +1 -0
- package/dist/pageobjects/dashboard/CreateWorkspace.js +72 -0
- package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -0
- package/dist/pageobjects/dashboard/Dashboard.js +115 -0
- package/dist/pageobjects/dashboard/Dashboard.js.map +1 -0
- package/dist/pageobjects/dashboard/Workspaces.js +157 -0
- package/dist/pageobjects/dashboard/Workspaces.js.map +1 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +138 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +1 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js +97 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js.map +1 -0
- package/dist/pageobjects/ide/theia/ContextMenu.js +66 -0
- package/dist/pageobjects/ide/theia/ContextMenu.js.map +1 -0
- package/dist/pageobjects/ide/theia/DebugView.js +98 -0
- package/dist/pageobjects/ide/theia/DebugView.js.map +1 -0
- package/dist/pageobjects/ide/theia/DialogWindow.js +102 -0
- package/dist/pageobjects/ide/theia/DialogWindow.js.map +1 -0
- package/dist/pageobjects/ide/theia/Editor.js +463 -0
- package/dist/pageobjects/ide/theia/Editor.js.map +1 -0
- package/dist/pageobjects/ide/theia/Ide.js +336 -0
- package/dist/pageobjects/ide/theia/Ide.js.map +1 -0
- package/dist/pageobjects/ide/theia/LeftToolBar.js +81 -0
- package/dist/pageobjects/ide/theia/LeftToolBar.js.map +1 -0
- package/dist/pageobjects/ide/theia/NavigationBar.js +57 -0
- package/dist/pageobjects/ide/theia/NavigationBar.js.map +1 -0
- package/dist/pageobjects/ide/theia/NotificationCenter.js +76 -0
- package/dist/pageobjects/ide/theia/NotificationCenter.js.map +1 -0
- package/dist/pageobjects/ide/theia/OpenDialogWidget.js +100 -0
- package/dist/pageobjects/ide/theia/OpenDialogWidget.js.map +1 -0
- package/dist/pageobjects/ide/theia/OpenEditors.js +73 -0
- package/dist/pageobjects/ide/theia/OpenEditors.js.map +1 -0
- package/dist/pageobjects/ide/theia/OpenWorkspaceWidget.js +62 -0
- package/dist/pageobjects/ide/theia/OpenWorkspaceWidget.js.map +1 -0
- package/dist/pageobjects/ide/theia/PreviewWidget.js +134 -0
- package/dist/pageobjects/ide/theia/PreviewWidget.js.map +1 -0
- package/dist/pageobjects/ide/theia/ProjectTree.js +282 -0
- package/dist/pageobjects/ide/theia/ProjectTree.js.map +1 -0
- package/dist/pageobjects/ide/theia/QuickOpenContainer.js +70 -0
- package/dist/pageobjects/ide/theia/QuickOpenContainer.js.map +1 -0
- package/dist/pageobjects/ide/theia/RightToolBar.js +51 -0
- package/dist/pageobjects/ide/theia/RightToolBar.js.map +1 -0
- package/dist/pageobjects/ide/theia/Terminal.js +184 -0
- package/dist/pageobjects/ide/theia/Terminal.js.map +1 -0
- package/dist/pageobjects/ide/theia/TopMenu.js +109 -0
- package/dist/pageobjects/ide/theia/TopMenu.js.map +1 -0
- package/dist/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.js +128 -0
- package/dist/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.js.map +1 -0
- package/dist/pageobjects/ide/theia/plugins/GitPlugin.js +120 -0
- package/dist/pageobjects/ide/theia/plugins/GitPlugin.js.map +1 -0
- package/dist/pageobjects/ide/theia/plugins/KubernetesPlugin.js +107 -0
- package/dist/pageobjects/ide/theia/plugins/KubernetesPlugin.js.map +1 -0
- package/dist/pageobjects/ide/theia/plugins/OpenshiftPlugin.js +99 -0
- package/dist/pageobjects/ide/theia/plugins/OpenshiftPlugin.js.map +1 -0
- package/dist/pageobjects/ide/theia/plugins/PluginsView.js +166 -0
- package/dist/pageobjects/ide/theia/plugins/PluginsView.js.map +1 -0
- package/dist/pageobjects/login/ICheLoginPage.js +12 -0
- package/dist/pageobjects/login/ICheLoginPage.js.map +1 -0
- package/dist/pageobjects/login/IOcpLoginPage.js +12 -0
- package/dist/pageobjects/login/IOcpLoginPage.js.map +1 -0
- package/dist/pageobjects/login/MultiUserLoginPage.js +49 -0
- package/dist/pageobjects/login/MultiUserLoginPage.js.map +1 -0
- package/dist/pageobjects/login/OcpUserLoginPage.js +53 -0
- package/dist/pageobjects/login/OcpUserLoginPage.js.map +1 -0
- package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js +86 -0
- package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js.map +1 -0
- package/dist/pageobjects/login/UpdateAccountInformationPage.js +74 -0
- package/dist/pageobjects/login/UpdateAccountInformationPage.js.map +1 -0
- package/dist/pageobjects/openshift/CheLoginPage.js +88 -0
- package/dist/pageobjects/openshift/CheLoginPage.js.map +1 -0
- package/dist/pageobjects/openshift/OcpLoginPage.js +106 -0
- package/dist/pageobjects/openshift/OcpLoginPage.js.map +1 -0
- package/dist/pageobjects/third-parties/GitLoginPage.js +85 -0
- package/dist/pageobjects/third-parties/GitLoginPage.js.map +1 -0
- package/dist/pageobjects/third-parties/GitOauthAppsSettings.js +110 -0
- package/dist/pageobjects/third-parties/GitOauthAppsSettings.js.map +1 -0
- package/dist/tests/devfiles/code/JavaSpringBoot.spec.js +76 -0
- package/dist/tests/devfiles/code/JavaSpringBoot.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/CSlashCPlusPlus.spec.js +73 -0
- package/dist/tests/devfiles/theia/CSlashCPlusPlus.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/DevfileSmoke.spec.js +47 -0
- package/dist/tests/devfiles/theia/DevfileSmoke.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/DotNetCore.spec.js +81 -0
- package/dist/tests/devfiles/theia/DotNetCore.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/Go.spec.js +72 -0
- package/dist/tests/devfiles/theia/Go.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/JavaMaven.spec.js +60 -0
- package/dist/tests/devfiles/theia/JavaMaven.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/JavaSpringBoot.spec.js +66 -0
- package/dist/tests/devfiles/theia/JavaSpringBoot.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/JavaVertx.spec.js +60 -0
- package/dist/tests/devfiles/theia/JavaVertx.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/NodeJS.spec.js +64 -0
- package/dist/tests/devfiles/theia/NodeJS.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/PHPSimple.spec.js +74 -0
- package/dist/tests/devfiles/theia/PHPSimple.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/Python.spec.js +58 -0
- package/dist/tests/devfiles/theia/Python.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/PythonDjango.spec.js +61 -0
- package/dist/tests/devfiles/theia/PythonDjango.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/Quarkus.spec.js +69 -0
- package/dist/tests/devfiles/theia/Quarkus.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/Scala.spec.js +66 -0
- package/dist/tests/devfiles/theia/Scala.spec.js.map +1 -0
- package/dist/tests/e2e/theia/FactoryUrl.spec.js +40 -0
- package/dist/tests/e2e/theia/FactoryUrl.spec.js.map +1 -0
- package/dist/tests/e2e/theia/GitPublishBranch.spec.js +90 -0
- package/dist/tests/e2e/theia/GitPublishBranch.spec.js.map +1 -0
- package/dist/tests/e2e/theia/GitSelfSignCert.spec.js +90 -0
- package/dist/tests/e2e/theia/GitSelfSignCert.spec.js.map +1 -0
- package/dist/tests/e2e/theia/GitSsh.spec.js +120 -0
- package/dist/tests/e2e/theia/GitSsh.spec.js.map +1 -0
- package/dist/tests/e2e/theia/OpenshiftConnector.spec.js +124 -0
- package/dist/tests/e2e/theia/OpenshiftConnector.spec.js.map +1 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js +50 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js.map +1 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.js +48 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.js.map +1 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js +48 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js.map +1 -0
- package/dist/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.js +277 -0
- package/dist/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.js.map +1 -0
- package/dist/tests/e2e_happy_path/theia/HappyPath.spec.js +314 -0
- package/dist/tests/e2e_happy_path/theia/HappyPath.spec.js.map +1 -0
- package/dist/tests/intelij/IntelijOpenWorkspace.spec.js +39 -0
- package/dist/tests/intelij/IntelijOpenWorkspace.spec.js.map +1 -0
- package/dist/tests/load_test/theia/LoadTest.spec.js +41 -0
- package/dist/tests/load_test/theia/LoadTest.spec.js.map +1 -0
- package/dist/tests/login/LinkCheAndOcpUsers.spec.js +39 -0
- package/dist/tests/login/LinkCheAndOcpUsers.spec.js.map +1 -0
- package/dist/tests/login/Login.spec.js +28 -0
- package/dist/tests/login/Login.spec.js.map +1 -0
- package/dist/tests/plugins/theia/GitHubPullRequestPlugin.spec.js +117 -0
- package/dist/tests/plugins/theia/GitHubPullRequestPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/InstallPluginUsingUI.spec.js +62 -0
- package/dist/tests/plugins/theia/InstallPluginUsingUI.spec.js.map +1 -0
- package/dist/tests/plugins/theia/JavaPlugin.spec.js +82 -0
- package/dist/tests/plugins/theia/JavaPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/PhpPlugin.spec.js +96 -0
- package/dist/tests/plugins/theia/PhpPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/PythonPlugin.spec.js +72 -0
- package/dist/tests/plugins/theia/PythonPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/TypescriptPlugin.spec.js +135 -0
- package/dist/tests/plugins/theia/TypescriptPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/VscodeKubernetesPlugin.spec.js +69 -0
- package/dist/tests/plugins/theia/VscodeKubernetesPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/VscodeShellcheckPlugin.spec.js +82 -0
- package/dist/tests/plugins/theia/VscodeShellcheckPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/VscodeValePlugin.spec.js +70 -0
- package/dist/tests/plugins/theia/VscodeValePlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/VscodeXmlPlugin.spec.js +81 -0
- package/dist/tests/plugins/theia/VscodeXmlPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/VscodeYamlPlugin.spec.js +78 -0
- package/dist/tests/plugins/theia/VscodeYamlPlugin.spec.js.map +1 -0
- package/dist/testsLibrary/WorkspaceHandlingTests.js +140 -0
- package/dist/testsLibrary/WorkspaceHandlingTests.js.map +1 -0
- package/dist/testsLibrary/theia/CodeExecutionTestsTheia.js +248 -0
- package/dist/testsLibrary/theia/CodeExecutionTestsTheia.js.map +1 -0
- package/dist/testsLibrary/theia/LanguageServerTestsTheia.js +230 -0
- package/dist/testsLibrary/theia/LanguageServerTestsTheia.js.map +1 -0
- package/dist/testsLibrary/theia/ProjectAndFileTestsTheia.js +133 -0
- package/dist/testsLibrary/theia/ProjectAndFileTestsTheia.js.map +1 -0
- package/dist/utils/AnimationChecker.js +45 -0
- package/dist/utils/AnimationChecker.js.map +1 -0
- package/dist/utils/BrowserTabsUtil.js +115 -0
- package/dist/utils/BrowserTabsUtil.js.map +1 -0
- package/dist/utils/DriverHelper.js +616 -0
- package/dist/utils/DriverHelper.js.map +1 -0
- package/dist/utils/Logger.js +84 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/Sanitizer.js +29 -0
- package/dist/utils/Sanitizer.js.map +1 -0
- package/dist/utils/ScreenCatcher.js +107 -0
- package/dist/utils/ScreenCatcher.js.map +1 -0
- package/dist/utils/VCS/CheGitApi.js +42 -0
- package/dist/utils/VCS/CheGitApi.js.map +1 -0
- package/dist/utils/VCS/github/GitHubUtil.js +126 -0
- package/dist/utils/VCS/github/GitHubUtil.js.map +1 -0
- package/dist/utils/WorkspaceNameHandler.js +60 -0
- package/dist/utils/WorkspaceNameHandler.js.map +1 -0
- package/dist/utils/requestHandlers/CheApiRequestHandler.js +126 -0
- package/dist/utils/requestHandlers/CheApiRequestHandler.js.map +1 -0
- package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js +49 -0
- package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -0
- package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js +12 -0
- package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js.map +1 -0
- package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js +50 -0
- package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js.map +1 -0
- package/dist/utils/requestHandlers/tokens/ITokenHandler.js +12 -0
- package/dist/utils/requestHandlers/tokens/ITokenHandler.js.map +1 -0
- package/dist/utils/theia/PreferencesHandlerTheia.js +142 -0
- package/dist/utils/theia/PreferencesHandlerTheia.js.map +1 -0
- package/dist/utils/workspace/ApiUrlResolver.js +67 -0
- package/dist/utils/workspace/ApiUrlResolver.js.map +1 -0
- package/dist/utils/workspace/ITestWorkspaceUtil.js +12 -0
- package/dist/utils/workspace/ITestWorkspaceUtil.js.map +1 -0
- package/dist/utils/workspace/TestWorkspaceUtil.js +357 -0
- package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -0
- package/dist/utils/workspace/WorkspaceStatus.js +19 -0
- package/dist/utils/workspace/WorkspaceStatus.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*********************************************************************
|
|
3
|
+
* Copyright (c) 2019 Red Hat, Inc.
|
|
4
|
+
*
|
|
5
|
+
* This program and the accompanying materials are made
|
|
6
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
7
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
8
|
+
*
|
|
9
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
10
|
+
**********************************************************************/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.TestConstants = exports.EditorType = void 0;
|
|
13
|
+
function getBaseUrl() {
|
|
14
|
+
const baseUrl = process.env.TS_SELENIUM_BASE_URL;
|
|
15
|
+
if (!baseUrl) {
|
|
16
|
+
return 'http://sample-url';
|
|
17
|
+
}
|
|
18
|
+
return baseUrl.replace(/\/$/, '');
|
|
19
|
+
}
|
|
20
|
+
var EditorType;
|
|
21
|
+
(function (EditorType) {
|
|
22
|
+
EditorType["THEIA"] = "theia";
|
|
23
|
+
EditorType["CHE_CODE"] = "che-code";
|
|
24
|
+
})(EditorType = exports.EditorType || (exports.EditorType = {}));
|
|
25
|
+
exports.TestConstants = {
|
|
26
|
+
/**
|
|
27
|
+
* Base URL of the application which should be checked
|
|
28
|
+
*/
|
|
29
|
+
TS_SELENIUM_BASE_URL: getBaseUrl(),
|
|
30
|
+
/**
|
|
31
|
+
* Base URl of web console OpenShift which uses to test OperatorHub.
|
|
32
|
+
*/
|
|
33
|
+
TS_SELENIUM_WEB_CONSOLE_OCP_URL: process.env.TS_SELENIUM_WEB_CONSOLE_OCP_URL || 'https://console-openshift-console.apps.',
|
|
34
|
+
/**
|
|
35
|
+
* Run browser in "Headless" (hiden) mode, "false" by default.
|
|
36
|
+
*/
|
|
37
|
+
TS_SELENIUM_HEADLESS: process.env.TS_SELENIUM_HEADLESS === 'true',
|
|
38
|
+
/**
|
|
39
|
+
* Run browser in "Fullscreen" (kiosk) mode.
|
|
40
|
+
* Default to true if undefined
|
|
41
|
+
*/
|
|
42
|
+
TS_SELENIUM_LAUNCH_FULLSCREEN: (process.env.TS_SELENIUM_LAUNCH_FULLSCREEN === 'false') ? false : true,
|
|
43
|
+
/**
|
|
44
|
+
* Run browser with an enabled or disabled W3C protocol (on Chrome 76 and upper, it is enabled by default), "true" by default.
|
|
45
|
+
*/
|
|
46
|
+
TS_SELENIUM_W3C_CHROME_OPTION: process.env.TS_SELENIUM_W3C_CHROME_OPTION !== 'false',
|
|
47
|
+
/**
|
|
48
|
+
* Browser width resolution, "1920" by default.
|
|
49
|
+
*/
|
|
50
|
+
TS_SELENIUM_RESOLUTION_WIDTH: Number(process.env.TS_SELENIUM_RESOLUTION_WIDTH) || 1920,
|
|
51
|
+
/**
|
|
52
|
+
* Browser height resolution, "1080" by default.
|
|
53
|
+
*/
|
|
54
|
+
TS_SELENIUM_RESOLUTION_HEIGHT: Number(process.env.TS_SELENIUM_RESOLUTION_HEIGHT) || 1080,
|
|
55
|
+
/**
|
|
56
|
+
* Editor the tests are running against, "code" by default.
|
|
57
|
+
* Possible values: "che-code", "theia"
|
|
58
|
+
*/
|
|
59
|
+
TS_SELENIUM_EDITOR: process.env.TS_SELENIUM_EDITOR || EditorType.CHE_CODE,
|
|
60
|
+
/**
|
|
61
|
+
* Base version of VSCode editor for monaco-page-objects, "1.37.0" by default.
|
|
62
|
+
*/
|
|
63
|
+
TS_SELENIUM_MONACO_PAGE_OBJECTS_BASE_VERSION: process.env.TS_SELENIUM_MONACO_PAGE_OBJECTS_BASE_VERSION || '1.37.0',
|
|
64
|
+
/**
|
|
65
|
+
* Latest compatible version to be used, based on versions available in
|
|
66
|
+
* https://github.com/redhat-developer/vscode-extension-tester/tree/master/locators/lib ,
|
|
67
|
+
* "1.73.0" by default.
|
|
68
|
+
*/
|
|
69
|
+
TS_SELENIUM_MONACO_PAGE_OBJECTS_USE_VERSION: process.env.TS_SELENIUM_MONACO_PAGE_OBJECTS_USE_VERSION || '1.73.0',
|
|
70
|
+
/**
|
|
71
|
+
* Default ammount of tries, "5" by default.
|
|
72
|
+
*/
|
|
73
|
+
TS_SELENIUM_DEFAULT_ATTEMPTS: Number(process.env.TS_SELENIUM_DEFAULT_ATTEMPTS) || 5,
|
|
74
|
+
/**
|
|
75
|
+
* Default delay in milliseconds between tries, "1000" by default.
|
|
76
|
+
*/
|
|
77
|
+
TS_SELENIUM_DEFAULT_POLLING: Number(process.env.TS_SELENIUM_DEFAULT_POLLING) || 1000,
|
|
78
|
+
/**
|
|
79
|
+
* Amount of tries for checking workspace status.
|
|
80
|
+
*/
|
|
81
|
+
TS_SELENIUM_WORKSPACE_STATUS_ATTEMPTS: Number(process.env.TS_SELENIUM_WORKSPACE_STATUS_ATTEMPTS) || 90,
|
|
82
|
+
/**
|
|
83
|
+
* Delay in milliseconds between checking workspace status tries.
|
|
84
|
+
*/
|
|
85
|
+
TS_SELENIUM_WORKSPACE_STATUS_POLLING: Number(process.env.TS_SELENIUM_WORKSPACE_STATUS_POLLING) || 10000,
|
|
86
|
+
/**
|
|
87
|
+
* Amount of tries for checking plugin precence.
|
|
88
|
+
*/
|
|
89
|
+
TS_SELENIUM_PLUGIN_PRECENCE_ATTEMPTS: Number(process.env.TS_SELENIUM_PLUGIN_PRECENCE_ATTEMPTS) || 20,
|
|
90
|
+
/**
|
|
91
|
+
* Name of workspace created for 'Happy Path' scenario validation.
|
|
92
|
+
*/
|
|
93
|
+
TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME: process.env.TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME || 'petclinic-dev-environment',
|
|
94
|
+
/**
|
|
95
|
+
* Using 'single-host' strategy, "false" by default.
|
|
96
|
+
*/
|
|
97
|
+
TS_SELENIUM_SINGLE_HOST: process.env.TS_SELENIUM_SINGLE_HOST === 'true',
|
|
98
|
+
/**
|
|
99
|
+
* Value of OpenShift oAuth property determines how to login in installed application,
|
|
100
|
+
* if 'false' as an user of application, if 'true' as a regular user of OCP.
|
|
101
|
+
*/
|
|
102
|
+
TS_SELENIUM_VALUE_OPENSHIFT_OAUTH: process.env.TS_SELENIUM_VALUE_OPENSHIFT_OAUTH || 'false',
|
|
103
|
+
/**
|
|
104
|
+
* Username used to log in MultiUser Che.
|
|
105
|
+
*/
|
|
106
|
+
TS_SELENIUM_USERNAME: process.env.TS_SELENIUM_USERNAME || 'che',
|
|
107
|
+
/**
|
|
108
|
+
* Password used to log in MultiUser Che.
|
|
109
|
+
*/
|
|
110
|
+
TS_SELENIUM_PASSWORD: process.env.TS_SELENIUM_PASSWORD || '',
|
|
111
|
+
/**
|
|
112
|
+
* Log into OCP by using appropriate provider title.
|
|
113
|
+
*/
|
|
114
|
+
TS_OCP_LOGIN_PAGE_PROVIDER_TITLE: process.env.TS_OCP_LOGIN_PAGE_PROVIDER_TITLE || '',
|
|
115
|
+
/**
|
|
116
|
+
* Path to folder with load tests execution report.
|
|
117
|
+
*/
|
|
118
|
+
TS_SELENIUM_LOAD_TEST_REPORT_FOLDER: process.env.TS_SELENIUM_LOAD_TEST_REPORT_FOLDER || './load-test-folder',
|
|
119
|
+
/**
|
|
120
|
+
* Regular username used to login in OCP.
|
|
121
|
+
*/
|
|
122
|
+
TS_SELENIUM_OCP_USERNAME: process.env.TS_SELENIUM_OCP_USERNAME || '',
|
|
123
|
+
/**
|
|
124
|
+
* Password regular user used to login in OCP.
|
|
125
|
+
*/
|
|
126
|
+
TS_SELENIUM_OCP_PASSWORD: process.env.TS_SELENIUM_OCP_PASSWORD || '',
|
|
127
|
+
/**
|
|
128
|
+
* Email of regular user OpenShift to login CHE.
|
|
129
|
+
*/
|
|
130
|
+
TS_SELENIUM_EMAIL_USER: process.env.TS_SELENIUM_EMAIL_USER || 'test@test.com',
|
|
131
|
+
/**
|
|
132
|
+
* First name of regular user OpenShift to login CHE.
|
|
133
|
+
*/
|
|
134
|
+
TS_SELENIUM_FIRST_NAME: process.env.TS_SELENIUM_FIRST_NAME || 'qa',
|
|
135
|
+
/**
|
|
136
|
+
* Last name of regular user Openshift to login CHE.
|
|
137
|
+
*/
|
|
138
|
+
TS_SELENIUM_LAST_NAME: process.env.TS_SELENIUM_LAST_NAME || 'test',
|
|
139
|
+
/**
|
|
140
|
+
* Delay between screenshots catching in the milliseconds for the execution screencast.
|
|
141
|
+
*/
|
|
142
|
+
TS_SELENIUM_DELAY_BETWEEN_SCREENSHOTS: Number(process.env.TS_SELENIUM_DELAY_BETWEEN_SCREENSHOTS) || 1000,
|
|
143
|
+
/**
|
|
144
|
+
* Path to folder with tests execution report.
|
|
145
|
+
*/
|
|
146
|
+
TS_SELENIUM_REPORT_FOLDER: process.env.TS_SELENIUM_REPORT_FOLDER || './report',
|
|
147
|
+
/**
|
|
148
|
+
* Enable or disable storing of execution screencast, "false" by default.
|
|
149
|
+
*/
|
|
150
|
+
TS_SELENIUM_EXECUTION_SCREENCAST: process.env.TS_SELENIUM_EXECUTION_SCREENCAST === 'true',
|
|
151
|
+
/**
|
|
152
|
+
* Delete screencast after execution if all tests passed, "true" by default.
|
|
153
|
+
*/
|
|
154
|
+
DELETE_SCREENCAST_IF_TEST_PASS: process.env.DELETE_SCREENCAST_IF_TEST_PASS !== 'false',
|
|
155
|
+
/**
|
|
156
|
+
* Remote driver URL.
|
|
157
|
+
*/
|
|
158
|
+
TS_SELENIUM_REMOTE_DRIVER_URL: process.env.TS_SELENIUM_REMOTE_DRIVER_URL || '',
|
|
159
|
+
/**
|
|
160
|
+
* Stop and remove workspace if a test fails.
|
|
161
|
+
*/
|
|
162
|
+
DELETE_WORKSPACE_ON_FAILED_TEST: process.env.DELETE_WORKSPACE_ON_FAILED_TEST === 'true',
|
|
163
|
+
/**
|
|
164
|
+
* Log level settings, possible variants: 'INFO' (by default), 'DEBUG', 'TRACE'.
|
|
165
|
+
*/
|
|
166
|
+
TS_SELENIUM_LOG_LEVEL: process.env.TS_SELENIUM_LOG_LEVEL || 'INFO',
|
|
167
|
+
/**
|
|
168
|
+
* Enable Axios request interceptor, false by default
|
|
169
|
+
*/
|
|
170
|
+
TS_SELENIUM_REQUEST_INTERCEPTOR: process.env.TS_SELENIUM_REQUEST_INTERCEPTOR === 'true',
|
|
171
|
+
/**
|
|
172
|
+
* Enable Axios response interceptor, false by default
|
|
173
|
+
*/
|
|
174
|
+
TS_SELENIUM_RESPONSE_INTERCEPTOR: process.env.TS_SELENIUM_RESPONSE_INTERCEPTOR === 'true',
|
|
175
|
+
/**
|
|
176
|
+
* Running test suite - possible variants can be found in package.json scripts part.
|
|
177
|
+
*/
|
|
178
|
+
TEST_SUITE: process.env.TEST_SUITE || 'test-happy-path',
|
|
179
|
+
/**
|
|
180
|
+
* The repo (with README.md in root) and access token are needed for to run test-git-ssh
|
|
181
|
+
*/
|
|
182
|
+
TS_GITHUB_TEST_REPO: process.env.TS_GITHUB_TEST_REPO || '',
|
|
183
|
+
/**
|
|
184
|
+
* Token for a github repository with permissions which allow add the ssh keys
|
|
185
|
+
*/
|
|
186
|
+
TS_GITHUB_TEST_REPO_ACCESS_TOKEN: process.env.TS_GITHUB_TEST_REPO_ACCESS_TOKEN || '',
|
|
187
|
+
/**
|
|
188
|
+
* Username of the github account
|
|
189
|
+
*/
|
|
190
|
+
TS_GITHUB_USERNAME: process.env.TS_GITHUB_USERNAME || '',
|
|
191
|
+
/**
|
|
192
|
+
* Password of the github account
|
|
193
|
+
*/
|
|
194
|
+
TS_GITHUB_PASSWORD: process.env.TS_GITHUB_PASSWORD || '',
|
|
195
|
+
/**
|
|
196
|
+
* Login for a user whom has been created in the test Openshift cluster. Need for Openshift connector test
|
|
197
|
+
*/
|
|
198
|
+
TS_TEST_OPENSHIFT_PLUGIN_USERNAME: process.env.TS_TEST_OPENSHIFT_PLUGIN_USERNAME || '',
|
|
199
|
+
/**
|
|
200
|
+
* Password for a user whom has been created in the test Openshift cluster. Need for Openshift connector test
|
|
201
|
+
*/
|
|
202
|
+
TS_TEST_OPENSHIFT_PLUGIN_PASSWORD: process.env.TS_TEST_OPENSHIFT_PLUGIN_PASSWORD || '',
|
|
203
|
+
/**
|
|
204
|
+
* The name of project in the Openshift plugin tree
|
|
205
|
+
*/
|
|
206
|
+
TS_TEST_OPENSHIFT_PLUGIN_PROJECT: process.env.TS_TEST_OPENSHIFT_PLUGIN_PROJECT || '',
|
|
207
|
+
/**
|
|
208
|
+
* The name of the Openshift connector plugin component type
|
|
209
|
+
*/
|
|
210
|
+
TS_TEST_OPENSHIFT_PLUGIN_COMPONENT_TYPE: process.env.TS_TEST_OPENSHIFT_PLUGIN_COMPONENT_TYPE || 'nodejs (s2i)',
|
|
211
|
+
/**
|
|
212
|
+
* The name of the Openshift connector plugin component version
|
|
213
|
+
*/
|
|
214
|
+
TS_TEST_OPENSHIFT_PLUGIN_COMPONENT_VERSION: process.env.TS_TEST_OPENSHIFT_PLUGIN_COMPONENT_VERSION || 'latest',
|
|
215
|
+
/**
|
|
216
|
+
* Print all timeout variables when tests launch, defaulte to false
|
|
217
|
+
*/
|
|
218
|
+
TS_SELENIUM_PRINT_TIMEOUT_VARIABLES: process.env.TS_SELENIUM_PRINT_TIMEOUT_VARIABLES || false,
|
|
219
|
+
/**
|
|
220
|
+
* URL of the workspace created by devworkspace-controller
|
|
221
|
+
*/
|
|
222
|
+
TS_SELENIUM_DEVWORKSPACE_URL: process.env.TS_SELENIUM_DEVWORKSPACE_URL,
|
|
223
|
+
/**
|
|
224
|
+
* This variable specifies that run test is used for load testing and that all artifacts will be sent to ftp client.
|
|
225
|
+
*/
|
|
226
|
+
TS_LOAD_TESTS: process.env.TS_LOAD_TESTS || 'false',
|
|
227
|
+
/**
|
|
228
|
+
* This variable determines whether to delete the workspace after the test or leave the workspace running.
|
|
229
|
+
*/
|
|
230
|
+
TS_DELETE_PLUGINS_TEST_WORKSPACE: process.env.TS_DELETE_PLUGINS_TEST_WORKSPACE || 'true',
|
|
231
|
+
/**
|
|
232
|
+
* URL of Gogs self-hosted Git server.
|
|
233
|
+
*/
|
|
234
|
+
TS_SELF_HOSTED_GIT_SERVER_URL: process.env.TS_SELF_HOSTED_GIT_SERVER_URL || '10.0.104.86:10080',
|
|
235
|
+
/**
|
|
236
|
+
* URL of workspace devfile test repository.
|
|
237
|
+
*/
|
|
238
|
+
TS_TEST_WORKSPACE_DEVFILE_REPO: process.env.TS_TEST_WORKSPACE_DEVFILE_REPO || ''
|
|
239
|
+
};
|
|
240
|
+
//# sourceMappingURL=TestConstants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestConstants.js","sourceRoot":"","sources":["../TestConstants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*********************************************************************
|
|
3
|
+
* Copyright (c) 2020 Red Hat, Inc.
|
|
4
|
+
*
|
|
5
|
+
* This program and the accompanying materials are made
|
|
6
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
7
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
8
|
+
*
|
|
9
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
10
|
+
**********************************************************************/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.TimeoutConstants = void 0;
|
|
13
|
+
exports.TimeoutConstants = {
|
|
14
|
+
// -------------------------------------------- INSTALLING AND STARTUP --------------------------------------------
|
|
15
|
+
/**
|
|
16
|
+
* Wait between workspace started and IDE ready to be used, "20 000" by default.
|
|
17
|
+
*/
|
|
18
|
+
TS_IDE_LOAD_TIMEOUT: Number(process.env.TS_IDE_LOAD_TIMEOUT) || 20000,
|
|
19
|
+
/**
|
|
20
|
+
* Timeout in milliseconds waiting for workspace start, "360 000" by default.
|
|
21
|
+
*/
|
|
22
|
+
TS_SELENIUM_START_WORKSPACE_TIMEOUT: Number(process.env.TS_SELENIUM_START_WORKSPACE_TIMEOUT) || 360000,
|
|
23
|
+
/**
|
|
24
|
+
* Timeout in milliseconds waiting for page load, "20 000" by default.
|
|
25
|
+
*/
|
|
26
|
+
TS_SELENIUM_LOAD_PAGE_TIMEOUT: Number(process.env.TS_SELENIUM_LOAD_PAGE_TIMEOUT) || 20000,
|
|
27
|
+
/**
|
|
28
|
+
* Wait for loader absence, "60 000" by default.
|
|
29
|
+
*/
|
|
30
|
+
TS_WAIT_LOADER_ABSENCE_TIMEOUT: Number(process.env.TS_WAIT_LOADER_ABSENCE_TIMEOUT) || 60000,
|
|
31
|
+
/**
|
|
32
|
+
* Wait for loader absence, "60 000" by default.
|
|
33
|
+
*/
|
|
34
|
+
TS_WAIT_LOADER_PRESENCE_TIMEOUT: Number(process.env.TS_WAIT_LOADER_PRESENCE_TIMEOUT) || 60000,
|
|
35
|
+
/**
|
|
36
|
+
* Timeout waiting for URL, "5 000" by default.
|
|
37
|
+
*/
|
|
38
|
+
TS_WAIT_URL_TIMEOUT: Number(process.env.TS_WAIT_URL_TIMEOUT) || 5000,
|
|
39
|
+
// -------------------------------------------- DASHBOARD --------------------------------------------
|
|
40
|
+
/**
|
|
41
|
+
* Common timeout for dashboard items, "5 000" by default
|
|
42
|
+
*/
|
|
43
|
+
TS_COMMON_DASHBOARD_WAIT_TIMEOUT: Number(process.env.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) || 5000,
|
|
44
|
+
/**
|
|
45
|
+
* Timeout for clicking on dashboard menu items, "2 000" by default
|
|
46
|
+
*/
|
|
47
|
+
TS_CLICK_DASHBOARD_ITEM_TIMEOUT: Number(process.env.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) || 2000,
|
|
48
|
+
/**
|
|
49
|
+
* Timeout for workspace stopped status, "30 000" by default
|
|
50
|
+
*/
|
|
51
|
+
TS_DASHBOARD_WORKSPACE_STOP_TIMEOUT: Number(process.env.TS_DASHBOARD_WORKSPACE_STOP_TIMEOUT) || 30000,
|
|
52
|
+
// -------------------------------------------- LANGUAGE SERVER VALIDATION --------------------------------------------
|
|
53
|
+
/**
|
|
54
|
+
* Timeout in milliseconds waiting for language server initialization, "180 000" by default.
|
|
55
|
+
*/
|
|
56
|
+
TS_SELENIUM_LANGUAGE_SERVER_START_TIMEOUT: Number(process.env.TS_SELENIUM_LANGUAGE_SERVER_START_TIMEOUT) || 180000,
|
|
57
|
+
/**
|
|
58
|
+
* Timeout for suggestion invoking, "60 000" by default.
|
|
59
|
+
*/
|
|
60
|
+
TS_SUGGESTION_TIMEOUT: Number(process.env.TS_OPEN_PROJECT_TREE_TIMEOUT) || 60000,
|
|
61
|
+
/**
|
|
62
|
+
* Timeout for error highlighting presence, "90 000" by default
|
|
63
|
+
*/
|
|
64
|
+
TS_ERROR_HIGHLIGHTING_TIMEOUT: Number(process.env.TS_OPEN_PROJECT_TREE_TIMEOUT) || 90000,
|
|
65
|
+
// -------------------------------------------- PROJECT TREE --------------------------------------------
|
|
66
|
+
/**
|
|
67
|
+
* Wait for IDE showing project tree tab, "60 000" by default.
|
|
68
|
+
*/
|
|
69
|
+
TS_PROJECT_TREE_TIMEOUT: Number(process.env.TS_OPEN_PROJECT_TREE_TIMEOUT) || 60000,
|
|
70
|
+
/**
|
|
71
|
+
* Click on item timeout (project tree), "10 000" by default.
|
|
72
|
+
*/
|
|
73
|
+
TS_PROJECT_TREE_CLICK_ON_ITEM_TIMEOUT: Number(process.env.TS_PROJECT_TREE_CLICK_ON_ITEM_TIMEOUT) || 10000,
|
|
74
|
+
/**
|
|
75
|
+
* Expand item in project tree, "5 000" by default.
|
|
76
|
+
*/
|
|
77
|
+
TS_EXPAND_PROJECT_TREE_ITEM_TIMEOUT: Number(process.env.TS_EXPAND_PROJECT_TREE_ITEM_TIMEOUT) || 5000,
|
|
78
|
+
/**
|
|
79
|
+
* Timeout for waiting workspace sample import, 50_000 by default.
|
|
80
|
+
*/
|
|
81
|
+
TS_IMPORT_PROJECT_DEFAULT_POLLING: Number(process.env.TS_SELENIUM_DEFAULT_POLLING) || 50000,
|
|
82
|
+
// ---------------------------------------- OPEN EDITORS ------------------------------------------
|
|
83
|
+
/**
|
|
84
|
+
* Wait for IDE showing open editors tab, "60 000" by default.
|
|
85
|
+
*/
|
|
86
|
+
TS_OPEN_EDITORS_TIMEOUT: Number(process.env.TS_OPEN_EDITORS_TIMEOUT) || 60000,
|
|
87
|
+
/**
|
|
88
|
+
* Click on item timeout (open editors), "10 000" by default.
|
|
89
|
+
*/
|
|
90
|
+
TS_OPEN_EDITORS_CLICK_ON_ITEM_TIMEOUT: Number(process.env.TS_PROJECT_TREE_CLICK_ON_ITEM_TIMEOUT) || 10000,
|
|
91
|
+
// -------------------------------------------- EDITOR --------------------------------------------
|
|
92
|
+
/**
|
|
93
|
+
* Timeout for inetractions with editor tab - wait, click, select, "5 000" by default.
|
|
94
|
+
*/
|
|
95
|
+
TS_EDITOR_TAB_INTERACTION_TIMEOUT: Number(process.env.TS_OPEN_PROJECT_TREE_TIMEOUT) || 5000,
|
|
96
|
+
/**
|
|
97
|
+
* Wait for file to be opened in editor, "30 000" by default.
|
|
98
|
+
*/
|
|
99
|
+
TS_OPEN_EDITOR_TIMEOUT: Number(process.env.TS_OPEN_PROJECT_TREE_TIMEOUT) || 30000,
|
|
100
|
+
/**
|
|
101
|
+
* Wait for suggestion container closure, "3 000" by default.
|
|
102
|
+
*/
|
|
103
|
+
TS_CLOSE_SUGGESTION_CONTAINER_TIMEOUT: Number(process.env.TS_CLOSE_SUGGESTION_CONTAINER_TIMEOUT) || 3000,
|
|
104
|
+
// -------------------------------------------- IDE --------------------------------------------
|
|
105
|
+
/**
|
|
106
|
+
* Timeout for context menu manipulation, "10 000" by default
|
|
107
|
+
*/
|
|
108
|
+
TS_CONTEXT_MENU_TIMEOUT: Number(process.env.TS_CONTEXT_MENU_TIMEOUT) || 10000,
|
|
109
|
+
/**
|
|
110
|
+
* Timeout for interactions with Notification center - open, close, "10 000" by default.
|
|
111
|
+
*/
|
|
112
|
+
TS_NOTIFICATION_CENTER_TIMEOUT: Number(process.env.TS_OPEN_PROJECT_TREE_TIMEOUT) || 10000,
|
|
113
|
+
/**
|
|
114
|
+
* Timeout for debugger to connect, "60 000" by default
|
|
115
|
+
*/
|
|
116
|
+
TS_DEBUGGER_CONNECTION_TIMEOUT: Number(process.env.TS_DEBUGGER_CONNECTION_TIMEOUT) || 60000,
|
|
117
|
+
/**
|
|
118
|
+
* Timeout for waiting visibility of the debug configuration.
|
|
119
|
+
*/
|
|
120
|
+
TS_DEBUGGER_CONFIGURATION_VISIBILITY_TIMEOUT: Number(process.env.TS_DEBUGGER_CONFIGURATION_VISIBILITY_TIMEOUT) || 30000,
|
|
121
|
+
/**
|
|
122
|
+
* Timeout for context menu manipulation, "10 000" by default
|
|
123
|
+
*/
|
|
124
|
+
TS_DIALOG_WINDOW_DEFAULT_TIMEOUT: Number(process.env.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT) || 10000,
|
|
125
|
+
/**
|
|
126
|
+
* Timeout for breakpoint interactions, "20 000" by default
|
|
127
|
+
*/
|
|
128
|
+
TS_BREAKPOINT_DEFAULT_TIMEOUT: Number(process.env.TS_BREAKPOINT_DEFAULT_TIMEOUT) || 20000,
|
|
129
|
+
/**
|
|
130
|
+
* Timeout for interactions with Git Plugin container, "20 000" by default
|
|
131
|
+
*/
|
|
132
|
+
TS_GIT_CONAINER_INTERACTION_TIMEOUT: Number(process.env.TS_GIT_CONAINER_INTERACTION_TIMEOUT) || 20000,
|
|
133
|
+
/**
|
|
134
|
+
* Timeout for toolbars interaction, "30 000" by default
|
|
135
|
+
*/
|
|
136
|
+
TS_SELENIUM_TOOLBAR_TIMEOUT: Number(process.env.TS_SELENIUM_TOOLBAR_TIMEOUT) || 30000,
|
|
137
|
+
/**
|
|
138
|
+
* Timeout for clicking on visible item, "5 000" by default
|
|
139
|
+
*/
|
|
140
|
+
TS_SELENIUM_CLICK_ON_VISIBLE_ITEM: Number(process.env.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM) || 5000,
|
|
141
|
+
/**
|
|
142
|
+
* Timeout for OpenDialogWidget class, "5 000" by default
|
|
143
|
+
*/
|
|
144
|
+
TS_SELENIUM_DIALOG_WIDGET_TIMEOUT: Number(process.env.TS_SELENIUM_DIALOG_WIDGET_TIMEOUT) || 5000,
|
|
145
|
+
/**
|
|
146
|
+
* Default timeout for interaction with terminal, "3 000" by default
|
|
147
|
+
*/
|
|
148
|
+
TS_SELENIUM_TERMINAL_DEFAULT_TIMEOUT: Number(process.env.TS_SELENIUM_TERMINAL_DEFAULT_TIMEOUT) || 5000,
|
|
149
|
+
/**
|
|
150
|
+
* Default timeout for preview widget, "10 000" by default
|
|
151
|
+
*/
|
|
152
|
+
TS_SELENIUM_PREVIEW_WIDGET_DEFAULT_TIMEOUT: Number(process.env.TS_SELENIUM_PREVIEW_WIDGET_DEFAULT_TIMEOUT) || 10000,
|
|
153
|
+
/**
|
|
154
|
+
* Timeout for opening quick menu from top panel, "10 000" by default
|
|
155
|
+
*/
|
|
156
|
+
TS_SELENIUM_TOP_MENU_QUICK_CONTAINER_TIMEOUT: Number(process.env.TS_SELENIUM_TOP_MENU_QUICK_CONTAINER_TIMEOUT) || 10000,
|
|
157
|
+
/**
|
|
158
|
+
* Timeout waiting for url, "10 000" by default
|
|
159
|
+
*/
|
|
160
|
+
TS_SELENIUM_WAIT_FOR_URL: Number(process.env.TS_SELENIUM_WAIT_FOR_URL) || 10000,
|
|
161
|
+
/**
|
|
162
|
+
* Timeout waiting for an executed task to finish, waiting stops automatically if any exit code notification is present, "300 000" by default
|
|
163
|
+
*/
|
|
164
|
+
TS_SELENIUM_WAIT_TASK_EXIT_CODE_TIMEOUT: Number(process.env.TS_SELENIUM_WAIT_TASK_EXIT_CODE_TIMEOUT) || 300000,
|
|
165
|
+
/**
|
|
166
|
+
* Timeout waiting for end of the animation, "5000" by default.
|
|
167
|
+
*/
|
|
168
|
+
TS_SELENIUM_ANIMATION_END_DELAY: Number(process.env.TS_SELENIUM_ANIMATION_END_DELAY) || 5000,
|
|
169
|
+
// ------------------------------------ OPENSHIFT RELATED ------------------------------------
|
|
170
|
+
/**
|
|
171
|
+
* Timeout for obtaining cluster IP, "10 000" by default.
|
|
172
|
+
*/
|
|
173
|
+
TS_GET_CLUSTER_IP_TIMEOUT: Number(process.env.TS_GET_CLUSTER_IP_TIMEOUT) || 60000,
|
|
174
|
+
/**
|
|
175
|
+
* Timeout for waiting fr openshift connector tree, "10 000" by default.
|
|
176
|
+
*/
|
|
177
|
+
TS_WAIT_OPENSHIFT_CONNECTOR_TREE_TIMEOUT: Number(process.env.TS_WAIT_OPENSHIFT_CONNECTOR_TREE_TIMEOUT) || 120000,
|
|
178
|
+
// ----------------------------------------- PLUGINS -----------------------------------------
|
|
179
|
+
/**
|
|
180
|
+
* Common timeout for plugins.
|
|
181
|
+
*/
|
|
182
|
+
TS_COMMON_PLUGIN_TEST_TIMEOUT: Number(process.env.TS_COMMON_PLUGIN_TEST_TIMEOUT) || 20000
|
|
183
|
+
};
|
|
184
|
+
//# sourceMappingURL=TimeoutConstants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeoutConstants.js","sourceRoot":"","sources":["../TimeoutConstants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
/*********************************************************************
|
|
22
|
+
* Copyright (c) 2019 Red Hat, Inc.
|
|
23
|
+
*
|
|
24
|
+
* This program and the accompanying materials are made
|
|
25
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
26
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
27
|
+
*
|
|
28
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
29
|
+
**********************************************************************/
|
|
30
|
+
const mocha = __importStar(require("mocha"));
|
|
31
|
+
const __1 = require("..");
|
|
32
|
+
const __2 = require("..");
|
|
33
|
+
const fs = __importStar(require("fs"));
|
|
34
|
+
const rm = __importStar(require("rimraf"));
|
|
35
|
+
const TestConstants_1 = require("../TestConstants");
|
|
36
|
+
const PreferencesHandlerTheia_1 = require("../utils/theia/PreferencesHandlerTheia");
|
|
37
|
+
const CheApiRequestHandler_1 = require("../utils/requestHandlers/CheApiRequestHandler");
|
|
38
|
+
const TimeoutConstants_1 = require("../TimeoutConstants");
|
|
39
|
+
const Logger_1 = require("../utils/Logger");
|
|
40
|
+
const monacoPageObjects = __importStar(require("monaco-page-objects"));
|
|
41
|
+
const vscodeExtensionTesterLocators = __importStar(require("vscode-extension-tester-locators"));
|
|
42
|
+
const e2eContainer = __1.inversifyConfig.e2eContainer;
|
|
43
|
+
const driver = e2eContainer.get(__2.TYPES.Driver);
|
|
44
|
+
const driverHelper = e2eContainer.get(__2.CLASSES.DriverHelper);
|
|
45
|
+
const screenCatcher = e2eContainer.get(__2.CLASSES.ScreenCatcher);
|
|
46
|
+
const sanitizer = e2eContainer.get(__2.CLASSES.Sanitizer);
|
|
47
|
+
let methodIndex = 0;
|
|
48
|
+
let deleteScreencast = true;
|
|
49
|
+
let testWorkspaceUtil = e2eContainer.get(__2.TYPES.WorkspaceUtil);
|
|
50
|
+
class CheReporter extends mocha.reporters.Spec {
|
|
51
|
+
constructor(runner, options) {
|
|
52
|
+
super(runner, options);
|
|
53
|
+
runner.on('start', async (test) => {
|
|
54
|
+
let launchInformation = `################## Launch Information ##################
|
|
55
|
+
|
|
56
|
+
TS_SELENIUM_BASE_URL: ${TestConstants_1.TestConstants.TS_SELENIUM_BASE_URL}
|
|
57
|
+
TS_SELENIUM_HEADLESS: ${TestConstants_1.TestConstants.TS_SELENIUM_HEADLESS}
|
|
58
|
+
|
|
59
|
+
TS_SELENIUM_USERNAME: ${TestConstants_1.TestConstants.TS_SELENIUM_USERNAME}
|
|
60
|
+
TS_SELENIUM_PASSWORD: ${TestConstants_1.TestConstants.TS_SELENIUM_PASSWORD}
|
|
61
|
+
|
|
62
|
+
TS_SELENIUM_EDITOR: ${TestConstants_1.TestConstants.TS_SELENIUM_EDITOR}
|
|
63
|
+
|
|
64
|
+
TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME: ${TestConstants_1.TestConstants.TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME}
|
|
65
|
+
TS_SELENIUM_DELAY_BETWEEN_SCREENSHOTS: ${TestConstants_1.TestConstants.TS_SELENIUM_DELAY_BETWEEN_SCREENSHOTS}
|
|
66
|
+
TS_SELENIUM_REPORT_FOLDER: ${TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER}
|
|
67
|
+
TS_SELENIUM_EXECUTION_SCREENCAST: ${TestConstants_1.TestConstants.TS_SELENIUM_EXECUTION_SCREENCAST}
|
|
68
|
+
DELETE_SCREENCAST_IF_TEST_PASS: ${TestConstants_1.TestConstants.DELETE_SCREENCAST_IF_TEST_PASS}
|
|
69
|
+
TS_SELENIUM_REMOTE_DRIVER_URL: ${TestConstants_1.TestConstants.TS_SELENIUM_REMOTE_DRIVER_URL}
|
|
70
|
+
DELETE_WORKSPACE_ON_FAILED_TEST: ${TestConstants_1.TestConstants.DELETE_WORKSPACE_ON_FAILED_TEST}
|
|
71
|
+
TS_SELENIUM_LOG_LEVEL: ${TestConstants_1.TestConstants.TS_SELENIUM_LOG_LEVEL}
|
|
72
|
+
TS_SELENIUM_LAUNCH_FULLSCREEN: ${TestConstants_1.TestConstants.TS_SELENIUM_LAUNCH_FULLSCREEN}
|
|
73
|
+
`;
|
|
74
|
+
if (TestConstants_1.TestConstants.TS_SELENIUM_PRINT_TIMEOUT_VARIABLES) {
|
|
75
|
+
launchInformation += `\n TS_SELENIUM_PRINT_TIMEOUT_VARIABLES is set to true: \n`;
|
|
76
|
+
Object.entries(TimeoutConstants_1.TimeoutConstants).forEach(([key, value]) => launchInformation += `\n ${key}: ${value}`);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
launchInformation += `\n to output timeout variables, set TS_SELENIUM_PRINT_TIMEOUT_VARIABLES to true`;
|
|
80
|
+
}
|
|
81
|
+
launchInformation += `\n ######################################################## \n`;
|
|
82
|
+
console.log(launchInformation);
|
|
83
|
+
rm.sync(TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER);
|
|
84
|
+
if (TestConstants_1.TestConstants.TS_SELENIUM_REQUEST_INTERCEPTOR) {
|
|
85
|
+
CheApiRequestHandler_1.CheApiRequestHandler.enableRequestInteceptor();
|
|
86
|
+
}
|
|
87
|
+
if (TestConstants_1.TestConstants.TS_SELENIUM_RESPONSE_INTERCEPTOR) {
|
|
88
|
+
CheApiRequestHandler_1.CheApiRequestHandler.enableResponseInterceptor();
|
|
89
|
+
}
|
|
90
|
+
if (TestConstants_1.TestConstants.TS_SELENIUM_EDITOR === TestConstants_1.EditorType.THEIA) {
|
|
91
|
+
let preferencesHandler = e2eContainer.get(__2.CLASSES.PreferencesHandlerTheia);
|
|
92
|
+
await preferencesHandler.setConfirmExit(PreferencesHandlerTheia_1.AskForConfirmationTypeTheia.never);
|
|
93
|
+
await preferencesHandler.setTerminalType(PreferencesHandlerTheia_1.TerminalRendererTypeTheia.dom);
|
|
94
|
+
}
|
|
95
|
+
else if (TestConstants_1.TestConstants.TS_SELENIUM_EDITOR === TestConstants_1.EditorType.CHE_CODE) {
|
|
96
|
+
// init vscode-extension-tester monaco-page-objects
|
|
97
|
+
monacoPageObjects.initPageObjects(TestConstants_1.TestConstants.TS_SELENIUM_MONACO_PAGE_OBJECTS_USE_VERSION, TestConstants_1.TestConstants.TS_SELENIUM_MONACO_PAGE_OBJECTS_BASE_VERSION, vscodeExtensionTesterLocators.getLocatorsPath(), driver.get(), 'google-chrome');
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
runner.on('test', async function (test) {
|
|
101
|
+
if (!TestConstants_1.TestConstants.TS_SELENIUM_EXECUTION_SCREENCAST) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
methodIndex = methodIndex + 1;
|
|
105
|
+
const currentMethodIndex = methodIndex;
|
|
106
|
+
let iterationIndex = 1;
|
|
107
|
+
while (!(test.state === 'passed' || test.state === 'failed')) {
|
|
108
|
+
await screenCatcher.catchMethodScreen(test.title, currentMethodIndex, iterationIndex);
|
|
109
|
+
iterationIndex = iterationIndex + 1;
|
|
110
|
+
await driverHelper.wait(TestConstants_1.TestConstants.TS_SELENIUM_DELAY_BETWEEN_SCREENSHOTS);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
runner.on('pass', async (test) => {
|
|
114
|
+
if (TestConstants_1.TestConstants.TS_LOAD_TESTS) {
|
|
115
|
+
const loadTestReportFolder = TestConstants_1.TestConstants.TS_SELENIUM_LOAD_TEST_REPORT_FOLDER;
|
|
116
|
+
const loadTestFilePath = loadTestReportFolder + '/load-test-results.txt';
|
|
117
|
+
const report = test.title + ': ' + test.duration + '\r';
|
|
118
|
+
if (!fs.existsSync(loadTestReportFolder)) {
|
|
119
|
+
fs.mkdirSync(loadTestReportFolder);
|
|
120
|
+
}
|
|
121
|
+
fs.appendFileSync(loadTestFilePath, report);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
runner.on('end', async function (test) {
|
|
125
|
+
// ensure that fired events done
|
|
126
|
+
await driver.get().sleep(5000);
|
|
127
|
+
// close driver
|
|
128
|
+
await driver.get().quit();
|
|
129
|
+
// delete screencast folder if conditions matched
|
|
130
|
+
if (deleteScreencast && TestConstants_1.TestConstants.DELETE_SCREENCAST_IF_TEST_PASS) {
|
|
131
|
+
rm.sync(TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
runner.on('fail', async function (test) {
|
|
135
|
+
Logger_1.Logger.error(`CheReporter runner.on.fail: ${test.fullTitle()} failed after ${test.duration}ms`);
|
|
136
|
+
// raise flag for keeping the screencast
|
|
137
|
+
deleteScreencast = false;
|
|
138
|
+
Logger_1.Logger.trace(`FullTitle:${test.fullTitle()}`);
|
|
139
|
+
const testFullTitle = sanitizer.sanitize(test.fullTitle());
|
|
140
|
+
Logger_1.Logger.trace(`FullTitleSanitized:${testFullTitle}`);
|
|
141
|
+
Logger_1.Logger.trace(`TestTitle:${test.title}`);
|
|
142
|
+
const testTitle = sanitizer.sanitize(test.title);
|
|
143
|
+
Logger_1.Logger.trace(`TestTitleSanitized:${testTitle}`);
|
|
144
|
+
const testReportDirPath = `${TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER}/${testFullTitle}`;
|
|
145
|
+
const screenshotFileName = `${testReportDirPath}/screenshot-${testTitle}.png`;
|
|
146
|
+
const pageSourceFileName = `${testReportDirPath}/pagesource-${testTitle}.html`;
|
|
147
|
+
const browserLogsFileName = `${testReportDirPath}/browserlogs-${testTitle}.txt`;
|
|
148
|
+
// create reporter dir if not exist
|
|
149
|
+
const reportDirExists = fs.existsSync(TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER);
|
|
150
|
+
if (!reportDirExists) {
|
|
151
|
+
fs.mkdirSync(TestConstants_1.TestConstants.TS_SELENIUM_REPORT_FOLDER);
|
|
152
|
+
}
|
|
153
|
+
// create dir for failed test report if not exist
|
|
154
|
+
const testReportDirExists = fs.existsSync(testReportDirPath);
|
|
155
|
+
if (!testReportDirExists) {
|
|
156
|
+
fs.mkdirSync(testReportDirPath);
|
|
157
|
+
}
|
|
158
|
+
// take screenshot and write to file
|
|
159
|
+
const screenshot = await driver.get().takeScreenshot();
|
|
160
|
+
const screenshotStream = fs.createWriteStream(screenshotFileName);
|
|
161
|
+
screenshotStream.write(Buffer.from(screenshot, 'base64'));
|
|
162
|
+
screenshotStream.end();
|
|
163
|
+
// take pagesource and write to file
|
|
164
|
+
const pageSource = await driver.get().getPageSource();
|
|
165
|
+
const pageSourceStream = fs.createWriteStream(pageSourceFileName);
|
|
166
|
+
pageSourceStream.write(Buffer.from(pageSource));
|
|
167
|
+
pageSourceStream.end();
|
|
168
|
+
// take browser console logs and write to file
|
|
169
|
+
const browserLogsEntries = await driverHelper.getDriver().manage().logs().get('browser');
|
|
170
|
+
let browserLogs = '';
|
|
171
|
+
browserLogsEntries.forEach(log => {
|
|
172
|
+
browserLogs += `\"${log.level}\" \"${log.type}\" \"${log.message}\"\n`;
|
|
173
|
+
});
|
|
174
|
+
const browserLogsStream = fs.createWriteStream(browserLogsFileName);
|
|
175
|
+
browserLogsStream.write(Buffer.from(browserLogs));
|
|
176
|
+
browserLogsStream.end();
|
|
177
|
+
// stop and remove running workspace
|
|
178
|
+
if (TestConstants_1.TestConstants.DELETE_WORKSPACE_ON_FAILED_TEST) {
|
|
179
|
+
Logger_1.Logger.warn('Property DELETE_WORKSPACE_ON_FAILED_TEST se to true - trying to stop and delete running workspace.');
|
|
180
|
+
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(CheReporter.latestWorkspace);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
static registerRunningWorkspace(workspaceName) {
|
|
185
|
+
Logger_1.Logger.debug(`CheReporter.registerRunningWorkspace {${workspaceName}}`);
|
|
186
|
+
CheReporter.latestWorkspace = workspaceName;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
CheReporter.latestWorkspace = '';
|
|
190
|
+
module.exports = CheReporter;
|
|
191
|
+
//# sourceMappingURL=CheReporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheReporter.js","sourceRoot":"","sources":["../../driver/CheReporter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,6CAA+B;AAE/B,0BAAqC;AACrC,0BAAoC;AACpC,uCAAyB;AACzB,2CAA6B;AAC7B,oDAA6D;AAK7D,oFAAyI;AACzI,wFAAqF;AACrF,0DAAuD;AACvD,4CAAyC;AAEzC,uEAAyD;AACzD,gGAAkF;AAElF,MAAM,YAAY,GAAG,mBAAe,CAAC,YAAY,CAAC;AAClD,MAAM,MAAM,GAAY,YAAY,CAAC,GAAG,CAAC,SAAK,CAAC,MAAM,CAAC,CAAC;AACvD,MAAM,YAAY,GAAiB,YAAY,CAAC,GAAG,CAAC,WAAO,CAAC,YAAY,CAAC,CAAC;AAC1E,MAAM,aAAa,GAAkB,YAAY,CAAC,GAAG,CAAC,WAAO,CAAC,aAAa,CAAC,CAAC;AAC7E,MAAM,SAAS,GAAc,YAAY,CAAC,GAAG,CAAC,WAAO,CAAC,SAAS,CAAC,CAAC;AACjE,IAAI,WAAW,GAAW,CAAC,CAAC;AAC5B,IAAI,gBAAgB,GAAY,IAAI,CAAC;AACrC,IAAI,iBAAiB,GAAuB,YAAY,CAAC,GAAG,CAAC,SAAK,CAAC,aAAa,CAAC,CAAC;AAElF,MAAM,WAAY,SAAQ,KAAK,CAAC,SAAS,CAAC,IAAI;IAS5C,YAAY,MAAoB,EAAE,OAA2B;QAC3D,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEvB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAgB,EAAE,EAAE;YAC5C,IAAI,iBAAiB,GACnB;;8BAEsB,6BAAa,CAAC,oBAAoB;8BAClC,6BAAa,CAAC,oBAAoB;;8BAElC,6BAAa,CAAC,oBAAoB;8BAClC,6BAAa,CAAC,oBAAoB;;8BAElC,6BAAa,CAAC,kBAAkB;;+CAEf,6BAAa,CAAC,qCAAqC;+CACnD,6BAAa,CAAC,qCAAqC;mCAC/D,6BAAa,CAAC,yBAAyB;0CAChC,6BAAa,CAAC,gCAAgC;wCAChD,6BAAa,CAAC,8BAA8B;uCAC7C,6BAAa,CAAC,6BAA6B;yCACzC,6BAAa,CAAC,+BAA+B;+BACvD,6BAAa,CAAC,qBAAqB;uCAC3B,6BAAa,CAAC,6BAA6B;CACjF,CAAC;YAEI,IAAI,6BAAa,CAAC,mCAAmC,EAAE;gBACrD,iBAAiB,IAAI,gEAAgE,CAAC;gBACtF,MAAM,CAAC,OAAO,CAAC,mCAAgB,CAAC,CAAC,OAAO,CACtC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,iBAAiB,IAAI,cAAc,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC;aACzE;iBAAM;gBACL,iBAAiB,IAAI,sFAAsF,CAAC;aAC7G;YAED,iBAAiB,IAAI,gEAAgE,CAAC;YAEtF,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAE/B,EAAE,CAAC,IAAI,CAAC,6BAAa,CAAC,yBAAyB,CAAC,CAAC;YACjD,IAAI,6BAAa,CAAC,+BAA+B,EAAE;gBACjD,2CAAoB,CAAC,uBAAuB,EAAE,CAAC;aAChD;YACD,IAAI,6BAAa,CAAC,gCAAgC,EAAE;gBAClD,2CAAoB,CAAC,yBAAyB,EAAE,CAAC;aAClD;YAED,IAAI,6BAAa,CAAC,kBAAkB,KAAK,0BAAU,CAAC,KAAK,EAAE;gBACzD,IAAI,kBAAkB,GAA4B,YAAY,CAAC,GAAG,CAAC,WAAO,CAAC,uBAAuB,CAAC,CAAC;gBACpG,MAAM,kBAAkB,CAAC,cAAc,CAAC,qDAA2B,CAAC,KAAK,CAAC,CAAC;gBAC3E,MAAM,kBAAkB,CAAC,eAAe,CAAC,mDAAyB,CAAC,GAAG,CAAC,CAAC;aACzE;iBAAM,IAAI,6BAAa,CAAC,kBAAkB,KAAK,0BAAU,CAAC,QAAQ,EAAE;gBACnE,mDAAmD;gBACnD,iBAAiB,CAAC,eAAe,CAAC,6BAAa,CAAC,2CAA2C,EAAE,6BAAa,CAAC,4CAA4C,EAAE,6BAA6B,CAAC,eAAe,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;aAC1O;QAEH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,WAAW,IAAgB;YAChD,IAAI,CAAC,6BAAa,CAAC,gCAAgC,EAAE;gBACnD,OAAO;aACR;YAED,WAAW,GAAG,WAAW,GAAG,CAAC,CAAC;YAC9B,MAAM,kBAAkB,GAAW,WAAW,CAAC;YAC/C,IAAI,cAAc,GAAW,CAAC,CAAC;YAE/B,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,EAAE;gBAC5D,MAAM,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;gBACtF,cAAc,GAAG,cAAc,GAAG,CAAC,CAAC;gBAEpC,MAAM,YAAY,CAAC,IAAI,CAAC,6BAAa,CAAC,qCAAqC,CAAC,CAAC;aAC9E;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAgB,EAAE,EAAE;YAC3C,IAAI,6BAAa,CAAC,aAAa,EAAE;gBAC/B,MAAM,oBAAoB,GAAW,6BAAa,CAAC,mCAAmC,CAAC;gBACvF,MAAM,gBAAgB,GAAW,oBAAoB,GAAG,wBAAwB,CAAC;gBACjF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;oBACxC,EAAE,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;iBACpC;gBACD,EAAE,CAAC,cAAc,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;aAC7C;QACH,CAAC,CAAC,CAAC;QAGH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,WAAW,IAAgB;YAC/C,gCAAgC;YAChC,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE/B,eAAe;YACf,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;YAE1B,iDAAiD;YACjD,IAAI,gBAAgB,IAAI,6BAAa,CAAC,8BAA8B,EAAE;gBACpE,EAAE,CAAC,IAAI,CAAC,6BAAa,CAAC,yBAAyB,CAAC,CAAC;aAClD;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,WAAW,IAAgB;YAChD,eAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,EAAE,iBAAiB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YAChG,wCAAwC;YACxC,gBAAgB,GAAG,KAAK,CAAC;YAEzB,eAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC9C,MAAM,aAAa,GAAW,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACnE,eAAM,CAAC,KAAK,CAAC,sBAAsB,aAAa,EAAE,CAAC,CAAC;YACpD,eAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACxC,MAAM,SAAS,GAAW,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzD,eAAM,CAAC,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;YAEhD,MAAM,iBAAiB,GAAW,GAAG,6BAAa,CAAC,yBAAyB,IAAI,aAAa,EAAE,CAAC;YAChG,MAAM,kBAAkB,GAAW,GAAG,iBAAiB,eAAe,SAAS,MAAM,CAAC;YACtF,MAAM,kBAAkB,GAAW,GAAG,iBAAiB,eAAe,SAAS,OAAO,CAAC;YACvF,MAAM,mBAAmB,GAAW,GAAG,iBAAiB,gBAAgB,SAAS,MAAM,CAAC;YAGxF,mCAAmC;YACnC,MAAM,eAAe,GAAY,EAAE,CAAC,UAAU,CAAC,6BAAa,CAAC,yBAAyB,CAAC,CAAC;YAExF,IAAI,CAAC,eAAe,EAAE;gBACpB,EAAE,CAAC,SAAS,CAAC,6BAAa,CAAC,yBAAyB,CAAC,CAAC;aACvD;YAED,iDAAiD;YACjD,MAAM,mBAAmB,GAAY,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAEtE,IAAI,CAAC,mBAAmB,EAAE;gBACxB,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;aACjC;YAED,oCAAoC;YACpC,MAAM,UAAU,GAAW,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;YAC/D,MAAM,gBAAgB,GAAG,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;YAClE,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC1D,gBAAgB,CAAC,GAAG,EAAE,CAAC;YAEvB,oCAAoC;YACpC,MAAM,UAAU,GAAW,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;YAC9D,MAAM,gBAAgB,GAAG,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;YAClE,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAChD,gBAAgB,CAAC,GAAG,EAAE,CAAC;YAEvB,8CAA8C;YAC9C,MAAM,kBAAkB,GAAoB,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1G,IAAI,WAAW,GAAW,EAAE,CAAC;YAE7B,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC/B,WAAW,IAAI,KAAK,GAAG,CAAC,KAAK,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,OAAO,MAAM,CAAC;YACzE,CAAC,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,EAAE,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;YACpE,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAClD,iBAAiB,CAAC,GAAG,EAAE,CAAC;YAExB,oCAAoC;YACpC,IAAI,6BAAa,CAAC,+BAA+B,EAAE;gBACjD,eAAM,CAAC,IAAI,CAAC,oGAAoG,CAAC,CAAC;gBAClH,MAAM,iBAAiB,CAAC,4BAA4B,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;aACnF;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAxKM,MAAM,CAAC,wBAAwB,CAAC,aAAqB;QAC1D,eAAM,CAAC,KAAK,CAAC,yCAAyC,aAAa,GAAG,CAAC,CAAC;QACxE,WAAW,CAAC,eAAe,GAAG,aAAa,CAAC;IAC9C,CAAC;;AALc,2BAAe,GAAW,EAAE,CAAC;AA6K9C,iBAAS,WAAW,CAAC"}
|