@eclipse-che/che-e2e 7.64.0-dev-20514b2 → 7.64.0-dev-f0466d9
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 +11 -37
- package/build/dockerfiles/entrypoint.sh +1 -1
- package/configs/inversify.config.ts +11 -26
- package/configs/inversify.types.ts +5 -35
- package/configs/mocharc.ts +9 -3
- package/configs/sh-scripts/initDefaultValues.sh +0 -5
- package/constants/TestConstants.ts +35 -97
- package/constants/TimeoutConstants.ts +1 -1
- package/dist/configs/inversify.config.js +8 -23
- package/dist/configs/inversify.config.js.map +1 -1
- package/dist/configs/inversify.types.js +3 -33
- package/dist/configs/inversify.types.js.map +1 -1
- package/dist/configs/mocharc.js +11 -4
- package/dist/configs/mocharc.js.map +1 -1
- package/dist/constants/TestConstants.js +31 -86
- package/dist/constants/TestConstants.js.map +1 -1
- package/dist/constants/TimeoutConstants.js.map +1 -1
- package/dist/driver/ChromeDriver.js +1 -1
- package/dist/driver/ChromeDriver.js.map +1 -1
- package/dist/index.js +63 -0
- package/dist/index.js.map +1 -0
- package/dist/pageobjects/dashboard/CreateWorkspace.js +8 -16
- package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -1
- package/dist/pageobjects/dashboard/Dashboard.js +16 -1
- package/dist/pageobjects/dashboard/Dashboard.js.map +1 -1
- package/dist/pageobjects/dashboard/Workspaces.js +1 -3
- package/dist/pageobjects/dashboard/Workspaces.js.map +1 -1
- package/dist/pageobjects/git-providers/OauthPage.js +150 -0
- package/dist/pageobjects/git-providers/OauthPage.js.map +1 -0
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js +65 -0
- package/dist/pageobjects/ide/CheCodeLocatorLoader.js.map +1 -0
- package/dist/pageobjects/login/OcpRedHatLoginPage.js +67 -0
- package/dist/pageobjects/login/OcpRedHatLoginPage.js.map +1 -0
- package/dist/pageobjects/login/RedHatLoginPage.js +78 -0
- package/dist/pageobjects/login/RedHatLoginPage.js.map +1 -0
- package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js +3 -21
- package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js.map +1 -1
- package/dist/pageobjects/openshift/CheLoginPage.js +0 -33
- package/dist/pageobjects/openshift/CheLoginPage.js.map +1 -1
- package/dist/pageobjects/openshift/OcpLoginPage.js +0 -14
- package/dist/pageobjects/openshift/OcpLoginPage.js.map +1 -1
- package/dist/specs/MochaHooks.js +2 -2
- package/dist/specs/MochaHooks.js.map +1 -1
- package/dist/specs/SmokeTest.spec.js +49 -0
- package/dist/specs/SmokeTest.spec.js.map +1 -0
- package/dist/specs/devfiles/EmptyWorkspace.spec.js +1 -0
- package/dist/specs/devfiles/EmptyWorkspace.spec.js.map +1 -1
- package/dist/specs/devfiles/Quarkus.spec.js +50 -0
- package/dist/specs/devfiles/Quarkus.spec.js.map +1 -0
- package/dist/specs/factory/Factory.spec.js +160 -0
- package/dist/specs/factory/Factory.spec.js.map +1 -0
- package/dist/specs/factory/NoSetupRepoFactory.spec.js +228 -0
- package/dist/specs/factory/NoSetupRepoFactory.spec.js.map +1 -0
- package/dist/specs/factory/RefusedOAuthFactory.spec.js +220 -0
- package/dist/specs/factory/RefusedOAuthFactory.spec.js.map +1 -0
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +66 -0
- package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +1 -0
- package/dist/tests-library/LoginTests.js +10 -2
- package/dist/tests-library/LoginTests.js.map +1 -1
- package/dist/tests-library/WorkspaceHandlingTests.js +15 -6
- package/dist/tests-library/WorkspaceHandlingTests.js.map +1 -1
- package/dist/utils/BrowserTabsUtil.js +2 -21
- package/dist/utils/BrowserTabsUtil.js.map +1 -1
- package/dist/utils/CheReporter.js +5 -2
- package/dist/utils/CheReporter.js.map +1 -1
- package/dist/utils/DriverHelper.js +11 -73
- package/dist/utils/DriverHelper.js.map +1 -1
- package/dist/utils/Logger.js +5 -0
- package/dist/utils/Logger.js.map +1 -1
- package/dist/utils/Sanitizer.js.map +1 -1
- package/dist/utils/ScreenCatcher.js.map +1 -1
- package/dist/utils/request-handlers/CheApiRequestHandler.js +1 -1
- package/dist/utils/request-handlers/CheApiRequestHandler.js.map +1 -1
- package/dist/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -1
- package/dist/utils/vsc/GitUtil.js +36 -0
- package/dist/utils/vsc/GitUtil.js.map +1 -0
- package/dist/utils/workspace/ApiUrlResolver.js +0 -3
- package/dist/utils/workspace/ApiUrlResolver.js.map +1 -1
- package/dist/utils/workspace/TestWorkspaceUtil.js +3 -193
- package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -1
- package/driver/ChromeDriver.ts +3 -3
- package/index.ts +37 -0
- package/package.json +9 -5
- package/pageobjects/dashboard/CreateWorkspace.ts +10 -21
- package/pageobjects/dashboard/Dashboard.ts +37 -16
- package/pageobjects/dashboard/Workspaces.ts +21 -23
- package/pageobjects/dashboard/workspace-details/WorkspaceDetails.ts +16 -16
- package/pageobjects/git-providers/OauthPage.ts +156 -0
- package/pageobjects/ide/CheCodeLocatorLoader.ts +69 -0
- package/pageobjects/login/OcpRedHatLoginPage.ts +49 -0
- package/pageobjects/login/OcpUserLoginPage.ts +1 -1
- package/pageobjects/login/RedHatLoginPage.ts +62 -0
- package/pageobjects/login/RegularUserOcpCheLoginPage.ts +2 -21
- package/pageobjects/openshift/CheLoginPage.ts +8 -57
- package/pageobjects/openshift/OcpLoginPage.ts +8 -29
- package/specs/MochaHooks.ts +9 -9
- package/specs/SmokeTest.spec.ts +50 -0
- package/specs/devfiles/EmptyWorkspace.spec.ts +1 -0
- package/specs/devfiles/Quarkus.spec.ts +52 -0
- package/specs/factory/Factory.spec.ts +199 -0
- package/specs/factory/NoSetupRepoFactory.spec.ts +272 -0
- package/specs/factory/RefusedOAuthFactory.spec.ts +260 -0
- package/specs/miscellaneous/PredefinedNamespace.spec.ts +74 -0
- package/tests-library/LoginTests.ts +9 -1
- package/tests-library/WorkspaceHandlingTests.ts +16 -7
- package/tslint.json +4 -4
- package/utils/BrowserTabsUtil.ts +9 -31
- package/utils/CheReporter.ts +12 -8
- package/utils/DriverHelper.ts +40 -115
- package/utils/Logger.ts +13 -8
- package/utils/Sanitizer.ts +0 -1
- package/utils/ScreenCatcher.ts +8 -7
- package/utils/request-handlers/CheApiRequestHandler.ts +1 -1
- package/utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler.ts +2 -1
- package/utils/vsc/GitUtil.ts +25 -0
- package/utils/workspace/ApiUrlResolver.ts +3 -6
- package/utils/workspace/ITestWorkspaceUtil.ts +1 -56
- package/utils/workspace/TestWorkspaceUtil.ts +24 -265
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js +0 -97
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js.map +0 -1
- package/dist/pageobjects/login/MultiUserLoginPage.js +0 -49
- package/dist/pageobjects/login/MultiUserLoginPage.js.map +0 -1
- package/dist/pageobjects/login/UpdateAccountInformationPage.js +0 -74
- package/dist/pageobjects/login/UpdateAccountInformationPage.js.map +0 -1
- package/dist/pageobjects/third-parties/GitLoginPage.js +0 -85
- package/dist/pageobjects/third-parties/GitLoginPage.js.map +0 -1
- package/dist/pageobjects/third-parties/GitOauthAppsSettings.js +0 -110
- package/dist/pageobjects/third-parties/GitOauthAppsSettings.js.map +0 -1
- package/dist/specs/login/LinkCheAndOcpUsers.spec.js +0 -40
- package/dist/specs/login/LinkCheAndOcpUsers.spec.js.map +0 -1
- package/dist/utils/WorkspaceNameHandler.js +0 -60
- package/dist/utils/WorkspaceNameHandler.js.map +0 -1
- package/dist/utils/request-handlers/tokens/CheMultiuserTokenHandler.js +0 -50
- package/dist/utils/request-handlers/tokens/CheMultiuserTokenHandler.js.map +0 -1
- package/dist/utils/request-handlers/tokens/ITokenHandler.js +0 -12
- package/dist/utils/request-handlers/tokens/ITokenHandler.js.map +0 -1
- package/dist/utils/vsc/CheGitApi.js +0 -42
- package/dist/utils/vsc/CheGitApi.js.map +0 -1
- package/dist/utils/vsc/github/GitHubUtil.js +0 -126
- package/dist/utils/vsc/github/GitHubUtil.js.map +0 -1
- package/files/devfiles/plugins/GitHubPullRequestPlugin.yaml +0 -11
- package/files/devfiles/plugins/InstallPluginUsingUI.yaml +0 -3
- package/files/devfiles/plugins/Java11PluginTest.yaml +0 -17
- package/files/devfiles/plugins/PhpPluginTest.yaml +0 -47
- package/files/devfiles/plugins/PythonPluginTest.yaml +0 -14
- package/files/devfiles/plugins/TypescriptNodeDebug2PluginTest.yaml +0 -49
- package/files/devfiles/plugins/VscodeKubernetesPlugin.yaml +0 -12
- package/files/devfiles/plugins/VscodeShellcheckPlugin.yaml +0 -12
- package/files/devfiles/plugins/VscodeValePlugin.yaml +0 -42
- package/files/devfiles/plugins/VscodeXmlPlugin.yaml +0 -12
- package/files/devfiles/plugins/VscodeYamlPlugin.yaml +0 -12
- package/files/happy-path/containers-happy-path.yaml +0 -127
- package/files/happy-path/happy-path-workspace.yaml +0 -95
- package/files/happy-path/petclinic-classpath.txt +0 -49
- package/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.ts +0 -95
- package/pageobjects/login/MultiUserLoginPage.ts +0 -33
- package/pageobjects/login/UpdateAccountInformationPage.ts +0 -70
- package/pageobjects/third-parties/GitLoginPage.ts +0 -81
- package/pageobjects/third-parties/GitOauthAppsSettings.ts +0 -110
- package/specs/login/LinkCheAndOcpUsers.spec.ts +0 -49
- package/utils/WorkspaceNameHandler.ts +0 -48
- package/utils/request-handlers/tokens/CheMultiuserTokenHandler.ts +0 -41
- package/utils/request-handlers/tokens/ITokenHandler.ts +0 -14
- package/utils/vsc/CheGitApi.ts +0 -22
- package/utils/vsc/github/GitHubUtil.ts +0 -110
package/README.md
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
## Requirements
|
|
5
5
|
|
|
6
|
-
- node
|
|
7
|
-
- "Chrome" browser
|
|
6
|
+
- node 16.x
|
|
7
|
+
- "Chrome" browser 111.x or later
|
|
8
8
|
- deployed Che 7 with accessible URL
|
|
9
9
|
|
|
10
10
|
## Before launch
|
|
@@ -18,16 +18,16 @@ Note: If there is any modifications in package.json, manually execute the `npm i
|
|
|
18
18
|
|
|
19
19
|
## Default launch
|
|
20
20
|
|
|
21
|
-
- Provide connection credentials
|
|
22
|
-
- ```export
|
|
23
|
-
- ```export
|
|
24
|
-
- ```npm test```
|
|
21
|
+
- Provide connection credentials:
|
|
22
|
+
- ```export TS_SELENIUM_OCP_USERNAME=<username>```
|
|
23
|
+
- ```export TS_SELENIUM_OCP_PASSWORD=<password>```
|
|
24
|
+
- ```npm run test```
|
|
25
25
|
|
|
26
26
|
## Custom launch
|
|
27
27
|
|
|
28
28
|
- Use environment variables which described in the **```'TestConstants.ts'```** file
|
|
29
29
|
- Use environment variables for setting timeouts if needed. You can see the list in **```'TimeoutConstants.ts'```**. You can see the list of those variables and their value if you set the ```'TS_SELENIUM_PRINT_TIMEOUT_VARIABLES = true'```
|
|
30
|
-
-
|
|
30
|
+
- To test one specification export file name as ```export USERSTORY=<spec-file-name-without-extension> && npm run test``` (example: ```-e USERSTORY=Quarkus```)
|
|
31
31
|
|
|
32
32
|
## Docker launch
|
|
33
33
|
|
|
@@ -58,35 +58,8 @@ For running tests without docker, please perform next steps:**
|
|
|
58
58
|
- link to devfile ( **```For successfull test passing, exactly provided devfile should be used```** )
|
|
59
59
|
<https://gist.githubusercontent.com/Ohrimenko1988/93f5426f4ebc1705c55feb8ff0396a49/raw/cbea89ad145ba33ed34a151a12c50f045f9f3b78/yaml-ls-bug.yaml>
|
|
60
60
|
- Provide the **```'TS_SELENIUM_BASE_URL'```** environment variable as described above
|
|
61
|
-
-
|
|
62
|
-
|
|
63
|
-
## Plugins tests launching for the Che without oauth authentication
|
|
64
|
-
|
|
65
|
-
**Setup next environment variables:**
|
|
66
|
-
|
|
67
|
-
- export TS_SELENIUM_BASE_URL=\<Che-URL\>
|
|
68
|
-
- export USERSTORY=\<Test you want to run \>
|
|
69
|
-
- (skip if login is "admin") export TS_SELENIUM_USERNAME=\<Login\>
|
|
70
|
-
- (skip if password is "admin") export TS_SELENIUM_PASSWORD=\<Password\>
|
|
71
|
-
|
|
72
|
-
**Run command:**
|
|
73
|
-
|
|
74
|
-
- npm run test-plugin
|
|
75
|
-
|
|
76
|
-
## Plugins tests launching for the Che with oauth authentication
|
|
77
|
-
|
|
78
|
-
**Setup next environment variables:**
|
|
79
|
-
|
|
80
|
-
- export TS_SELENIUM_BASE_URL=\<Che-URL\>
|
|
81
|
-
- export USERSTORY=\<test-you-want-to-run\>
|
|
82
|
-
- export TS_SELENIUM_VALUE_OPENSHIFT_OAUTH="true"
|
|
83
|
-
- export TS_SELENIUM_OCP_USERNAME=\<cluster-username\>
|
|
84
|
-
- export TS_SELENIUM_OCP_PASSWORD=\<cluster-password\>
|
|
85
|
-
|
|
86
|
-
**Run command:**
|
|
87
|
-
|
|
88
|
-
- npm run test-plugin
|
|
89
|
-
|
|
61
|
+
- export TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME=EmptyWorkspace (default value, see TestConstants.ts)
|
|
62
|
+
- perform command **```export USERSTORY=$TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME && npm run test-all-devfiles```**
|
|
90
63
|
|
|
91
64
|
## Launching the DevWorkspaceHappyPath spec file using Che with oauth authentication
|
|
92
65
|
|
|
@@ -98,6 +71,7 @@ For running tests without docker, please perform next steps:**
|
|
|
98
71
|
- export TS_SELENIUM_VALUE_OPENSHIFT_OAUTH="true"
|
|
99
72
|
- export TS_OCP_LOGIN_PAGE_PROVIDER_TITLE=\<login-provide-title\>
|
|
100
73
|
- export TS_SELENIUM_DEVWORKSPACE_URL=\<devworkspace-url\>
|
|
74
|
+
- export TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME=EmptyWorkspace (default value, see TestConstants.ts)
|
|
101
75
|
|
|
102
76
|
**Execute the npm command:**
|
|
103
|
-
- npm run test-
|
|
77
|
+
- perform command ```export USERSTORY=$TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME && npm run test-all-devfiles```
|
|
@@ -19,70 +19,55 @@ import { OcpUserLoginPage } from '../pageobjects/login/OcpUserLoginPage';
|
|
|
19
19
|
import { TestConstants } from '../constants/TestConstants';
|
|
20
20
|
import { ICheLoginPage } from '../pageobjects/login/ICheLoginPage';
|
|
21
21
|
import { RegularUserOcpCheLoginPage } from '../pageobjects/login/RegularUserOcpCheLoginPage';
|
|
22
|
-
import { MultiUserLoginPage } from '../pageobjects/login/MultiUserLoginPage';
|
|
23
22
|
import { DriverHelper } from '../utils/DriverHelper';
|
|
24
23
|
import { Dashboard } from '../pageobjects/dashboard/Dashboard';
|
|
25
24
|
import { Workspaces } from '../pageobjects/dashboard/Workspaces';
|
|
26
25
|
import { WorkspaceDetails } from '../pageobjects/dashboard/workspace-details/WorkspaceDetails';
|
|
27
|
-
import { WorkspaceDetailsPlugins } from '../pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins';
|
|
28
26
|
import { ScreenCatcher } from '../utils/ScreenCatcher';
|
|
29
27
|
import { OcpLoginPage } from '../pageobjects/openshift/OcpLoginPage';
|
|
30
28
|
import { CheLoginPage } from '../pageobjects/openshift/CheLoginPage';
|
|
31
29
|
import { IAuthorizationHeaderHandler } from '../utils/request-handlers/headers/IAuthorizationHeaderHandler';
|
|
32
30
|
import { CheMultiuserAuthorizationHeaderHandler } from '../utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler';
|
|
33
|
-
import { CheMultiuserTokenHandler } from '../utils/request-handlers/tokens/CheMultiuserTokenHandler';
|
|
34
|
-
import { ITokenHandler } from '../utils/request-handlers/tokens/ITokenHandler';
|
|
35
31
|
import { CheApiRequestHandler } from '../utils/request-handlers/CheApiRequestHandler';
|
|
36
|
-
import { CheGitApi } from '../utils/vsc/CheGitApi';
|
|
37
|
-
import { GitHubUtil } from '../utils/vsc/github/GitHubUtil';
|
|
38
32
|
import { CreateWorkspace } from '../pageobjects/dashboard/CreateWorkspace';
|
|
39
|
-
import { UpdateAccountInformationPage } from '../pageobjects/login/UpdateAccountInformationPage';
|
|
40
33
|
import { BrowserTabsUtil } from '../utils/BrowserTabsUtil';
|
|
41
34
|
import { WorkspaceHandlingTests } from '../tests-library/WorkspaceHandlingTests';
|
|
42
|
-
import { GitLoginPage } from '../pageobjects/third-parties/GitLoginPage';
|
|
43
|
-
import { GitOauthAppsSettings } from '../pageobjects/third-parties/GitOauthAppsSettings';
|
|
44
|
-
import { WorkspaceNameHandler } from '../utils/WorkspaceNameHandler';
|
|
45
35
|
import { Sanitizer } from '../utils/Sanitizer';
|
|
46
36
|
import { ApiUrlResolver } from '../utils/workspace/ApiUrlResolver';
|
|
47
37
|
import { ITestWorkspaceUtil } from '../utils/workspace/ITestWorkspaceUtil';
|
|
48
38
|
import { ProjectAndFileTests } from '../tests-library/ProjectAndFileTests';
|
|
49
39
|
import { LoginTests } from '../tests-library/LoginTests';
|
|
40
|
+
import { RedHatLoginPage } from '../pageobjects/login/RedHatLoginPage';
|
|
41
|
+
import { OcpRedHatLoginPage } from '../pageobjects/login/OcpRedHatLoginPage';
|
|
50
42
|
|
|
51
|
-
const e2eContainer: Container = new Container({
|
|
43
|
+
const e2eContainer: Container = new Container({defaultScope: 'Transient'});
|
|
52
44
|
|
|
53
45
|
e2eContainer.bind<IDriver>(TYPES.Driver).to(ChromeDriver).inSingletonScope();
|
|
54
46
|
e2eContainer.bind<ITestWorkspaceUtil>(TYPES.WorkspaceUtil).to(TestWorkspaceUtil);
|
|
55
47
|
e2eContainer.bind<IOcpLoginPage>(TYPES.OcpLogin).to(OcpUserLoginPage);
|
|
56
48
|
e2eContainer.bind<IAuthorizationHeaderHandler>(TYPES.IAuthorizationHeaderHandler).to(CheMultiuserAuthorizationHeaderHandler);
|
|
57
|
-
e2eContainer.bind<ITokenHandler>(TYPES.ITokenHandler).to(CheMultiuserTokenHandler);
|
|
58
|
-
|
|
59
|
-
if (JSON.parse(TestConstants.TS_SELENIUM_VALUE_OPENSHIFT_OAUTH)) {
|
|
60
|
-
e2eContainer.bind<ICheLoginPage>(TYPES.CheLogin).to(RegularUserOcpCheLoginPage);
|
|
61
|
-
} else {
|
|
62
|
-
e2eContainer.bind<ICheLoginPage>(TYPES.CheLogin).to(MultiUserLoginPage);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
49
|
e2eContainer.bind<BrowserTabsUtil>(CLASSES.BrowserTabsUtil).to(BrowserTabsUtil);
|
|
66
50
|
e2eContainer.bind<DriverHelper>(CLASSES.DriverHelper).to(DriverHelper);
|
|
67
51
|
e2eContainer.bind<Dashboard>(CLASSES.Dashboard).to(Dashboard);
|
|
68
52
|
e2eContainer.bind<Workspaces>(CLASSES.Workspaces).to(Workspaces);
|
|
69
53
|
e2eContainer.bind<WorkspaceDetails>(CLASSES.WorkspaceDetails).to(WorkspaceDetails);
|
|
70
|
-
e2eContainer.bind<WorkspaceDetailsPlugins>(CLASSES.WorkspaceDetailsPlugins).to(WorkspaceDetailsPlugins);
|
|
71
54
|
e2eContainer.bind<ScreenCatcher>(CLASSES.ScreenCatcher).to(ScreenCatcher);
|
|
72
55
|
e2eContainer.bind<OcpLoginPage>(CLASSES.OcpLoginPage).to(OcpLoginPage);
|
|
73
56
|
e2eContainer.bind<CheLoginPage>(CLASSES.CheLoginPage).to(CheLoginPage);
|
|
74
57
|
e2eContainer.bind<CheApiRequestHandler>(CLASSES.CheApiRequestHandler).to(CheApiRequestHandler);
|
|
75
|
-
e2eContainer.bind<CheGitApi>(CLASSES.CheGitApi).to(CheGitApi);
|
|
76
|
-
e2eContainer.bind<GitHubUtil>(CLASSES.GitHubUtil).to(GitHubUtil);
|
|
77
58
|
e2eContainer.bind<CreateWorkspace>(CLASSES.CreateWorkspace).to(CreateWorkspace);
|
|
78
|
-
e2eContainer.bind<UpdateAccountInformationPage>(CLASSES.UpdateAccountInformationPage).to(UpdateAccountInformationPage);
|
|
79
59
|
e2eContainer.bind<ProjectAndFileTests>(CLASSES.ProjectAndFileTests).to(ProjectAndFileTests);
|
|
80
60
|
e2eContainer.bind<LoginTests>(CLASSES.LoginTests).to(LoginTests);
|
|
81
|
-
e2eContainer.bind<WorkspaceNameHandler>(CLASSES.WorkspaceNameHandler).to(WorkspaceNameHandler);
|
|
82
|
-
e2eContainer.bind<GitLoginPage>(CLASSES.GitLoginPage).to(GitLoginPage);
|
|
83
|
-
e2eContainer.bind<GitOauthAppsSettings>(CLASSES.GitOauthAppsSettings).to(GitOauthAppsSettings);
|
|
84
61
|
e2eContainer.bind<Sanitizer>(CLASSES.Sanitizer).to(Sanitizer);
|
|
85
62
|
e2eContainer.bind<ApiUrlResolver>(CLASSES.ApiUrlResolver).to(ApiUrlResolver);
|
|
86
63
|
e2eContainer.bind<WorkspaceHandlingTests>(CLASSES.WorkspaceHandlingTests).to(WorkspaceHandlingTests);
|
|
87
64
|
|
|
65
|
+
TestConstants.TS_SELENIUM_VALUE_OPENSHIFT_OAUTH ?
|
|
66
|
+
e2eContainer.bind<ICheLoginPage>(TYPES.CheLogin).to(RegularUserOcpCheLoginPage) :
|
|
67
|
+
e2eContainer.bind<ICheLoginPage>(TYPES.CheLogin).to(OcpRedHatLoginPage);
|
|
68
|
+
|
|
69
|
+
if (TestConstants.TS_OCP_LOGIN_PAGE_PROVIDER_TITLE === 'DevSandbox') {
|
|
70
|
+
e2eContainer.bind<RedHatLoginPage>(CLASSES.RedHatLoginPage).to(RedHatLoginPage);
|
|
71
|
+
}
|
|
72
|
+
|
|
88
73
|
export { e2eContainer };
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
**********************************************************************/
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
const TYPES = {
|
|
12
|
+
const TYPES: any = {
|
|
13
13
|
Driver: Symbol.for('Driver'),
|
|
14
14
|
CheLogin: Symbol.for('CheLogin'),
|
|
15
15
|
OcpLogin: Symbol.for('OcpLogin'),
|
|
@@ -18,54 +18,24 @@ const TYPES = {
|
|
|
18
18
|
ITokenHandler: Symbol.for('ITokenHandler')
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
-
const CLASSES = {
|
|
21
|
+
const CLASSES: any = {
|
|
22
22
|
DriverHelper: 'DriverHelper',
|
|
23
23
|
Dashboard: 'Dashboard',
|
|
24
24
|
Workspaces: 'Workspaces',
|
|
25
|
-
NewWorkspace: 'NewWorkspace',
|
|
26
25
|
WorkspaceDetails: 'WorkspaceDetails',
|
|
27
|
-
WorkspaceDetailsPlugins: 'WorkspaceDetailsPlugins',
|
|
28
|
-
Ide: 'Ide',
|
|
29
|
-
ProjectTree: 'ProjectTree',
|
|
30
|
-
OpenEditors: 'OpenEditors',
|
|
31
|
-
Editor: 'Editor',
|
|
32
|
-
TopMenu: 'TopMenu',
|
|
33
|
-
QuickOpenContainer: 'QuickOpenContainer',
|
|
34
|
-
PreviewWidget: 'PreviewWidget',
|
|
35
|
-
GitHubPlugin: 'GitHubPlugin',
|
|
36
|
-
RightToolBar: 'RightToolBar',
|
|
37
|
-
LeftToolBar: 'LeftToolBar',
|
|
38
|
-
Terminal: 'Terminal',
|
|
39
|
-
DebugView: 'DebugView',
|
|
40
|
-
DialogWindow: 'DialogWindow',
|
|
41
26
|
ScreenCatcher: 'ScreenCatcher',
|
|
42
|
-
OpenshiftPlugin: 'OpenshiftPlugin',
|
|
43
27
|
OcpLoginPage: 'OcpLoginPage',
|
|
44
|
-
OpenWorkspaceWidget: 'OpenWorkspaceWidget',
|
|
45
|
-
ContextMenu: 'ContextMenu',
|
|
46
28
|
CheLoginPage: 'CheLoginPage',
|
|
47
|
-
GitHubUtil: 'GitHubUtil',
|
|
48
|
-
CheGitApi: 'CheGitApi',
|
|
49
|
-
GitPlugin: 'GitPlugin',
|
|
50
|
-
NotificationCenter: 'NotificationCenter',
|
|
51
29
|
CheApiRequestHandler: 'CheApiRequestHandler',
|
|
52
30
|
CreateWorkspace: 'CreateWorkspace',
|
|
53
|
-
OpenDialogWidget: 'OpenDialogWidget',
|
|
54
|
-
UpdateAccountInformationPage: 'UpdateAccountInformationPage',
|
|
55
|
-
KubernetesPlugin: 'KubernetesPlugin',
|
|
56
31
|
BrowserTabsUtil: 'BrowserTabsUtil',
|
|
57
|
-
PluginsView: 'PluginsView',
|
|
58
32
|
ProjectAndFileTests: 'ProjectAndFileTests',
|
|
59
|
-
WorkspaceNameHandler: 'WorkspaceNameHandler',
|
|
60
|
-
GitHubPullRequestPlugin: 'GitHubPullRequestPlugin',
|
|
61
|
-
GitLoginPage: 'GitLoginPage',
|
|
62
|
-
GitOauthAppsSettings: 'GitOauthAppsSettings',
|
|
63
|
-
AnimationChecker: 'AnimationChecker',
|
|
64
33
|
Sanitizer: 'Sanitizer',
|
|
65
|
-
NavigationBar: 'NavigationBar',
|
|
66
34
|
ApiUrlResolver: 'ApiUrlResolver',
|
|
67
35
|
LoginTests: 'LoginTests',
|
|
68
|
-
WorkspaceHandlingTests: 'WorkspaceHandlingTests'
|
|
36
|
+
WorkspaceHandlingTests: 'WorkspaceHandlingTests',
|
|
37
|
+
RedHatLoginPage: 'RedHatLoginPage',
|
|
38
|
+
OcpRedHatLoginPage: 'OcpRedHatLoginPage',
|
|
69
39
|
};
|
|
70
40
|
|
|
71
41
|
export { TYPES, CLASSES };
|
package/configs/mocharc.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
import { TestConstants } from '../constants/TestConstants';
|
|
4
|
+
|
|
3
5
|
module.exports = {
|
|
4
6
|
timeout: 1200000,
|
|
5
7
|
reporter: './dist/utils/CheReporter.js',
|
|
@@ -11,11 +13,15 @@ module.exports = {
|
|
|
11
13
|
bail: true,
|
|
12
14
|
'full-trace': true,
|
|
13
15
|
spec:
|
|
16
|
+
// variable MOCHA_DIRECTORY uses in command "test-all-devfiles" and sets up automatically.
|
|
17
|
+
// you can set it up to run files from specific directory with export environmental variable.
|
|
14
18
|
process.env.MOCHA_DIRECTORY ?
|
|
19
|
+
// to run one file (name without extension). uses in "test", "test-all-devfiles".
|
|
15
20
|
process.env.USERSTORY ?
|
|
16
21
|
`dist/specs/${process.env.MOCHA_DIRECTORY}/${process.env.USERSTORY}.spec.js`
|
|
17
22
|
: `dist/specs/${process.env.MOCHA_DIRECTORY}/**.spec.js`
|
|
18
|
-
:
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
: process.env.USERSTORY ?
|
|
24
|
+
[`dist/specs/**/${process.env.USERSTORY}.spec.js`, `dist/specs/${process.env.USERSTORY}.spec.js`]
|
|
25
|
+
: [`dist/specs/**/**.spec.js`, `dist/specs/**.spec.js`],
|
|
26
|
+
retries: TestConstants.TS_SELENIUM_DEFAULT_ATTEMPTS,
|
|
21
27
|
};
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
export TS_SELENIUM_VALUE_TLS_SUPPORT=${TS_SELENIUM_VALUE_TLS_SUPPORT:-"true"}
|
|
2
1
|
export TS_SELENIUM_VALUE_OPENSHIFT_OAUTH=${TS_SELENIUM_VALUE_OPENSHIFT_OAUTH:-"false"}
|
|
3
2
|
export E2E_OCP_CLUSTER_VERSION=${E2E_OCP_CLUSTER_VERSION:-"4.x"}
|
|
4
3
|
export TS_OCP_LOGIN_PAGE_PROVIDER_TITLE=${TS_OCP_LOGIN_PAGE_PROVIDER_TITLE:-"htpasswd"}
|
|
5
4
|
export TS_SELENIUM_LOG_LEVEL=${TS_SELENIUM_LOG_LEVEL:-"DEBUG"}
|
|
6
|
-
export TS_SELENIUM_USERNAME=${TS_SELENIUM_USERNAME:-"admin"}
|
|
7
|
-
export TS_SELENIUM_PASSWORD=${TS_SELENIUM_PASSWORD:-"admin"}
|
|
8
|
-
export TS_SELENIUM_MULTIUSER=${TS_SELENIUM_MULTIUSER:-"true"}
|
|
9
5
|
export TS_SELENIUM_W3C_CHROME_OPTION=${TS_SELENIUM_W3C_CHROME_OPTION:-"true"}
|
|
10
6
|
export NODE_TLS_REJECT_UNAUTHORIZED=${NODE_TLS_REJECT_UNAUTHORIZED:-0}
|
|
11
7
|
export TS_SELENIUM_EDITOR=${TS_SELENIUM_EDITOR:-"che-code"}
|
|
@@ -23,7 +19,6 @@ echo "E2E_OCP_CLUSTER_VERSION = ${E2E_OCP_CLUSTER_VERSION}"
|
|
|
23
19
|
echo "TS_SELENIUM_LOG_LEVEL = ${TS_SELENIUM_LOG_LEVEL}"
|
|
24
20
|
echo "TS_SELENIUM_USERNAME = ${TS_SELENIUM_USERNAME}"
|
|
25
21
|
echo "TS_SELENIUM_PASSWORD = ${TS_SELENIUM_PASSWORD}"
|
|
26
|
-
echo "TS_SELENIUM_MULTIUSER = ${TS_SELENIUM_MULTIUSER}"
|
|
27
22
|
echo "TS_SELENIUM_W3C_CHROME_OPTION = ${TS_SELENIUM_W3C_CHROME_OPTION}"
|
|
28
23
|
echo "NODE_TLS_REJECT_UNAUTHORIZED = ${NODE_TLS_REJECT_UNAUTHORIZED}"
|
|
29
24
|
echo "TS_SELENIUM_EDITOR = ${TS_SELENIUM_EDITOR}"
|
|
@@ -17,22 +17,18 @@ function getBaseUrl(): string {
|
|
|
17
17
|
return baseUrl.replace(/\/$/, '');
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
export enum
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
export enum GitProviderType {
|
|
21
|
+
GITHUB = 'github',
|
|
22
|
+
GITLAB = 'gitlab',
|
|
23
|
+
BITBUCKET = 'bitbucket'
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
export const TestConstants = {
|
|
26
|
+
export const TestConstants: any = {
|
|
26
27
|
/**
|
|
27
28
|
* Base URL of the application which should be checked
|
|
28
29
|
*/
|
|
29
30
|
TS_SELENIUM_BASE_URL: getBaseUrl(),
|
|
30
31
|
|
|
31
|
-
/**
|
|
32
|
-
* Base URl of web console OpenShift which uses to test OperatorHub.
|
|
33
|
-
*/
|
|
34
|
-
TS_SELENIUM_WEB_CONSOLE_OCP_URL: process.env.TS_SELENIUM_WEB_CONSOLE_OCP_URL || 'https://console-openshift-console.apps.',
|
|
35
|
-
|
|
36
32
|
/**
|
|
37
33
|
* Run browser in "Headless" (hiden) mode, "false" by default.
|
|
38
34
|
*/
|
|
@@ -61,9 +57,9 @@ export const TestConstants = {
|
|
|
61
57
|
|
|
62
58
|
/**
|
|
63
59
|
* Editor the tests are running against, "code" by default.
|
|
64
|
-
* Possible values: "che-code"
|
|
60
|
+
* Possible values: "che-code"
|
|
65
61
|
*/
|
|
66
|
-
TS_SELENIUM_EDITOR: process.env.TS_SELENIUM_EDITOR ||
|
|
62
|
+
TS_SELENIUM_EDITOR: process.env.TS_SELENIUM_EDITOR || 'che-code',
|
|
67
63
|
|
|
68
64
|
/**
|
|
69
65
|
* Base version of VSCode editor for monaco-page-objects, "1.37.0" by default.
|
|
@@ -78,7 +74,7 @@ export const TestConstants = {
|
|
|
78
74
|
TS_SELENIUM_MONACO_PAGE_OBJECTS_USE_VERSION: process.env.TS_SELENIUM_MONACO_PAGE_OBJECTS_USE_VERSION || '1.73.0',
|
|
79
75
|
|
|
80
76
|
/**
|
|
81
|
-
* Default
|
|
77
|
+
* Default amount of tries, "5" by default.
|
|
82
78
|
*/
|
|
83
79
|
TS_SELENIUM_DEFAULT_ATTEMPTS: Number(process.env.TS_SELENIUM_DEFAULT_ATTEMPTS) || 5,
|
|
84
80
|
|
|
@@ -97,26 +93,16 @@ export const TestConstants = {
|
|
|
97
93
|
*/
|
|
98
94
|
TS_SELENIUM_WORKSPACE_STATUS_POLLING: Number(process.env.TS_SELENIUM_WORKSPACE_STATUS_POLLING) || 10000,
|
|
99
95
|
|
|
100
|
-
/**
|
|
101
|
-
* Amount of tries for checking plugin precence.
|
|
102
|
-
*/
|
|
103
|
-
TS_SELENIUM_PLUGIN_PRECENCE_ATTEMPTS: Number(process.env.TS_SELENIUM_PLUGIN_PRECENCE_ATTEMPTS) || 20,
|
|
104
|
-
|
|
105
96
|
/**
|
|
106
97
|
* Name of workspace created for 'Happy Path' scenario validation.
|
|
107
98
|
*/
|
|
108
|
-
TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME: process.env.TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME || '
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Using 'single-host' strategy, "false" by default.
|
|
112
|
-
*/
|
|
113
|
-
TS_SELENIUM_SINGLE_HOST: process.env.TS_SELENIUM_SINGLE_HOST === 'true',
|
|
99
|
+
TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME: process.env.TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME || 'EmptyWorkspace',
|
|
114
100
|
|
|
115
101
|
/**
|
|
116
102
|
* Value of OpenShift oAuth property determines how to login in installed application,
|
|
117
103
|
* if 'false' as an user of application, if 'true' as a regular user of OCP.
|
|
118
104
|
*/
|
|
119
|
-
TS_SELENIUM_VALUE_OPENSHIFT_OAUTH: process.env.TS_SELENIUM_VALUE_OPENSHIFT_OAUTH
|
|
105
|
+
TS_SELENIUM_VALUE_OPENSHIFT_OAUTH: process.env.TS_SELENIUM_VALUE_OPENSHIFT_OAUTH === 'true',
|
|
120
106
|
|
|
121
107
|
/**
|
|
122
108
|
* Username used to log in MultiUser Che.
|
|
@@ -148,21 +134,6 @@ export const TestConstants = {
|
|
|
148
134
|
*/
|
|
149
135
|
TS_SELENIUM_OCP_PASSWORD: process.env.TS_SELENIUM_OCP_PASSWORD || '',
|
|
150
136
|
|
|
151
|
-
/**
|
|
152
|
-
* Email of regular user OpenShift to login CHE.
|
|
153
|
-
*/
|
|
154
|
-
TS_SELENIUM_EMAIL_USER: process.env.TS_SELENIUM_EMAIL_USER || 'test@test.com',
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* First name of regular user OpenShift to login CHE.
|
|
158
|
-
*/
|
|
159
|
-
TS_SELENIUM_FIRST_NAME: process.env.TS_SELENIUM_FIRST_NAME || 'qa',
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Last name of regular user Openshift to login CHE.
|
|
163
|
-
*/
|
|
164
|
-
TS_SELENIUM_LAST_NAME: process.env.TS_SELENIUM_LAST_NAME || 'test',
|
|
165
|
-
|
|
166
137
|
/**
|
|
167
138
|
* Delay between screenshots catching in the milliseconds for the execution screencast.
|
|
168
139
|
*/
|
|
@@ -211,86 +182,53 @@ export const TestConstants = {
|
|
|
211
182
|
/**
|
|
212
183
|
* Running test suite - possible variants can be found in package.json scripts part.
|
|
213
184
|
*/
|
|
214
|
-
TEST_SUITE: process.env.TEST_SUITE || '
|
|
185
|
+
TEST_SUITE: process.env.TEST_SUITE || 'userstory',
|
|
215
186
|
|
|
216
187
|
/**
|
|
217
|
-
*
|
|
188
|
+
* Print all timeout variables when tests launch, default to false
|
|
218
189
|
*/
|
|
219
|
-
|
|
190
|
+
TS_SELENIUM_PRINT_TIMEOUT_VARIABLES: process.env.TS_SELENIUM_PRINT_TIMEOUT_VARIABLES || false,
|
|
220
191
|
|
|
221
192
|
/**
|
|
222
|
-
*
|
|
193
|
+
* URL of the workspace created by devworkspace-controller
|
|
223
194
|
*/
|
|
224
|
-
|
|
195
|
+
TS_SELENIUM_DEVWORKSPACE_URL: process.env.TS_SELENIUM_DEVWORKSPACE_URL,
|
|
225
196
|
|
|
226
197
|
/**
|
|
227
|
-
*
|
|
198
|
+
* This variable specifies that run test is used for load testing and that all artifacts will be sent to ftp client.
|
|
228
199
|
*/
|
|
229
|
-
|
|
200
|
+
TS_LOAD_TESTS: process.env.TS_LOAD_TESTS || 'false',
|
|
230
201
|
|
|
231
202
|
/**
|
|
232
|
-
*
|
|
203
|
+
* Constant, which prolong timeout constants for local debug.
|
|
233
204
|
*/
|
|
234
|
-
|
|
205
|
+
TS_DEBUG_MODE: process.env.TS_DEBUG_MODE === 'true',
|
|
235
206
|
|
|
236
|
-
|
|
237
|
-
* Login for a user whom has been created in the test Openshift cluster. Need for Openshift connector test
|
|
238
|
-
*/
|
|
239
|
-
TS_TEST_OPENSHIFT_PLUGIN_USERNAME: process.env.TS_TEST_OPENSHIFT_PLUGIN_USERNAME || '',
|
|
207
|
+
E2E_OCP_CLUSTER_VERSION: process.env.E2E_OCP_CLUSTER_VERSION || '4.x',
|
|
240
208
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
209
|
+
/* -------------------------------------------
|
|
210
|
+
| The factory tests related constants
|
|
211
|
+
----------------------------------------------*/
|
|
212
|
+
TS_SELENIUM_FACTORY_GIT_PROVIDER: process.env.TS_SELENIUM_FACTORY_GIT_PROVIDER || GitProviderType.GITHUB,
|
|
245
213
|
|
|
246
|
-
|
|
247
|
-
* The name of project in the Openshift plugin tree
|
|
248
|
-
*/
|
|
249
|
-
TS_TEST_OPENSHIFT_PLUGIN_PROJECT: process.env.TS_TEST_OPENSHIFT_PLUGIN_PROJECT || '',
|
|
214
|
+
TS_SELENIUM_FACTORY_GIT_REPO_URL: process.env.TS_SELENIUM_FACTORY_GIT_REPO_URL || '',
|
|
250
215
|
|
|
251
|
-
|
|
252
|
-
* The name of the Openshift connector plugin component type
|
|
253
|
-
*/
|
|
254
|
-
TS_TEST_OPENSHIFT_PLUGIN_COMPONENT_TYPE: process.env.TS_TEST_OPENSHIFT_PLUGIN_COMPONENT_TYPE || 'nodejs (s2i)',
|
|
216
|
+
TS_SELENIUM_IS_PRIVATE_FACTORY_GIT_REPO: true,
|
|
255
217
|
|
|
218
|
+
TS_SELENIUM_FACTORY_GIT_REPO_BRANCH: process.env.TS_SELENIUM_FACTORY_GIT_REPO_BRANCH || 'master',
|
|
256
219
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
TS_TEST_OPENSHIFT_PLUGIN_COMPONENT_VERSION: process.env.TS_TEST_OPENSHIFT_PLUGIN_COMPONENT_VERSION || 'latest',
|
|
220
|
+
TS_SELENIUM_FACTORY_URL(): string {
|
|
221
|
+
return process.env.TS_SELENIUM_FACTORY_URL || TestConstants.TS_SELENIUM_BASE_URL + '/dashboard/#/' + this.TS_SELENIUM_FACTORY_GIT_REPO_URL;
|
|
222
|
+
},
|
|
261
223
|
|
|
262
|
-
|
|
263
|
-
* Print all timeout variables when tests launch, defaulte to false
|
|
264
|
-
*/
|
|
265
|
-
TS_SELENIUM_PRINT_TIMEOUT_VARIABLES: process.env.TS_SELENIUM_PRINT_TIMEOUT_VARIABLES || false,
|
|
224
|
+
TS_SELENIUM_GIT_PROVIDER_USERNAME: process.env.TS_SELENIUM_GIT_PROVIDER_USERNAME || '',
|
|
266
225
|
|
|
267
|
-
|
|
268
|
-
* URL of the workspace created by devworkspace-controller
|
|
269
|
-
*/
|
|
270
|
-
TS_SELENIUM_DEVWORKSPACE_URL: process.env.TS_SELENIUM_DEVWORKSPACE_URL,
|
|
226
|
+
TS_SELENIUM_GIT_PROVIDER_PASSWORD: process.env.TS_SELENIUM_GIT_PROVIDER_PASSWORD || '',
|
|
271
227
|
|
|
272
|
-
|
|
273
|
-
* This variable specifies that run test is used for load testing and that all artifacts will be sent to ftp client.
|
|
274
|
-
*/
|
|
275
|
-
TS_LOAD_TESTS: process.env.TS_LOAD_TESTS || 'false',
|
|
228
|
+
TS_SELENIUM_GIT_PROVIDER_IS_LDAP_LOGIN: process.env.TS_SELENIUM_GIT_PROVIDER_IS_LDAP_LOGIN || false,
|
|
276
229
|
|
|
277
|
-
|
|
278
|
-
* This variable determines whether to delete the workspace after the test or leave the workspace running.
|
|
279
|
-
*/
|
|
280
|
-
TS_DELETE_PLUGINS_TEST_WORKSPACE: process.env.TS_DELETE_PLUGINS_TEST_WORKSPACE || 'true',
|
|
230
|
+
TS_SELENIUM_GIT_PROVIDER_OAUTH: process.env.TS_SELENIUM_GIT_PROVIDER_OAUTH || false,
|
|
281
231
|
|
|
282
|
-
|
|
283
|
-
* URL of Gogs self-hosted Git server.
|
|
284
|
-
*/
|
|
285
|
-
TS_SELF_HOSTED_GIT_SERVER_URL: process.env.TS_SELF_HOSTED_GIT_SERVER_URL || '10.0.104.86:10080',
|
|
232
|
+
TS_SELENIUM_PROJECT_ROOT_FILE_NAME: process.env.TS_SELENIUM_PROJECT_ROOT_FILE_NAME || 'devfile.yaml',
|
|
286
233
|
|
|
287
|
-
/**
|
|
288
|
-
* URL of workspace devfile test repository.
|
|
289
|
-
*/
|
|
290
|
-
TS_TEST_WORKSPACE_DEVFILE_REPO: process.env.TS_TEST_WORKSPACE_DEVFILE_REPO || '',
|
|
291
|
-
|
|
292
|
-
/**
|
|
293
|
-
* Constant, which prolong timeout constants for local debug.
|
|
294
|
-
*/
|
|
295
|
-
TS_DEBUG_MODE: process.env.TS_DEBUG_MODE || false
|
|
296
234
|
};
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
**********************************************************************/
|
|
10
10
|
|
|
11
|
-
export const TimeoutConstants = {
|
|
11
|
+
export const TimeoutConstants: any = {
|
|
12
12
|
// -------------------------------------------- INSTALLING AND STARTUP --------------------------------------------
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -18,64 +18,49 @@ const TestWorkspaceUtil_1 = require("../utils/workspace/TestWorkspaceUtil");
|
|
|
18
18
|
const OcpUserLoginPage_1 = require("../pageobjects/login/OcpUserLoginPage");
|
|
19
19
|
const TestConstants_1 = require("../constants/TestConstants");
|
|
20
20
|
const RegularUserOcpCheLoginPage_1 = require("../pageobjects/login/RegularUserOcpCheLoginPage");
|
|
21
|
-
const MultiUserLoginPage_1 = require("../pageobjects/login/MultiUserLoginPage");
|
|
22
21
|
const DriverHelper_1 = require("../utils/DriverHelper");
|
|
23
22
|
const Dashboard_1 = require("../pageobjects/dashboard/Dashboard");
|
|
24
23
|
const Workspaces_1 = require("../pageobjects/dashboard/Workspaces");
|
|
25
24
|
const WorkspaceDetails_1 = require("../pageobjects/dashboard/workspace-details/WorkspaceDetails");
|
|
26
|
-
const WorkspaceDetailsPlugins_1 = require("../pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins");
|
|
27
25
|
const ScreenCatcher_1 = require("../utils/ScreenCatcher");
|
|
28
26
|
const OcpLoginPage_1 = require("../pageobjects/openshift/OcpLoginPage");
|
|
29
27
|
const CheLoginPage_1 = require("../pageobjects/openshift/CheLoginPage");
|
|
30
28
|
const CheMultiuserAuthorizationHeaderHandler_1 = require("../utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler");
|
|
31
|
-
const CheMultiuserTokenHandler_1 = require("../utils/request-handlers/tokens/CheMultiuserTokenHandler");
|
|
32
29
|
const CheApiRequestHandler_1 = require("../utils/request-handlers/CheApiRequestHandler");
|
|
33
|
-
const CheGitApi_1 = require("../utils/vsc/CheGitApi");
|
|
34
|
-
const GitHubUtil_1 = require("../utils/vsc/github/GitHubUtil");
|
|
35
30
|
const CreateWorkspace_1 = require("../pageobjects/dashboard/CreateWorkspace");
|
|
36
|
-
const UpdateAccountInformationPage_1 = require("../pageobjects/login/UpdateAccountInformationPage");
|
|
37
31
|
const BrowserTabsUtil_1 = require("../utils/BrowserTabsUtil");
|
|
38
32
|
const WorkspaceHandlingTests_1 = require("../tests-library/WorkspaceHandlingTests");
|
|
39
|
-
const GitLoginPage_1 = require("../pageobjects/third-parties/GitLoginPage");
|
|
40
|
-
const GitOauthAppsSettings_1 = require("../pageobjects/third-parties/GitOauthAppsSettings");
|
|
41
|
-
const WorkspaceNameHandler_1 = require("../utils/WorkspaceNameHandler");
|
|
42
33
|
const Sanitizer_1 = require("../utils/Sanitizer");
|
|
43
34
|
const ApiUrlResolver_1 = require("../utils/workspace/ApiUrlResolver");
|
|
44
35
|
const ProjectAndFileTests_1 = require("../tests-library/ProjectAndFileTests");
|
|
45
36
|
const LoginTests_1 = require("../tests-library/LoginTests");
|
|
37
|
+
const RedHatLoginPage_1 = require("../pageobjects/login/RedHatLoginPage");
|
|
38
|
+
const OcpRedHatLoginPage_1 = require("../pageobjects/login/OcpRedHatLoginPage");
|
|
46
39
|
const e2eContainer = new inversify_1.Container({ defaultScope: 'Transient' });
|
|
47
40
|
exports.e2eContainer = e2eContainer;
|
|
48
41
|
e2eContainer.bind(inversify_types_1.TYPES.Driver).to(ChromeDriver_1.ChromeDriver).inSingletonScope();
|
|
49
42
|
e2eContainer.bind(inversify_types_1.TYPES.WorkspaceUtil).to(TestWorkspaceUtil_1.TestWorkspaceUtil);
|
|
50
43
|
e2eContainer.bind(inversify_types_1.TYPES.OcpLogin).to(OcpUserLoginPage_1.OcpUserLoginPage);
|
|
51
44
|
e2eContainer.bind(inversify_types_1.TYPES.IAuthorizationHeaderHandler).to(CheMultiuserAuthorizationHeaderHandler_1.CheMultiuserAuthorizationHeaderHandler);
|
|
52
|
-
e2eContainer.bind(inversify_types_1.TYPES.ITokenHandler).to(CheMultiuserTokenHandler_1.CheMultiuserTokenHandler);
|
|
53
|
-
if (JSON.parse(TestConstants_1.TestConstants.TS_SELENIUM_VALUE_OPENSHIFT_OAUTH)) {
|
|
54
|
-
e2eContainer.bind(inversify_types_1.TYPES.CheLogin).to(RegularUserOcpCheLoginPage_1.RegularUserOcpCheLoginPage);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
e2eContainer.bind(inversify_types_1.TYPES.CheLogin).to(MultiUserLoginPage_1.MultiUserLoginPage);
|
|
58
|
-
}
|
|
59
45
|
e2eContainer.bind(inversify_types_1.CLASSES.BrowserTabsUtil).to(BrowserTabsUtil_1.BrowserTabsUtil);
|
|
60
46
|
e2eContainer.bind(inversify_types_1.CLASSES.DriverHelper).to(DriverHelper_1.DriverHelper);
|
|
61
47
|
e2eContainer.bind(inversify_types_1.CLASSES.Dashboard).to(Dashboard_1.Dashboard);
|
|
62
48
|
e2eContainer.bind(inversify_types_1.CLASSES.Workspaces).to(Workspaces_1.Workspaces);
|
|
63
49
|
e2eContainer.bind(inversify_types_1.CLASSES.WorkspaceDetails).to(WorkspaceDetails_1.WorkspaceDetails);
|
|
64
|
-
e2eContainer.bind(inversify_types_1.CLASSES.WorkspaceDetailsPlugins).to(WorkspaceDetailsPlugins_1.WorkspaceDetailsPlugins);
|
|
65
50
|
e2eContainer.bind(inversify_types_1.CLASSES.ScreenCatcher).to(ScreenCatcher_1.ScreenCatcher);
|
|
66
51
|
e2eContainer.bind(inversify_types_1.CLASSES.OcpLoginPage).to(OcpLoginPage_1.OcpLoginPage);
|
|
67
52
|
e2eContainer.bind(inversify_types_1.CLASSES.CheLoginPage).to(CheLoginPage_1.CheLoginPage);
|
|
68
53
|
e2eContainer.bind(inversify_types_1.CLASSES.CheApiRequestHandler).to(CheApiRequestHandler_1.CheApiRequestHandler);
|
|
69
|
-
e2eContainer.bind(inversify_types_1.CLASSES.CheGitApi).to(CheGitApi_1.CheGitApi);
|
|
70
|
-
e2eContainer.bind(inversify_types_1.CLASSES.GitHubUtil).to(GitHubUtil_1.GitHubUtil);
|
|
71
54
|
e2eContainer.bind(inversify_types_1.CLASSES.CreateWorkspace).to(CreateWorkspace_1.CreateWorkspace);
|
|
72
|
-
e2eContainer.bind(inversify_types_1.CLASSES.UpdateAccountInformationPage).to(UpdateAccountInformationPage_1.UpdateAccountInformationPage);
|
|
73
55
|
e2eContainer.bind(inversify_types_1.CLASSES.ProjectAndFileTests).to(ProjectAndFileTests_1.ProjectAndFileTests);
|
|
74
56
|
e2eContainer.bind(inversify_types_1.CLASSES.LoginTests).to(LoginTests_1.LoginTests);
|
|
75
|
-
e2eContainer.bind(inversify_types_1.CLASSES.WorkspaceNameHandler).to(WorkspaceNameHandler_1.WorkspaceNameHandler);
|
|
76
|
-
e2eContainer.bind(inversify_types_1.CLASSES.GitLoginPage).to(GitLoginPage_1.GitLoginPage);
|
|
77
|
-
e2eContainer.bind(inversify_types_1.CLASSES.GitOauthAppsSettings).to(GitOauthAppsSettings_1.GitOauthAppsSettings);
|
|
78
57
|
e2eContainer.bind(inversify_types_1.CLASSES.Sanitizer).to(Sanitizer_1.Sanitizer);
|
|
79
58
|
e2eContainer.bind(inversify_types_1.CLASSES.ApiUrlResolver).to(ApiUrlResolver_1.ApiUrlResolver);
|
|
80
59
|
e2eContainer.bind(inversify_types_1.CLASSES.WorkspaceHandlingTests).to(WorkspaceHandlingTests_1.WorkspaceHandlingTests);
|
|
60
|
+
TestConstants_1.TestConstants.TS_SELENIUM_VALUE_OPENSHIFT_OAUTH ?
|
|
61
|
+
e2eContainer.bind(inversify_types_1.TYPES.CheLogin).to(RegularUserOcpCheLoginPage_1.RegularUserOcpCheLoginPage) :
|
|
62
|
+
e2eContainer.bind(inversify_types_1.TYPES.CheLogin).to(OcpRedHatLoginPage_1.OcpRedHatLoginPage);
|
|
63
|
+
if (TestConstants_1.TestConstants.TS_OCP_LOGIN_PAGE_PROVIDER_TITLE === 'DevSandbox') {
|
|
64
|
+
e2eContainer.bind(inversify_types_1.CLASSES.RedHatLoginPage).to(RedHatLoginPage_1.RedHatLoginPage);
|
|
65
|
+
}
|
|
81
66
|
//# sourceMappingURL=inversify.config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inversify.config.js","sourceRoot":"","sources":["../../configs/inversify.config.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;AAExE,4BAA0B;AAC1B,yCAAsC;AAEtC,yDAAsD;AACtD,uDAAmD;AACnD,4EAAyE;AAEzE,4EAAyE;AACzE,8DAA2D;AAE3D,gGAA6F;AAC7F,
|
|
1
|
+
{"version":3,"file":"inversify.config.js","sourceRoot":"","sources":["../../configs/inversify.config.ts"],"names":[],"mappings":"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"}
|