@eclipse-che/che-e2e 7.64.0-dev-20514b2 → 7.64.0-dev-db63138
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 +3 -33
- package/configs/mocharc.ts +9 -3
- package/configs/sh-scripts/initDefaultValues.sh +0 -5
- package/constants/TestConstants.ts +34 -96
- 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/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 +3 -11
- 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/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 +3 -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/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/request-handlers/CheApiRequestHandler.js +1 -1
- package/dist/utils/request-handlers/CheApiRequestHandler.js.map +1 -1
- package/dist/utils/vsc/GitUtil.js +41 -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 +2 -192
- package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -1
- package/driver/ChromeDriver.ts +1 -1
- package/index.ts +37 -0
- package/package.json +9 -5
- package/pageobjects/dashboard/CreateWorkspace.ts +4 -15
- package/pageobjects/dashboard/Dashboard.ts +29 -4
- package/pageobjects/dashboard/Workspaces.ts +1 -3
- 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/RedHatLoginPage.ts +62 -0
- package/pageobjects/login/RegularUserOcpCheLoginPage.ts +1 -20
- package/pageobjects/openshift/CheLoginPage.ts +6 -55
- package/pageobjects/openshift/OcpLoginPage.ts +0 -21
- package/specs/MochaHooks.ts +2 -2
- 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 +3 -7
- package/utils/BrowserTabsUtil.ts +2 -24
- package/utils/DriverHelper.ts +9 -84
- package/utils/Logger.ts +5 -0
- package/utils/Sanitizer.ts +0 -1
- package/utils/request-handlers/CheApiRequestHandler.ts +1 -1
- package/utils/vsc/GitUtil.ts +28 -0
- package/utils/workspace/ApiUrlResolver.ts +0 -4
- package/utils/workspace/ITestWorkspaceUtil.ts +1 -56
- package/utils/workspace/TestWorkspaceUtil.ts +2 -243
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestWorkspaceUtil.js","sourceRoot":"","sources":["../../../utils/workspace/TestWorkspaceUtil.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TestWorkspaceUtil.js","sourceRoot":"","sources":["../../../utils/workspace/TestWorkspaceUtil.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;;;;;;;;;;;;;;AAExE,4BAA0B;AAC1B,iEAA8D;AAC9D,yCAA+C;AAC/C,kDAA+C;AAC/C,uDAAoD;AACpD,2DAA2C;AAC3C,mFAAgF;AAChF,mEAAwD;AACxD,sCAAmC;AACnC,kDAA0B;AAE1B,qDAAkD;AAGlD,IAAa,iBAAiB,GAA9B,MAAa,iBAAiB;IAI1B,YACmD,YAA0B,EAClB,qBAA2C,EACjD,cAA8B;QAFhC,iBAAY,GAAZ,YAAY,CAAc;QAClB,0BAAqB,GAArB,qBAAqB,CAAsB;QACjD,mBAAc,GAAd,cAAc,CAAgB;QAN1E,aAAQ,GAAW,6BAAa,CAAC,qCAAqC,CAAC;QACvE,YAAO,GAAW,6BAAa,CAAC,oCAAoC,CAAC;IAM1E,CAAC;IAEE,KAAK,CAAC,mBAAmB,CAAC,aAAqB,EAAE,uBAAwC;QAC5F,eAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAEtD,IAAI,eAAe,GAAW,EAAE,CAAC;QACjC,IAAI,cAAc,GAAY,KAAK,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;YAEnH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,4CAA4C,QAAQ,CAAC,MAAM,UAAU,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;aACzG;YAED,eAAe,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAEnD,IAAI,eAAe,KAAK,uBAAuB,EAAE;gBAC7C,cAAc,GAAG,IAAI,CAAC;gBACtB,MAAM;aACT;YAED,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9C;QAED,IAAI,CAAC,cAAc,EAAE;YACjB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5C,MAAM,IAAI,0BAAK,CAAC,YAAY,CAAC,oCAAoC,QAAQ,2BAA2B,eAAe,EAAE,CAAC,CAAC;SAC1H;IACL,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,aAAqB;QAClD,eAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAEtD,MAAM,mBAAmB,GAAW,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAChG,IAAI,qBAAqB,CAAC;QAE1B,IAAI;YACA,qBAAqB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;SACrJ;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,yCAAyC,mBAAmB,EAAE,CAAC,CAAC;YAC5E,MAAM,GAAG,CAAC;SACb;QAED,IAAI,qBAAqB,CAAC,MAAM,KAAK,GAAG,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,gCAAgC,qBAAqB,CAAC,MAAM,UAAU,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC;SACvH;QAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,iCAAe,CAAC,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,0EAA0E;IACnE,KAAK,CAAC,qBAAqB,CAAC,aAAqB;;QACpD,eAAM,CAAC,KAAK,CAAC,2CAA2C,aAAa,EAAE,CAAE,CAAC;QAE1E,MAAM,qBAAqB,GAAW,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAClG,IAAI,uBAAuB,CAAC;QAC5B,IAAI,qBAAqB,GAAY,KAAK,CAAC;QAC3C,IAAI;YACA,uBAAuB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;SAC5F;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,OAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;gBAC7D,eAAM,CAAC,KAAK,CAAC,kBAAkB,aAAa,YAAY,CAAC,CAAC;gBAC1D,MAAM,KAAK,CAAC;aACf;YACD,eAAM,CAAC,KAAK,CAAC,2CAA2C,qBAAqB,EAAE,CAAC,CAAC;YACjF,MAAM,KAAK,CAAC;SACf;QAED,IAAI,uBAAuB,CAAC,MAAM,KAAK,GAAG,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,mCAAmC,uBAAuB,CAAC,MAAM,UAAU,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC;SAC9H;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI;gBACA,uBAAuB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;aACzF;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,OAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;oBAC7D,qBAAqB,GAAG,IAAI,CAAC;oBAC7B,MAAM;iBACT;aACJ;SACJ;QAED,IAAI,CAAC,qBAAqB,EAAE;YACxB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5C,MAAM,IAAI,0BAAK,CAAC,YAAY,CAAC,oCAAoC,QAAQ,MAAM,CAAC,CAAC;SACpF;IACL,CAAC;IAED,8DAA8D;IACvD,KAAK,CAAC,4BAA4B,CAAC,aAAqB;QAC3D,eAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAE/D,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAED,2CAA2C;IACpC,KAAK,CAAC,wBAAwB,CAAC,SAAiB;QACnD,eAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACrD,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACrG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,eAAM,CAAC,IAAI,CAAC,gCAAgC,GAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtF,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACxE;IACL,CAAC;IAED,oEAAoE;IAC7D,KAAK,CAAC,iCAAiC,CAAC,SAAiB;QAC5D,eAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC9D,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACrG,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,eAAM,CAAC,IAAI,CAAC,gCAAgC,GAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtF,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAC1E;IACL,CAAC;IAED,8EAA8E;IAC9E,gCAAgC;IACzB,KAAK,CAAC,mBAAmB,CAAC,SAAiB;QAC9C,eAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACvD,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAErG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,eAAM,CAAC,IAAI,CAAC,wCAAwC,GAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9F,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAC1E;IACL,CAAC;CACJ,CAAA;AAzIY,iBAAiB;IAD7B,sBAAU,EAAE;IAMJ,WAAA,kBAAM,CAAC,yBAAO,CAAC,YAAY,CAAC,CAAA;IAC5B,WAAA,kBAAM,CAAC,yBAAO,CAAC,oBAAoB,CAAC,CAAA;IACpC,WAAA,kBAAM,CAAC,yBAAO,CAAC,cAAc,CAAC,CAAA;qCAF8B,2BAAY;QACK,2CAAoB;QACjC,+BAAc;GAP1E,iBAAiB,CAyI7B;AAzIY,8CAAiB"}
|
package/driver/ChromeDriver.ts
CHANGED
|
@@ -54,7 +54,7 @@ export class ChromeDriver implements IDriver {
|
|
|
54
54
|
.forBrowser('chrome')
|
|
55
55
|
.setChromeOptions(options);
|
|
56
56
|
|
|
57
|
-
// if 'false' w3c
|
|
57
|
+
// if 'false' w3c protocol is disabled
|
|
58
58
|
if (! TestConstants.TS_SELENIUM_W3C_CHROME_OPTION) {
|
|
59
59
|
builder.withCapabilities(disableW3copts)
|
|
60
60
|
.forBrowser('chrome')
|
package/index.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as inversifyConfig from './configs/inversify.config';
|
|
2
|
+
export { inversifyConfig };
|
|
3
|
+
export * from './configs/inversify.types';
|
|
4
|
+
export * from './constants/TestConstants';
|
|
5
|
+
export * from './constants/TimeoutConstants';
|
|
6
|
+
export * from './driver/ChromeDriver';
|
|
7
|
+
export * from './driver/IDriver';
|
|
8
|
+
export * from './utils/BrowserTabsUtil';
|
|
9
|
+
export * from './utils/DriverHelper';
|
|
10
|
+
export * from './utils/Logger';
|
|
11
|
+
export * from './utils/Sanitizer';
|
|
12
|
+
export * from './utils/ScreenCatcher';
|
|
13
|
+
export * from './utils/request-handlers/CheApiRequestHandler';
|
|
14
|
+
export * from './utils/request-handlers/headers/CheMultiuserAuthorizationHeaderHandler';
|
|
15
|
+
export * from './utils/request-handlers/headers/IAuthorizationHeaderHandler';
|
|
16
|
+
export * from './utils/vsc/GitUtil';
|
|
17
|
+
export * from './utils/workspace/ApiUrlResolver';
|
|
18
|
+
export * from './utils/workspace/ITestWorkspaceUtil';
|
|
19
|
+
export * from './utils/workspace/TestWorkspaceUtil';
|
|
20
|
+
export * from './utils/workspace/WorkspaceStatus';
|
|
21
|
+
export * from './pageobjects/dashboard/CreateWorkspace';
|
|
22
|
+
export * from './pageobjects/dashboard/Dashboard';
|
|
23
|
+
export * from './pageobjects/dashboard/Workspaces';
|
|
24
|
+
export * from './pageobjects/dashboard/workspace-details/WorkspaceDetails';
|
|
25
|
+
export * from './pageobjects/git-providers/OauthPage';
|
|
26
|
+
export * from './pageobjects/ide/CheCodeLocatorLoader';
|
|
27
|
+
export * from './pageobjects/login/ICheLoginPage';
|
|
28
|
+
export * from './pageobjects/login/IOcpLoginPage';
|
|
29
|
+
export * from './pageobjects/login/OcpRedHatLoginPage';
|
|
30
|
+
export * from './pageobjects/login/OcpUserLoginPage';
|
|
31
|
+
export * from './pageobjects/login/RedHatLoginPage';
|
|
32
|
+
export * from './pageobjects/login/RegularUserOcpCheLoginPage';
|
|
33
|
+
export * from './pageobjects/openshift/CheLoginPage';
|
|
34
|
+
export * from './pageobjects/openshift/OcpLoginPage';
|
|
35
|
+
export * from './tests-library/LoginTests';
|
|
36
|
+
export * from './tests-library/ProjectAndFileTests';
|
|
37
|
+
export * from './tests-library/WorkspaceHandlingTests';
|
package/package.json
CHANGED
|
@@ -1,26 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-che/che-e2e",
|
|
3
|
-
"version": "7.64.0-dev-
|
|
3
|
+
"version": "7.64.0-dev-db63138",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"lint": "tslint --fix -p .",
|
|
8
|
-
"tsc": "tsc -p .",
|
|
8
|
+
"tsc": "./configs/sh-scripts/generateIndex.sh && tsc -p .",
|
|
9
|
+
"test": "./configs/sh-scripts/initDefaultValues.sh npm run lint && npm run tsc && export USERSTORY=$USERSTORY && mocha --config dist/configs/mocharc.js",
|
|
9
10
|
"cleanup-docker": "if [ $(docker ps -a | grep -c selenium-e2e) -gt 0 ]; then docker rm -f $(docker ps --filter \"name=selenium-e2e\" -aq); fi;",
|
|
10
11
|
"test-docker": "npm run cleanup-docker && docker run -it --shm-size=2g -p 5920:5920 --name selenium-e2e -e TS_SELENIUM_BASE_URL=$TS_SELENIUM_BASE_URL eclipse/che-e2e:nightly",
|
|
11
12
|
"test-docker-mount-e2e": "npm run cleanup-docker && docker run -it --shm-size=2g -p 5920:5920 --name selenium-e2e -e TS_SELENIUM_BASE_URL=$TS_SELENIUM_BASE_URL -v $(pwd):/tmp/e2e:Z eclipse/che-e2e:nightly",
|
|
12
|
-
"test-all-devfiles": "
|
|
13
|
-
"test-regression": "./configs/sh-scripts/generateIndex.sh && ./configs/sh-scripts/initDefaultValues.sh npm run lint && npm run tsc && mocha --config dist/configs/mocharc.js"
|
|
13
|
+
"test-all-devfiles": " ./configs/sh-scripts/initDefaultValues.sh && ./configs/sh-scripts/initDevfileTests.sh"
|
|
14
14
|
},
|
|
15
15
|
"author": "Ihor Okhrimenko (iokhrime@redhat.com)",
|
|
16
16
|
"license": "ISC",
|
|
17
17
|
"devDependencies": {
|
|
18
|
+
"@types/chai": "^4.3.4",
|
|
19
|
+
"@types/clone-deep": "^4.0.1",
|
|
18
20
|
"@types/mocha": "5.2.6",
|
|
19
21
|
"@types/node": "11.13.4",
|
|
20
22
|
"@types/rimraf": "2.0.2",
|
|
21
23
|
"@types/selenium-webdriver": "4.1.3",
|
|
22
24
|
"axios": "^0.25.0",
|
|
23
|
-
"
|
|
25
|
+
"chai": "^4.3.4",
|
|
26
|
+
"chromedriver": "^111.0.0",
|
|
27
|
+
"clone-deep": "^4.0.1",
|
|
24
28
|
"mocha": "^9.1.3",
|
|
25
29
|
"monaco-page-objects": "3.1.0",
|
|
26
30
|
"rimraf": "2.6.2",
|
|
@@ -14,7 +14,7 @@ import { DriverHelper } from '../../utils/DriverHelper';
|
|
|
14
14
|
import { By, Key } from 'selenium-webdriver';
|
|
15
15
|
import { Logger } from '../../utils/Logger';
|
|
16
16
|
import { TimeoutConstants } from '../../constants/TimeoutConstants';
|
|
17
|
-
import {
|
|
17
|
+
import { TestConstants } from '../../constants/TestConstants';
|
|
18
18
|
|
|
19
19
|
@injectable()
|
|
20
20
|
export class CreateWorkspace {
|
|
@@ -36,14 +36,6 @@ export class CreateWorkspace {
|
|
|
36
36
|
await this.waitTitleContains('Create Workspace', timeout);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
async waitSample(sampleName: string, timeout: number = TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT): Promise<void> {
|
|
40
|
-
Logger.debug(`CreateWorkspace.waitSample sampleName: "${sampleName}"`);
|
|
41
|
-
|
|
42
|
-
const sampleLocator: By = this.getSampleLocator(sampleName);
|
|
43
|
-
|
|
44
|
-
await this.driverHelper.waitVisibility(sampleLocator, timeout);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
39
|
async clickOnSampleNoEditorSelection(sampleName: string, timeout: number = TimeoutConstants.TS_CLICK_DASHBOARD_ITEM_TIMEOUT): Promise<void> {
|
|
48
40
|
Logger.debug(`CreateWorkspace.clickOnSample sampleName: "${sampleName}"`);
|
|
49
41
|
|
|
@@ -80,15 +72,12 @@ export class CreateWorkspace {
|
|
|
80
72
|
|
|
81
73
|
private getSampleLocatorWithSpecificEditor(sampleName: string): By {
|
|
82
74
|
let editor: string = '';
|
|
83
|
-
switch (
|
|
84
|
-
case
|
|
75
|
+
switch (process.env.TS_SELENIUM_EDITOR) {
|
|
76
|
+
case 'che-code':
|
|
85
77
|
editor = 'code';
|
|
86
78
|
break;
|
|
87
|
-
case EditorType.THEIA:
|
|
88
|
-
editor = 'theia';
|
|
89
|
-
break;
|
|
90
79
|
default:
|
|
91
|
-
throw new Error(`Unsupported editor ${
|
|
80
|
+
throw new Error(`Unsupported editor ${process.env.TS_SELENIUM_EDITOR}`);
|
|
92
81
|
}
|
|
93
82
|
|
|
94
83
|
Logger.trace(`CreateWorkspace.getSampleLocatorWithSpecificEditor sampleName: ${sampleName}, editor "${editor}"`);
|
|
@@ -9,13 +9,17 @@
|
|
|
9
9
|
**********************************************************************/
|
|
10
10
|
import { inject, injectable } from 'inversify';
|
|
11
11
|
import 'reflect-metadata';
|
|
12
|
-
import { CLASSES } from '../../configs/inversify.types';
|
|
12
|
+
import { CLASSES, TYPES } from '../../configs/inversify.types';
|
|
13
13
|
import { By } from 'selenium-webdriver';
|
|
14
14
|
import { DriverHelper } from '../../utils/DriverHelper';
|
|
15
15
|
import { TestConstants } from '../../constants/TestConstants';
|
|
16
16
|
import { TimeoutConstants } from '../../constants/TimeoutConstants';
|
|
17
17
|
import { Workspaces } from './Workspaces';
|
|
18
18
|
import { Logger } from '../../utils/Logger';
|
|
19
|
+
import { ICheLoginPage } from '../login/ICheLoginPage';
|
|
20
|
+
import { RegularUserOcpCheLoginPage } from '../login/RegularUserOcpCheLoginPage';
|
|
21
|
+
import { OcpRedHatLoginPage } from '../login/OcpRedHatLoginPage';
|
|
22
|
+
import { e2eContainer } from '../../configs/inversify.config';
|
|
19
23
|
|
|
20
24
|
@injectable()
|
|
21
25
|
export class Dashboard {
|
|
@@ -23,10 +27,23 @@ export class Dashboard {
|
|
|
23
27
|
private static readonly CREATE_WORKSPACE_BUTTON_XPATH: string = `//div[@id='page-sidebar']//a[text()='Create Workspace']`;
|
|
24
28
|
private static readonly LOADER_PAGE_STEP_TITLES_XPATH: string = '//*[@data-testid="step-title"]';
|
|
25
29
|
private static readonly WORKSPACE_STARTING_PAGE_CSS: string = '.ide-loader-page';
|
|
26
|
-
private static readonly LOADER_ALERT_XPATH = '//*[@data-testid="loader-alert"]';
|
|
30
|
+
private static readonly LOADER_ALERT_XPATH: string = '//*[@data-testid="loader-alert"]';
|
|
31
|
+
private static readonly LOGOUT_BUTTON_XPATH: string = '//button[text()="Logout"]';
|
|
32
|
+
|
|
33
|
+
private static getUserDropdownMenuButtonLocator(): By {
|
|
34
|
+
Logger.debug(`Dashboard.getUserDropdownMenuButtonLocator: get current user.`);
|
|
35
|
+
|
|
36
|
+
const currentUser: string = TestConstants.TS_SELENIUM_VALUE_OPENSHIFT_OAUTH ?
|
|
37
|
+
TestConstants.TS_SELENIUM_OCP_USERNAME : TestConstants.TS_SELENIUM_USERNAME;
|
|
38
|
+
Logger.debug(`Dashboard.getUserDropdownMenuButtonLocator: ${currentUser}.`);
|
|
39
|
+
|
|
40
|
+
return By.xpath(`//*[text()="${currentUser}"]//parent::button`);
|
|
41
|
+
|
|
42
|
+
}
|
|
27
43
|
|
|
28
44
|
constructor(@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper,
|
|
29
|
-
@inject(CLASSES.Workspaces) private readonly workspaces: Workspaces) {
|
|
45
|
+
@inject(CLASSES.Workspaces) private readonly workspaces: Workspaces) {
|
|
46
|
+
}
|
|
30
47
|
|
|
31
48
|
async stopWorkspaceByUI(workspaceName: string) {
|
|
32
49
|
Logger.debug(`Dashboard.stopWorkspaceByUI "${workspaceName}"`);
|
|
@@ -116,9 +133,17 @@ export class Dashboard {
|
|
|
116
133
|
}
|
|
117
134
|
|
|
118
135
|
async getRecentWorkspaceName(timeout: number = TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
|
|
119
|
-
Logger.debug(`Dashboard.
|
|
136
|
+
Logger.debug(`Dashboard.getRecentWorkspaceName`);
|
|
120
137
|
|
|
121
138
|
return await this.driverHelper.waitAndGetText(By.css('[data-testid="recent-workspace-item"]'), timeout);
|
|
122
139
|
}
|
|
123
140
|
|
|
141
|
+
async logout(timeout: number = TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
|
|
142
|
+
Logger.debug(`Dashboard.logout`);
|
|
143
|
+
|
|
144
|
+
await this.openDashboard();
|
|
145
|
+
await this.driverHelper.waitAndClick(Dashboard.getUserDropdownMenuButtonLocator(), timeout);
|
|
146
|
+
await this.driverHelper.waitAndClick(By.xpath(Dashboard.LOGOUT_BUTTON_XPATH), timeout);
|
|
147
|
+
await this.driverHelper.waitDisappearance(Dashboard.getUserDropdownMenuButtonLocator(), timeout);
|
|
148
|
+
}
|
|
124
149
|
}
|
|
@@ -88,7 +88,6 @@ export class Workspaces {
|
|
|
88
88
|
Logger.debug(`Workspaces.waitActionsPopup of the '${workspaceName}' list item`);
|
|
89
89
|
|
|
90
90
|
await this.driverHelper.waitVisibility(this.getExpandedActionsLocator(workspaceName), timeout);
|
|
91
|
-
await this.driverHelper.wait(2000);
|
|
92
91
|
}
|
|
93
92
|
|
|
94
93
|
async openActionsPopup(workspaceName: string, timeout: number = TimeoutConstants.TS_CONTEXT_MENU_TIMEOUT) {
|
|
@@ -105,7 +104,7 @@ export class Workspaces {
|
|
|
105
104
|
|
|
106
105
|
async clickActionsStopWorkspaceButton(workspaceName: string) {
|
|
107
106
|
Logger.debug(`Workspaces.clickActionsStopWorkspaceButton for the '${workspaceName}' list item`);
|
|
108
|
-
// workaround because of issue CRW-3649
|
|
107
|
+
// todo: workaround because of issue CRW-3649
|
|
109
108
|
try {
|
|
110
109
|
await this.driverHelper.waitAndClick(this.getActionsPopupButtonLocator(workspaceName, 'Stop Workspace'));
|
|
111
110
|
} catch (e) {
|
|
@@ -122,7 +121,6 @@ export class Workspaces {
|
|
|
122
121
|
const confirmationWindowLocator: By = By.xpath(`//div[@aria-label='Delete workspaces confirmation window']`);
|
|
123
122
|
|
|
124
123
|
await this.driverHelper.waitVisibility(confirmationWindowLocator, timeout);
|
|
125
|
-
await this.driverHelper.wait(5000);
|
|
126
124
|
}
|
|
127
125
|
|
|
128
126
|
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/*********************************************************************
|
|
2
|
+
* Copyright (c) 2019 Red Hat, Inc.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made
|
|
5
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
+
*
|
|
8
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
+
**********************************************************************/
|
|
10
|
+
import { inject, injectable } from 'inversify';
|
|
11
|
+
import { By } from 'selenium-webdriver';
|
|
12
|
+
import { CLASSES } from '../../configs/inversify.types';
|
|
13
|
+
import { DriverHelper } from '../../utils/DriverHelper';
|
|
14
|
+
import { GitProviderType, TestConstants } from '../../constants/TestConstants';
|
|
15
|
+
import { Logger } from '../../utils/Logger';
|
|
16
|
+
import { TimeoutConstants } from '../../constants/TimeoutConstants';
|
|
17
|
+
|
|
18
|
+
@injectable()
|
|
19
|
+
export class OauthPage {
|
|
20
|
+
private readonly loginForm: By;
|
|
21
|
+
private readonly passwordForm: By;
|
|
22
|
+
private readonly submitButton: By;
|
|
23
|
+
private readonly approveButton: By;
|
|
24
|
+
private readonly denyAccessButton: By;
|
|
25
|
+
|
|
26
|
+
constructor(@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper) {
|
|
27
|
+
switch (TestConstants.TS_SELENIUM_FACTORY_GIT_PROVIDER) {
|
|
28
|
+
case GitProviderType.BITBUCKET : {
|
|
29
|
+
this.loginForm = By.id('j_username');
|
|
30
|
+
this.passwordForm = By.id('j_password');
|
|
31
|
+
this.approveButton = By.xpath('//*[@id="approve"]');
|
|
32
|
+
this.submitButton = By.xpath('//*[@id="submit"]');
|
|
33
|
+
this.denyAccessButton = By.xpath('//*[@id="deny"]');
|
|
34
|
+
}
|
|
35
|
+
break;
|
|
36
|
+
case GitProviderType.GITLAB: {
|
|
37
|
+
this.loginForm = TestConstants.TS_SELENIUM_GIT_PROVIDER_IS_LDAP_LOGIN ? By.id('username') : By.id('user_login');
|
|
38
|
+
this.passwordForm = TestConstants.TS_SELENIUM_GIT_PROVIDER_IS_LDAP_LOGIN ? By.id('password') : By.id('user_password');
|
|
39
|
+
this.submitButton = TestConstants.TS_SELENIUM_GIT_PROVIDER_IS_LDAP_LOGIN ? By.xpath('//input[@data-qa-selector="sign_in_button"]') : By.xpath('//button[@data-qa-selector="sign_in_button"]');
|
|
40
|
+
this.approveButton = By.xpath('//*[@value="Authorize"]');
|
|
41
|
+
this.denyAccessButton = By.xpath('//input[@value="Deny"]');
|
|
42
|
+
}
|
|
43
|
+
break;
|
|
44
|
+
case GitProviderType.GITHUB: {
|
|
45
|
+
this.loginForm = By.id('login_field');
|
|
46
|
+
this.passwordForm = By.id('password');
|
|
47
|
+
this.approveButton = By.xpath('//*[@id="js-oauth-authorize-btn"]');
|
|
48
|
+
this.submitButton = By.xpath('//*[@value="Sign in"]');
|
|
49
|
+
this.denyAccessButton = By.xpath('//button[contains(., "Cancel")]');
|
|
50
|
+
}
|
|
51
|
+
break;
|
|
52
|
+
default: {
|
|
53
|
+
throw new Error(`Invalid git provider. The value should be ${GitProviderType.GITHUB}, ${GitProviderType.GITLAB} or ${GitProviderType.BITBUCKET}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
async waitLoginPage() {
|
|
59
|
+
Logger.debug('OauthPage.waitLoginPage');
|
|
60
|
+
|
|
61
|
+
// for gitlab server https://gitlab.cee.redhat.com
|
|
62
|
+
if (!TestConstants.TS_SELENIUM_GIT_PROVIDER_IS_LDAP_LOGIN &&
|
|
63
|
+
TestConstants.TS_SELENIUM_FACTORY_GIT_PROVIDER === GitProviderType.GITLAB) {
|
|
64
|
+
{
|
|
65
|
+
Logger.debug(`OauthPage.login - go to ${TestConstants.TS_SELENIUM_FACTORY_GIT_PROVIDER} Standard login section`);
|
|
66
|
+
await this.driverHelper.waitAndClick(By.xpath('//a[@data-qa-selector="standard_tab"]'));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
await this.driverHelper.waitVisibility(this.loginForm, TimeoutConstants.TS_SELENIUM_CLICK_ON_VISIBLE_ITEM * 3);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
async enterUserName(userName: string) {
|
|
74
|
+
Logger.debug(`this.enterUserName "${userName}"`);
|
|
75
|
+
|
|
76
|
+
await this.driverHelper.enterValue(this.loginForm, userName);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
async enterPassword(password: string) {
|
|
80
|
+
Logger.debug(`OauthPage.enterPassword`);
|
|
81
|
+
|
|
82
|
+
await this.driverHelper.enterValue(this.passwordForm, password);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
async clickOnLoginButton() {
|
|
86
|
+
Logger.debug('OauthPage.clickOnLoginButton');
|
|
87
|
+
|
|
88
|
+
await this.driverHelper.waitAndClick(this.submitButton);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
async waitClosingLoginPage() {
|
|
92
|
+
Logger.debug('OauthPage.waitClosingLoginPage');
|
|
93
|
+
|
|
94
|
+
await this.driverHelper.waitDisappearance(this.loginForm);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
async waitOauthPage() {
|
|
98
|
+
Logger.debug('OauthPage.waitOauthPage');
|
|
99
|
+
|
|
100
|
+
await this.driverHelper.waitVisibility(this.approveButton);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
async clickOnApproveButton() {
|
|
104
|
+
Logger.debug('OauthPage.clickOnApproveButton');
|
|
105
|
+
|
|
106
|
+
await this.driverHelper.waitAndClick(this.approveButton);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
async clickOnDenyAccessButton() {
|
|
110
|
+
Logger.debug('OauthPage.clickOnDenyAccessButton');
|
|
111
|
+
|
|
112
|
+
await this.driverHelper.waitAndClick(this.denyAccessButton);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
async waitDisappearanceOauthPage() {
|
|
116
|
+
Logger.debug('OauthPage.waitDisappearanceOauthPage');
|
|
117
|
+
|
|
118
|
+
await this.driverHelper.waitDisappearance(this.approveButton);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
async login() {
|
|
122
|
+
Logger.debug('OauthPage.login');
|
|
123
|
+
|
|
124
|
+
await this.waitLoginPage();
|
|
125
|
+
await this.enterUserName(TestConstants.TS_SELENIUM_GIT_PROVIDER_USERNAME);
|
|
126
|
+
await this.enterPassword(TestConstants.TS_SELENIUM_GIT_PROVIDER_PASSWORD);
|
|
127
|
+
await this.clickOnLoginButton();
|
|
128
|
+
await this.waitClosingLoginPage();
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
async confirmAccess() {
|
|
132
|
+
Logger.debug('OauthPage.confirmAccess');
|
|
133
|
+
|
|
134
|
+
try {
|
|
135
|
+
await this.clickOnApproveButton();
|
|
136
|
+
await this.waitDisappearanceOauthPage();
|
|
137
|
+
} catch (e) {
|
|
138
|
+
Logger.debug('OauthPage.confirmAccess - access was not confirmed, retrying to click conformation button');
|
|
139
|
+
// workaround for github oauth conformation page (bot security)
|
|
140
|
+
await this.driverHelper.getAction()
|
|
141
|
+
.move({
|
|
142
|
+
origin: await this.driverHelper.waitPresence(this.approveButton)
|
|
143
|
+
})
|
|
144
|
+
.click()
|
|
145
|
+
.perform();
|
|
146
|
+
await this.waitDisappearanceOauthPage();
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
async denyAccess() {
|
|
151
|
+
Logger.debug('OauthPage.denyAccess');
|
|
152
|
+
|
|
153
|
+
await this.clickOnDenyAccessButton();
|
|
154
|
+
await this.waitDisappearanceOauthPage();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/*********************************************************************
|
|
2
|
+
* Copyright (c) 2019 Red Hat, Inc.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made
|
|
5
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
+
*
|
|
8
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
+
**********************************************************************/
|
|
10
|
+
import { LocatorLoader } from 'monaco-page-objects/out/locators/loader';
|
|
11
|
+
import { getLocatorsPath } from 'vscode-extension-tester-locators';
|
|
12
|
+
import { LocatorDiff, Locators } from 'monaco-page-objects';
|
|
13
|
+
import { By } from 'selenium-webdriver';
|
|
14
|
+
import clone from 'clone-deep';
|
|
15
|
+
import { TestConstants } from '../../constants/TestConstants';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* This class allows us to change or add some specific locators base on "monaco-page-object" and "vscode-extension-tester-locators".
|
|
19
|
+
* Use method webLocatorDiff(). To change place locator into field "locators", to add - "extras".
|
|
20
|
+
* To see full locators list check "node_modules/vscode-extension-tester-locators/out/lib".
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
export class CheCodeLocatorLoader extends LocatorLoader {
|
|
24
|
+
readonly webCheCodeLocators: Locators;
|
|
25
|
+
|
|
26
|
+
constructor() {
|
|
27
|
+
super(TestConstants.TS_SELENIUM_MONACO_PAGE_OBJECTS_BASE_VERSION, TestConstants.TS_SELENIUM_MONACO_PAGE_OBJECTS_BASE_VERSION, getLocatorsPath());
|
|
28
|
+
this.webCheCodeLocators = this.mergeLocators() as Locators;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
private webLocatorDiff(): LocatorDiff {
|
|
32
|
+
return {
|
|
33
|
+
locators: {
|
|
34
|
+
WelcomeContent: {
|
|
35
|
+
text: By.xpath('//*[@class="dialog-message-text" and contains(text(), "trust")]'),
|
|
36
|
+
button: By.xpath('//a[contains(., "trust")]')
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
private merge(target: any, obj: any) {
|
|
43
|
+
for (const key in obj) {
|
|
44
|
+
if (!Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
let oldVal: any = obj[key];
|
|
49
|
+
let newVal: any = target[key];
|
|
50
|
+
|
|
51
|
+
if (typeof (newVal) === 'object' && typeof (oldVal) === 'object') {
|
|
52
|
+
target[key] = this.merge(newVal, oldVal);
|
|
53
|
+
} else {
|
|
54
|
+
target[key] = clone(oldVal);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return target;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
private mergeLocators(): Locators {
|
|
61
|
+
const target: Locators = super.loadLocators();
|
|
62
|
+
|
|
63
|
+
this.merge(target, this.webLocatorDiff().locators as Locators);
|
|
64
|
+
this.merge(target, this.webLocatorDiff().extras as Locators);
|
|
65
|
+
|
|
66
|
+
return target;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/*********************************************************************
|
|
2
|
+
* Copyright (c) 2019 Red Hat, Inc.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made
|
|
5
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
+
*
|
|
8
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
+
**********************************************************************/
|
|
10
|
+
import 'reflect-metadata';
|
|
11
|
+
import { injectable, inject } from 'inversify';
|
|
12
|
+
import { RedHatLoginPage } from './RedHatLoginPage';
|
|
13
|
+
import { CLASSES } from '../../configs/inversify.types';
|
|
14
|
+
import { By } from 'selenium-webdriver';
|
|
15
|
+
import { TimeoutConstants } from '../../constants/TimeoutConstants';
|
|
16
|
+
import { ICheLoginPage } from './ICheLoginPage';
|
|
17
|
+
import { OcpLoginPage } from '../openshift/OcpLoginPage';
|
|
18
|
+
import { DriverHelper } from '../../utils/DriverHelper';
|
|
19
|
+
import { Logger } from '../../utils/Logger';
|
|
20
|
+
|
|
21
|
+
@injectable()
|
|
22
|
+
export class OcpRedHatLoginPage implements ICheLoginPage {
|
|
23
|
+
|
|
24
|
+
private readonly OPEN_SHIFT_LOGIN_LANDING_PAGE_LOCATOR: string = `//div[@class='panel-login']`;
|
|
25
|
+
private readonly OPEN_SHIFT_LOGIN_LANDING_PAGE_BUTTON_LOCATOR: string = `${this.OPEN_SHIFT_LOGIN_LANDING_PAGE_LOCATOR}/div[contains(@class, 'panel-content')]/form/button`;
|
|
26
|
+
|
|
27
|
+
constructor(
|
|
28
|
+
@inject(CLASSES.OcpLoginPage) private readonly ocpLogin: OcpLoginPage,
|
|
29
|
+
@inject(CLASSES.RedHatLoginPage) private readonly redHatLogin: RedHatLoginPage,
|
|
30
|
+
@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper) { }
|
|
31
|
+
|
|
32
|
+
async login(): Promise<void> {
|
|
33
|
+
Logger.debug('OcpRedHatLoginPage.login');
|
|
34
|
+
|
|
35
|
+
Logger.debug('OcpRedHatLoginPage.login wait for LogInWithOpenShift page and click button');
|
|
36
|
+
await this.driverHelper.waitPresence(By.xpath(this.OPEN_SHIFT_LOGIN_LANDING_PAGE_LOCATOR), TimeoutConstants.TS_SELENIUM_LOAD_PAGE_TIMEOUT);
|
|
37
|
+
await this.driverHelper.waitAndClick(By.xpath(this.OPEN_SHIFT_LOGIN_LANDING_PAGE_BUTTON_LOCATOR));
|
|
38
|
+
|
|
39
|
+
await this.ocpLogin.isIdentityProviderLinkVisible();
|
|
40
|
+
await this.ocpLogin.clickOnLoginProviderTitle();
|
|
41
|
+
|
|
42
|
+
await this.redHatLogin.waitRedHatLoginWelcomePage();
|
|
43
|
+
await this.redHatLogin.enterUserNameRedHat();
|
|
44
|
+
await this.redHatLogin.clickNextButton();
|
|
45
|
+
await this.redHatLogin.enterPasswordRedHat();
|
|
46
|
+
await this.redHatLogin.clickOnLoginButton();
|
|
47
|
+
await this.redHatLogin.waitDisappearanceRedHatLoginWelcomePage();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/*********************************************************************
|
|
2
|
+
* Copyright (c) 2019 Red Hat, Inc.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made
|
|
5
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
+
*
|
|
8
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
+
**********************************************************************/
|
|
10
|
+
import 'reflect-metadata';
|
|
11
|
+
import { injectable, inject } from 'inversify';
|
|
12
|
+
import { By } from 'selenium-webdriver';
|
|
13
|
+
import { CLASSES } from '../../configs/inversify.types';
|
|
14
|
+
import { DriverHelper } from '../../utils/DriverHelper';
|
|
15
|
+
import { Logger } from '../../utils/Logger';
|
|
16
|
+
import { TestConstants } from '../../constants/TestConstants';
|
|
17
|
+
|
|
18
|
+
const USERNAME_INPUT_ID: string = 'username-verification';
|
|
19
|
+
const PASSWORD_INPUT_ID: string = 'password';
|
|
20
|
+
const NEXT_BUTTON_ID: string = 'login-show-step2';
|
|
21
|
+
const LOGIN_BUTTON_ID: string = 'rh-password-verification-submit-button';
|
|
22
|
+
const timeout: number = 10000;
|
|
23
|
+
|
|
24
|
+
@injectable()
|
|
25
|
+
export class RedHatLoginPage {
|
|
26
|
+
|
|
27
|
+
constructor(
|
|
28
|
+
@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper) { }
|
|
29
|
+
|
|
30
|
+
async waitRedHatLoginWelcomePage() {
|
|
31
|
+
Logger.debug('RedHatLoginPage.waitRedHatLoginWelcomePage');
|
|
32
|
+
await this.driverHelper.waitVisibility(By.id(USERNAME_INPUT_ID));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
async enterPasswordRedHat() {
|
|
36
|
+
Logger.debug('RedHatLoginPage.enterPasswordRedHat');
|
|
37
|
+
const passwordFieldLocator: By = By.id(PASSWORD_INPUT_ID);
|
|
38
|
+
await this.driverHelper.waitVisibility(passwordFieldLocator, 3000);
|
|
39
|
+
await this.driverHelper.enterValue(passwordFieldLocator, TestConstants.TS_SELENIUM_PASSWORD, timeout );
|
|
40
|
+
}
|
|
41
|
+
async clickOnLoginButton() {
|
|
42
|
+
Logger.debug('RedHatLoginPage.clickOnLoginButton');
|
|
43
|
+
const loginButtonLocator: By = By.id(LOGIN_BUTTON_ID);
|
|
44
|
+
await this.driverHelper.waitAndClick(loginButtonLocator, timeout);
|
|
45
|
+
}
|
|
46
|
+
async waitDisappearanceRedHatLoginWelcomePage() {
|
|
47
|
+
Logger.debug('RedHatLoginPage.waitDisappearanceRedHatLoginWelcomePage');
|
|
48
|
+
await this.driverHelper.waitDisappearance(By.id(LOGIN_BUTTON_ID));
|
|
49
|
+
}
|
|
50
|
+
async enterUserNameRedHat() {
|
|
51
|
+
Logger.debug('RedHatLoginPage.enterUserNameRedHat');
|
|
52
|
+
const usernameFieldLocator: By = By.id(USERNAME_INPUT_ID);
|
|
53
|
+
await this.driverHelper.waitVisibility(usernameFieldLocator, 20000);
|
|
54
|
+
await this.driverHelper.enterValue(usernameFieldLocator, TestConstants.TS_SELENIUM_USERNAME, timeout );
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
async clickNextButton() {
|
|
58
|
+
Logger.debug('RedHatLoginPage.clickNextButton');
|
|
59
|
+
const nextButtonLocator: By = By.id(NEXT_BUTTON_ID);
|
|
60
|
+
await this.driverHelper.waitAndClick(nextButtonLocator, timeout);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
import 'reflect-metadata';
|
|
11
11
|
import { ICheLoginPage } from './ICheLoginPage';
|
|
12
12
|
import { OcpLoginPage } from '../openshift/OcpLoginPage';
|
|
13
|
-
import { CheLoginPage } from '../openshift/CheLoginPage';
|
|
14
13
|
import { injectable, inject } from 'inversify';
|
|
15
14
|
import { CLASSES } from '../../configs/inversify.types';
|
|
16
15
|
import { TestConstants } from '../../constants/TestConstants';
|
|
@@ -27,13 +26,12 @@ export class RegularUserOcpCheLoginPage implements ICheLoginPage {
|
|
|
27
26
|
|
|
28
27
|
constructor(
|
|
29
28
|
@inject(CLASSES.OcpLoginPage) private readonly ocpLogin: OcpLoginPage,
|
|
30
|
-
@inject(CLASSES.CheLoginPage) private readonly cheLogin: CheLoginPage,
|
|
31
29
|
@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper) { }
|
|
32
30
|
|
|
33
31
|
async login() {
|
|
34
32
|
Logger.debug('RegularUserOcpCheLoginPage.login');
|
|
35
33
|
|
|
36
|
-
Logger.debug('
|
|
34
|
+
Logger.debug('RegularUserOcpCheLoginPage.login wait for LogInWithOpenShift page and click button');
|
|
37
35
|
await this.driverHelper.waitPresence(By.xpath(this.OPEN_SHIFT_LOGIN_LANDING_PAGE_LOCATOR), TimeoutConstants.TS_SELENIUM_LOAD_PAGE_TIMEOUT);
|
|
38
36
|
await this.driverHelper.waitAndClick(By.xpath(this.OPEN_SHIFT_LOGIN_LANDING_PAGE_BUTTON_LOCATOR));
|
|
39
37
|
|
|
@@ -51,22 +49,5 @@ export class RegularUserOcpCheLoginPage implements ICheLoginPage {
|
|
|
51
49
|
await this.ocpLogin.waitAuthorizeOpenShiftIdentityProviderPage();
|
|
52
50
|
await this.ocpLogin.clickOnApproveAuthorizeAccessButton();
|
|
53
51
|
}
|
|
54
|
-
|
|
55
|
-
if (await this.cheLogin.isFirstBrokerLoginPageVisible()) {
|
|
56
|
-
await this.cheLogin.waitFirstBrokerLoginPage();
|
|
57
|
-
await this.cheLogin.enterEmailFirstBrokerLoginPage(TestConstants.TS_SELENIUM_EMAIL_USER);
|
|
58
|
-
await this.cheLogin.enterFirstNameBrokerLoginPage(TestConstants.TS_SELENIUM_FIRST_NAME);
|
|
59
|
-
await this.cheLogin.enterLastNameBrokerLoginPage(TestConstants.TS_SELENIUM_LAST_NAME);
|
|
60
|
-
await this.cheLogin.clickOnSubmitButton();
|
|
61
|
-
await this.cheLogin.waitDisappearanceBrokerLoginPage();
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
if (await this.ocpLogin.isLinkAccountPageVisible()) {
|
|
65
|
-
await this.ocpLogin.clickOnLinkAccountButton();
|
|
66
|
-
await this.cheLogin.waitEclipseCheLoginFormPage();
|
|
67
|
-
await this.cheLogin.inputPaswordEclipseCheLoginPage(TestConstants.TS_SELENIUM_PASSWORD);
|
|
68
|
-
await this.cheLogin.clickEclipseCheLoginButton();
|
|
69
|
-
}
|
|
70
52
|
}
|
|
71
|
-
|
|
72
53
|
}
|