@eclipse-che/che-e2e 7.63.0 → 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.
Files changed (150) hide show
  1. package/README.md +11 -37
  2. package/build/dockerfiles/entrypoint.sh +1 -1
  3. package/configs/inversify.config.ts +11 -26
  4. package/configs/inversify.types.ts +3 -33
  5. package/configs/mocharc.ts +9 -3
  6. package/configs/sh-scripts/initDefaultValues.sh +0 -5
  7. package/constants/TestConstants.ts +34 -96
  8. package/dist/configs/inversify.config.js +8 -23
  9. package/dist/configs/inversify.config.js.map +1 -1
  10. package/dist/configs/inversify.types.js +3 -33
  11. package/dist/configs/inversify.types.js.map +1 -1
  12. package/dist/configs/mocharc.js +11 -4
  13. package/dist/configs/mocharc.js.map +1 -1
  14. package/dist/constants/TestConstants.js +31 -86
  15. package/dist/constants/TestConstants.js.map +1 -1
  16. package/dist/driver/ChromeDriver.js +1 -1
  17. package/dist/driver/ChromeDriver.js.map +1 -1
  18. package/dist/index.js +63 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/pageobjects/dashboard/CreateWorkspace.js +3 -11
  21. package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -1
  22. package/dist/pageobjects/dashboard/Dashboard.js +16 -1
  23. package/dist/pageobjects/dashboard/Dashboard.js.map +1 -1
  24. package/dist/pageobjects/dashboard/Workspaces.js +1 -3
  25. package/dist/pageobjects/dashboard/Workspaces.js.map +1 -1
  26. package/dist/pageobjects/git-providers/OauthPage.js +150 -0
  27. package/dist/pageobjects/git-providers/OauthPage.js.map +1 -0
  28. package/dist/pageobjects/ide/CheCodeLocatorLoader.js +65 -0
  29. package/dist/pageobjects/ide/CheCodeLocatorLoader.js.map +1 -0
  30. package/dist/pageobjects/login/OcpRedHatLoginPage.js +67 -0
  31. package/dist/pageobjects/login/OcpRedHatLoginPage.js.map +1 -0
  32. package/dist/pageobjects/login/RedHatLoginPage.js +78 -0
  33. package/dist/pageobjects/login/RedHatLoginPage.js.map +1 -0
  34. package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js +3 -21
  35. package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js.map +1 -1
  36. package/dist/pageobjects/openshift/CheLoginPage.js +0 -33
  37. package/dist/pageobjects/openshift/CheLoginPage.js.map +1 -1
  38. package/dist/pageobjects/openshift/OcpLoginPage.js +0 -14
  39. package/dist/pageobjects/openshift/OcpLoginPage.js.map +1 -1
  40. package/dist/specs/MochaHooks.js +2 -2
  41. package/dist/specs/MochaHooks.js.map +1 -1
  42. package/dist/specs/devfiles/EmptyWorkspace.spec.js +1 -0
  43. package/dist/specs/devfiles/EmptyWorkspace.spec.js.map +1 -1
  44. package/dist/specs/devfiles/Quarkus.spec.js +50 -0
  45. package/dist/specs/devfiles/Quarkus.spec.js.map +1 -0
  46. package/dist/specs/factory/Factory.spec.js +160 -0
  47. package/dist/specs/factory/Factory.spec.js.map +1 -0
  48. package/dist/specs/factory/NoSetupRepoFactory.spec.js +228 -0
  49. package/dist/specs/factory/NoSetupRepoFactory.spec.js.map +1 -0
  50. package/dist/specs/factory/RefusedOAuthFactory.spec.js +220 -0
  51. package/dist/specs/factory/RefusedOAuthFactory.spec.js.map +1 -0
  52. package/dist/specs/miscellaneous/PredefinedNamespace.spec.js +66 -0
  53. package/dist/specs/miscellaneous/PredefinedNamespace.spec.js.map +1 -0
  54. package/dist/tests-library/LoginTests.js +10 -2
  55. package/dist/tests-library/LoginTests.js.map +1 -1
  56. package/dist/tests-library/WorkspaceHandlingTests.js +3 -6
  57. package/dist/tests-library/WorkspaceHandlingTests.js.map +1 -1
  58. package/dist/utils/BrowserTabsUtil.js +2 -21
  59. package/dist/utils/BrowserTabsUtil.js.map +1 -1
  60. package/dist/utils/DriverHelper.js +11 -73
  61. package/dist/utils/DriverHelper.js.map +1 -1
  62. package/dist/utils/Logger.js +5 -0
  63. package/dist/utils/Logger.js.map +1 -1
  64. package/dist/utils/Sanitizer.js.map +1 -1
  65. package/dist/utils/request-handlers/CheApiRequestHandler.js +1 -1
  66. package/dist/utils/request-handlers/CheApiRequestHandler.js.map +1 -1
  67. package/dist/utils/vsc/GitUtil.js +41 -0
  68. package/dist/utils/vsc/GitUtil.js.map +1 -0
  69. package/dist/utils/workspace/ApiUrlResolver.js +0 -3
  70. package/dist/utils/workspace/ApiUrlResolver.js.map +1 -1
  71. package/dist/utils/workspace/TestWorkspaceUtil.js +2 -192
  72. package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -1
  73. package/driver/ChromeDriver.ts +1 -1
  74. package/index.ts +37 -0
  75. package/package.json +9 -5
  76. package/pageobjects/dashboard/CreateWorkspace.ts +4 -15
  77. package/pageobjects/dashboard/Dashboard.ts +29 -4
  78. package/pageobjects/dashboard/Workspaces.ts +1 -3
  79. package/pageobjects/git-providers/OauthPage.ts +156 -0
  80. package/pageobjects/ide/CheCodeLocatorLoader.ts +69 -0
  81. package/pageobjects/login/OcpRedHatLoginPage.ts +49 -0
  82. package/pageobjects/login/RedHatLoginPage.ts +62 -0
  83. package/pageobjects/login/RegularUserOcpCheLoginPage.ts +1 -20
  84. package/pageobjects/openshift/CheLoginPage.ts +6 -55
  85. package/pageobjects/openshift/OcpLoginPage.ts +0 -21
  86. package/specs/MochaHooks.ts +2 -2
  87. package/specs/devfiles/EmptyWorkspace.spec.ts +1 -0
  88. package/specs/devfiles/Quarkus.spec.ts +52 -0
  89. package/specs/factory/Factory.spec.ts +199 -0
  90. package/specs/factory/NoSetupRepoFactory.spec.ts +272 -0
  91. package/specs/factory/RefusedOAuthFactory.spec.ts +260 -0
  92. package/specs/miscellaneous/PredefinedNamespace.spec.ts +74 -0
  93. package/tests-library/LoginTests.ts +9 -1
  94. package/tests-library/WorkspaceHandlingTests.ts +3 -7
  95. package/utils/BrowserTabsUtil.ts +2 -24
  96. package/utils/DriverHelper.ts +9 -84
  97. package/utils/Logger.ts +5 -0
  98. package/utils/Sanitizer.ts +0 -1
  99. package/utils/request-handlers/CheApiRequestHandler.ts +1 -1
  100. package/utils/vsc/GitUtil.ts +28 -0
  101. package/utils/workspace/ApiUrlResolver.ts +0 -4
  102. package/utils/workspace/ITestWorkspaceUtil.ts +1 -56
  103. package/utils/workspace/TestWorkspaceUtil.ts +2 -243
  104. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js +0 -97
  105. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js.map +0 -1
  106. package/dist/pageobjects/login/MultiUserLoginPage.js +0 -49
  107. package/dist/pageobjects/login/MultiUserLoginPage.js.map +0 -1
  108. package/dist/pageobjects/login/UpdateAccountInformationPage.js +0 -74
  109. package/dist/pageobjects/login/UpdateAccountInformationPage.js.map +0 -1
  110. package/dist/pageobjects/third-parties/GitLoginPage.js +0 -85
  111. package/dist/pageobjects/third-parties/GitLoginPage.js.map +0 -1
  112. package/dist/pageobjects/third-parties/GitOauthAppsSettings.js +0 -110
  113. package/dist/pageobjects/third-parties/GitOauthAppsSettings.js.map +0 -1
  114. package/dist/specs/login/LinkCheAndOcpUsers.spec.js +0 -40
  115. package/dist/specs/login/LinkCheAndOcpUsers.spec.js.map +0 -1
  116. package/dist/utils/WorkspaceNameHandler.js +0 -60
  117. package/dist/utils/WorkspaceNameHandler.js.map +0 -1
  118. package/dist/utils/request-handlers/tokens/CheMultiuserTokenHandler.js +0 -50
  119. package/dist/utils/request-handlers/tokens/CheMultiuserTokenHandler.js.map +0 -1
  120. package/dist/utils/request-handlers/tokens/ITokenHandler.js +0 -12
  121. package/dist/utils/request-handlers/tokens/ITokenHandler.js.map +0 -1
  122. package/dist/utils/vsc/CheGitApi.js +0 -42
  123. package/dist/utils/vsc/CheGitApi.js.map +0 -1
  124. package/dist/utils/vsc/github/GitHubUtil.js +0 -126
  125. package/dist/utils/vsc/github/GitHubUtil.js.map +0 -1
  126. package/files/devfiles/plugins/GitHubPullRequestPlugin.yaml +0 -11
  127. package/files/devfiles/plugins/InstallPluginUsingUI.yaml +0 -3
  128. package/files/devfiles/plugins/Java11PluginTest.yaml +0 -17
  129. package/files/devfiles/plugins/PhpPluginTest.yaml +0 -47
  130. package/files/devfiles/plugins/PythonPluginTest.yaml +0 -14
  131. package/files/devfiles/plugins/TypescriptNodeDebug2PluginTest.yaml +0 -49
  132. package/files/devfiles/plugins/VscodeKubernetesPlugin.yaml +0 -12
  133. package/files/devfiles/plugins/VscodeShellcheckPlugin.yaml +0 -12
  134. package/files/devfiles/plugins/VscodeValePlugin.yaml +0 -42
  135. package/files/devfiles/plugins/VscodeXmlPlugin.yaml +0 -12
  136. package/files/devfiles/plugins/VscodeYamlPlugin.yaml +0 -12
  137. package/files/happy-path/containers-happy-path.yaml +0 -127
  138. package/files/happy-path/happy-path-workspace.yaml +0 -95
  139. package/files/happy-path/petclinic-classpath.txt +0 -49
  140. package/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.ts +0 -95
  141. package/pageobjects/login/MultiUserLoginPage.ts +0 -33
  142. package/pageobjects/login/UpdateAccountInformationPage.ts +0 -70
  143. package/pageobjects/third-parties/GitLoginPage.ts +0 -81
  144. package/pageobjects/third-parties/GitOauthAppsSettings.ts +0 -110
  145. package/specs/login/LinkCheAndOcpUsers.spec.ts +0 -49
  146. package/utils/WorkspaceNameHandler.ts +0 -48
  147. package/utils/request-handlers/tokens/CheMultiuserTokenHandler.ts +0 -41
  148. package/utils/request-handlers/tokens/ITokenHandler.ts +0 -14
  149. package/utils/vsc/CheGitApi.ts +0 -22
  150. package/utils/vsc/github/GitHubUtil.ts +0 -110
@@ -1,47 +0,0 @@
1
- ---
2
- apiVersion: 1.0.0
3
- metadata:
4
- generateName: php-plugin-test
5
- projects:
6
- - name: php-web-simple
7
- source:
8
- type: git
9
- location: "https://github.com/che-samples/web-php-simple"
10
- components:
11
- - type: chePlugin
12
- id: bmewburn/vscode-intelephense-client/latest
13
- - type: chePlugin
14
- id: felixfbecker/php-debug/latest
15
- - type: dockerimage
16
- alias: php
17
- image: quay.io/eclipse/che-php-7:next
18
- memoryLimit: 512Mi
19
- mountSources: true
20
- endpoints:
21
- - name: '8080-tcp'
22
- port: 8080
23
- volumes:
24
- - name: composer
25
- containerPath: "/home/user/.composer"
26
- - name: symfony
27
- containerPath: "/home/user/.symfony"
28
- commands:
29
- - name: Debug current file
30
- actions:
31
- - type: vscode-launch
32
- referenceContent: |
33
- {
34
- "version": "0.2.0",
35
- "configurations": [
36
- {
37
- "name": "Launch currently open script",
38
- "type": "php",
39
- "request": "launch",
40
- "program": "${file}",
41
- "stopOnEntry": true,
42
- "cwd": "${fileDirname}",
43
- "port": 9000,
44
- "runtimeExecutable": "php"
45
- }
46
- ]
47
- }
@@ -1,14 +0,0 @@
1
- apiVersion: 1.0.0
2
- metadata:
3
- name: python-plugin-test
4
- projects:
5
- - name: python-hello-world
6
- source:
7
- location: 'https://github.com/che-samples/python-hello-world.git'
8
- type: git
9
- components:
10
- - id: ms-python/python/latest
11
- type: chePlugin
12
- - type: cheEditor
13
- id: eclipse/che-theia/next
14
- memoryLimit: 512Mi
@@ -1,49 +0,0 @@
1
- apiVersion: 1.0.0
2
- metadata:
3
- name: typescript-debug-plugins
4
- projects:
5
- - name: nodejs-web-app
6
- source:
7
- location: 'https://github.com/che-samples/web-nodejs-sample.git'
8
- branch: che-qe-tests
9
- type: git
10
- components:
11
- - id: vscode/typescript-language-features/latest
12
- type: chePlugin
13
- - id: ms-vscode/node-debug2/latest
14
- preferences:
15
- debug.node.useV3: false
16
- type: chePlugin
17
- - mountSources: true
18
- endpoints:
19
- - name: nodejs
20
- port: 3000
21
- memoryLimit: 512Mi
22
- type: dockerimage
23
- alias: nodejs
24
- image: 'quay.io/eclipse/che-nodejs10-ubi:next'
25
- commands:
26
- - name: run the web app (debugging enabled)
27
- actions:
28
- - workdir: '${CHE_PROJECTS_ROOT}/nodejs-web-app/app'
29
- type: exec
30
- command: npm install && nodemon --inspect app.js
31
- component: nodejs
32
- - name: Attach remote debugger
33
- actions:
34
- - referenceContent: |
35
- {
36
- "version": "0.2.0",
37
- "configurations": [
38
- {
39
- "type": "node",
40
- "request": "attach",
41
- "name": "Attach to Remote",
42
- "address": "localhost",
43
- "port": 9229,
44
- "localRoot": "${workspaceFolder}",
45
- "remoteRoot": "${workspaceFolder}"
46
- }
47
- ]
48
- }
49
- type: vscode-launch
@@ -1,12 +0,0 @@
1
- apiVersion: 1.0.0
2
- metadata:
3
- name: nodejs-24lop
4
- projects:
5
- - name: nodejs-web-app
6
- source:
7
- location: 'https://github.com/che-samples/web-nodejs-sample.git'
8
- branch: che-qe-tests
9
- type: git
10
- components:
11
- - type: chePlugin
12
- id: ms-kubernetes-tools/vscode-kubernetes-tools/latest
@@ -1,12 +0,0 @@
1
- apiVersion: 1.0.0
2
- metadata:
3
- name: nodejs-zmecm
4
- projects:
5
- - name: nodejs-web-app
6
- source:
7
- location: 'https://github.com/che-samples/web-nodejs-sample.git'
8
- branch: che-qe-tests
9
- type: git
10
- components:
11
- - id: timonwong/shellcheck/latest
12
- type: chePlugin
@@ -1,42 +0,0 @@
1
- apiVersion: 1.0.0
2
- metadata:
3
- name: che-docs-test
4
- projects:
5
- - name: che-docs
6
- source:
7
- location: 'https://github.com/eclipse/che-docs.git'
8
- type: git
9
- branch: che-qe
10
- components:
11
- - mountSources: true
12
- endpoints:
13
- - name: Open-Livereload
14
- port: 35729
15
- - attributes:
16
- path: /che-7/overview/introduction-to-eclipse-che/
17
- name: Open-Preview-server
18
- port: 4000
19
- command:
20
- - tail
21
- args:
22
- - '-f'
23
- - /dev/null
24
- memoryLimit: 512M
25
- type: dockerimage
26
- alias: che-docs
27
- image: 'quay.io/eclipse/che-docs:latest'
28
- - preferences:
29
- vale.core.useCLI: true
30
- type: chePlugin
31
- reference: 'https://che-plugin-registry-main.surge.sh/v3/plugins/errata-ai/vale-server/latest/meta.yaml'
32
- alias: vale-server
33
- - id: redhat/vscode-yaml/latest
34
- type: chePlugin
35
- - id: redhat/vscode-xml/latest
36
- type: chePlugin
37
- - id: redhat/java/latest
38
- type: chePlugin
39
- - id: golang/go/latest
40
- type: chePlugin
41
- - id: vscode/typescript-language-features/latest
42
- type: chePlugin
@@ -1,12 +0,0 @@
1
- apiVersion: 1.0.0
2
- metadata:
3
- name: xml-plugin-test
4
- projects:
5
- - name: nodejs-web-app
6
- source:
7
- location: 'https://github.com/che-samples/web-nodejs-sample.git'
8
- branch: che-qe-tests
9
- type: git
10
- components:
11
- - id: redhat/vscode-xml/latest
12
- type: chePlugin
@@ -1,12 +0,0 @@
1
- apiVersion: 1.0.0
2
- metadata:
3
- name: nodejs-zmecm
4
- projects:
5
- - name: nodejs-web-app
6
- source:
7
- location: 'https://github.com/che-samples/web-nodejs-sample.git'
8
- branch: che-qe-tests
9
- type: git
10
- components:
11
- - id: redhat/vscode-yaml/latest
12
- type: chePlugin
@@ -1,127 +0,0 @@
1
- ---
2
- apiVersion: v1
3
- kind: Service
4
- metadata:
5
- name: mysql
6
- labels:
7
- app.kubernetes.io/name: mysql
8
- app.kubernetes.io/component: database
9
- app.kubernetes.io/part-of: petclinic
10
- spec:
11
- ports:
12
- - port: 3306
13
- targetPort: 3306
14
- selector:
15
- app.kubernetes.io/name: mysql
16
- app.kubernetes.io/component: database
17
- app.kubernetes.io/part-of: petclinic
18
- ---
19
- apiVersion: apps/v1
20
- kind: Deployment
21
- metadata:
22
- name: db
23
- labels:
24
- app.kubernetes.io/name: mysql
25
- app.kubernetes.io/component: database
26
- app.kubernetes.io/part-of: petclinic
27
- spec:
28
- selector:
29
- matchLabels:
30
- app.kubernetes.io/name: mysql
31
- app.kubernetes.io/component: database
32
- app.kubernetes.io/part-of: petclinic
33
- replicas: 1
34
- template:
35
- metadata:
36
- labels:
37
- app.kubernetes.io/name: mysql
38
- app.kubernetes.io/component: database
39
- app.kubernetes.io/part-of: petclinic
40
- spec:
41
- containers:
42
- - name: mysql
43
- image: quay.io/eclipse/che--centos--mysql-57-centos7:latest-e08ee4d43b7356607685b69bde6335e27cf20c020f345b6c6c59400183882764
44
- resources:
45
- requests:
46
- memory: 256Mi
47
- env:
48
- - name: MYSQL_USER
49
- value: petclinic
50
- - name: MYSQL_PASSWORD
51
- value: petclinic
52
- - name: MYSQL_ROOT_PASSWORD
53
- value: petclinic
54
- - name: MYSQL_DATABASE
55
- value: petclinic
56
- ports:
57
- - containerPort: 3306
58
- ---
59
- apiVersion: v1
60
- kind: Service
61
- metadata:
62
- name: spring-boot-app
63
- labels:
64
- app.kubernetes.io/name: petclinic
65
- app.kubernetes.io/component: webapp
66
- app.kubernetes.io/part-of: petclinic
67
- spec:
68
- ports:
69
- - port: 8080
70
- targetPort: 8080
71
- selector:
72
- app.kubernetes.io/name: petclinic
73
- app.kubernetes.io/component: webapp
74
- app.kubernetes.io/part-of: petclinic
75
- ---
76
- apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1
77
- kind: Deployment
78
- metadata:
79
- name: spring-boot-app
80
- labels:
81
- app.kubernetes.io/name: petclinic
82
- app.kubernetes.io/component: webapp
83
- app.kubernetes.io/part-of: petclinic
84
- spec:
85
- selector:
86
- matchLabels:
87
- app.kubernetes.io/name: petclinic
88
- app.kubernetes.io/component: webapp
89
- app.kubernetes.io/part-of: petclinic
90
- replicas: 1
91
- template:
92
- metadata:
93
- labels:
94
- app.kubernetes.io/name: petclinic
95
- app.kubernetes.io/component: webapp
96
- app.kubernetes.io/part-of: petclinic
97
- spec:
98
- containers:
99
- - name: spring-boot
100
- image: quay.io/mloriedo/spring-petclinic
101
- resources:
102
- requests:
103
- memory: 512Mi
104
- ports:
105
- - containerPort: 8080
106
- ---
107
- apiVersion: extensions/v1beta1
108
- kind: Ingress
109
- metadata:
110
- name: spring-boot-app
111
- labels:
112
- app: spring-petclinic
113
- tier: frontend
114
- annotations:
115
- kubernetes.io/ingress.class: "nginx"
116
- nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
117
- nginx.ingress.kubernetes.io/proxy-connect-timeout: "3600"
118
- nginx.ingress.kubernetes.io/ssl-redirect: "false"
119
- spec:
120
- rules:
121
- - host: 192.168.99.100.nip.io
122
- http:
123
- paths:
124
- - path: /
125
- backend:
126
- serviceName: spring-boot-app
127
- servicePort: 8080
@@ -1,95 +0,0 @@
1
- ---
2
- apiVersion: 1.0.0
3
- metadata:
4
- name: petclinic-dev-environment
5
- projects:
6
- - name: petclinic
7
- source:
8
- type: git
9
- location: "https://github.com/spring-projects/spring-petclinic.git"
10
- commitId: e7c879ed3abe10e446ff103887ad665ca6acf04e
11
- components:
12
- - type: cheEditor
13
- id: eclipse/che-theia/next
14
- memoryLimit: 512Mi
15
- - type: kubernetes
16
- alias: petclinic-web
17
- reference: https://raw.githubusercontent.com/eclipse/che/master/tests/e2e/files/happy-path/containers-happy-path.yaml
18
- selector:
19
- app.kubernetes.io/component: webapp
20
- entrypoints:
21
- - containerName: spring-boot
22
- command: ["tail"]
23
- args: ["-f", "/dev/null"]
24
- - type: kubernetes
25
- alias: petclinic-db
26
- reference: https://raw.githubusercontent.com/eclipse/che/master/tests/e2e/files/happy-path/containers-happy-path.yaml
27
- selector:
28
- app.kubernetes.io/component: database
29
- - type: dockerimage
30
- alias: maven-container
31
- image: quay.io/eclipse/happy-path:next
32
- env:
33
- - name: MAVEN_CONFIG
34
- value: /home/user/.m2
35
- memoryLimit: 1500Mi
36
- endpoints:
37
- - name: '8080-tcp'
38
- port: 8080
39
- - name: 'debug'
40
- port: 5005
41
- attributes:
42
- public: 'false'
43
- mountSources: true
44
- - type: chePlugin
45
- id: redhat/java/latest
46
- memoryLimit: "1000Mi"
47
- preferences:
48
- java.server.launchMode: Standard
49
- - type: chePlugin
50
- id: redhat/vscode-yaml/latest
51
- commands:
52
- - name: build
53
- actions:
54
- - type: exec
55
- component: maven-container
56
- command: mvn clean package | tee /workspace_logs/build.log && tail -n 40 /workspace_logs/build.log | grep 'BUILD SUCCESS' > /projects/petclinic/result-build.txt
57
- workdir: /projects/petclinic
58
- - name: build-file-output
59
- actions:
60
- - type: exec
61
- component: maven-container
62
- command: cd /projects/petclinic && mvn package | tee /workspace_logs/build-output.log && tail -n 40 /workspace_logs/build-output.log | grep 'BUILD SUCCESS' > /projects/petclinic/result-build-output.txt
63
- - name: run
64
- actions:
65
- - type: exec
66
- component: maven-container
67
- command: java -jar spring-petclinic-2.4.5.jar --spring.profiles.active=mysql | tee /workspace_logs/run.log
68
- workdir: /projects/petclinic/target
69
- - name: run-with-changes
70
- actions:
71
- - type: exec
72
- component: maven-container
73
- command: java -jar spring-petclinic-2.4.5.jar --spring.profiles.active=mysql | tee /workspace_logs/run-with-changes.log
74
- workdir: /projects/petclinic/target
75
- - name: run-debug
76
- actions:
77
- - type: exec
78
- component: maven-container
79
- command: java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 spring-petclinic-2.4.5.jar --spring.profiles.active=mysql | tee /workspace_logs/run-debug.log
80
- workdir: /projects/petclinic/target
81
- - name: Debug remote java application
82
- actions:
83
- - type: vscode-launch
84
- referenceContent: |
85
- {
86
- "version": "0.2.0",
87
- "configurations": [
88
- {
89
- "type": "java",
90
- "name": "Debug (Attach) - Remote",
91
- "request": "attach",
92
- "hostName": "localhost",
93
- "port": 5005
94
- }]
95
- }
@@ -1,49 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <classpath>
3
- <classpathentry kind="src" output="target/classes" path="src/main/java">
4
- <attributes>
5
- <attribute name="optional" value="true"/>
6
- <attribute name="maven.pomderived" value="true"/>
7
- </attributes>
8
- </classpathentry>
9
- <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
10
- <attributes>
11
- <attribute name="maven.pomderived" value="true"/>
12
- </attributes>
13
- </classpathentry>
14
- <classpathentry kind="src" output="target/test-classes" path="src/test/java">
15
- <attributes>
16
- <attribute name="optional" value="true"/>
17
- <attribute name="maven.pomderived" value="true"/>
18
- <attribute name="test" value="true"/>
19
- </attributes>
20
- </classpathentry>
21
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
22
- <attributes>
23
- <attribute name="maven.pomderived" value="true"/>
24
- </attributes>
25
- </classpathentry>
26
- <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
27
- <attributes>
28
- <attribute name="maven.pomderived" value="true"/>
29
- </attributes>
30
- </classpathentry>
31
- <classpathentry kind="src" path="target/generated-sources/annotations">
32
- <attributes>
33
- <attribute name="optional" value="true"/>
34
- <attribute name="maven.pomderived" value="true"/>
35
- <attribute name="ignore_optional_problems" value="true"/>
36
- <attribute name="m2e-apt" value="true"/>
37
- </attributes>
38
- </classpathentry>
39
- <classpathentry kind="src" output="target/test-classes" path="target/generated-test-sources/test-annotations">
40
- <attributes>
41
- <attribute name="optional" value="true"/>
42
- <attribute name="maven.pomderived" value="true"/>
43
- <attribute name="ignore_optional_problems" value="true"/>
44
- <attribute name="m2e-apt" value="true"/>
45
- <attribute name="test" value="true"/>
46
- </attributes>
47
- </classpathentry>
48
- <classpathentry kind="output" path="target/classes"/>
49
- </classpath>
@@ -1,95 +0,0 @@
1
- /*********************************************************************
2
- * Copyright (c) 2019-2023 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 { DriverHelper } from '../../../utils/DriverHelper';
11
- import { injectable, inject } from 'inversify';
12
- import 'reflect-metadata';
13
- import { CLASSES, TYPES } from '../../../configs/inversify.types';
14
- import { By } from 'selenium-webdriver';
15
- import { WorkspaceDetails } from './WorkspaceDetails';
16
- import { WorkspaceStatus } from '../../../utils/workspace/WorkspaceStatus';
17
- import { Logger } from '../../../utils/Logger';
18
- import { TimeoutConstants } from '../../../constants/TimeoutConstants';
19
- import { ITestWorkspaceUtil } from '../../../utils/workspace/ITestWorkspaceUtil';
20
-
21
- @injectable()
22
- export class WorkspaceDetailsPlugins {
23
- constructor(@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper,
24
- @inject(CLASSES.WorkspaceDetails) private readonly workspaceDetails: WorkspaceDetails,
25
- @inject(TYPES.WorkspaceUtil) private readonly testWorkspaceUtil: ITestWorkspaceUtil) { }
26
-
27
- async waitPluginListItem(pluginName: string) {
28
- Logger.debug(`WorkspaceDetailsPlugins.waitPluginListItem ${pluginName}`);
29
-
30
- const pluginListItemLocator: By = By.css(this.getPluginListItemCssLocator(pluginName));
31
-
32
- await this.driverHelper.waitVisibility(pluginListItemLocator, TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT);
33
- }
34
-
35
- async enablePlugin(pluginName: string, pluginVersion?: string) {
36
- Logger.debug(`WorkspaceDetailsPlugins.enablePlugin ${pluginName}:${pluginVersion}`);
37
-
38
- await this.waitPluginDisabling(pluginName, pluginVersion);
39
- await this.clickOnPluginListItemSwitcher(pluginName, pluginVersion);
40
- await this.waitPluginEnabling(pluginName, pluginVersion);
41
- }
42
-
43
- async disablePlugin(pluginName: string, pluginVersion?: string) {
44
- Logger.debug(`WorkspaceDetailsPlugins.disablePlugin ${pluginName}:${pluginVersion}`);
45
-
46
- await this.waitPluginEnabling(pluginName, pluginVersion);
47
- await this.clickOnPluginListItemSwitcher(pluginName, pluginVersion);
48
- await this.waitPluginDisabling(pluginName, pluginVersion);
49
- }
50
-
51
- async addPluginAndOpenWorkspace(namespace: string, workspaceName: string, pluginName: string, pluginId: string, pluginVersion?: string) {
52
- Logger.debug(`WorkspaceDetailsPlugins.addPluginAndOpenWorkspace ${namespace}/${workspaceName} plugin: ${pluginName}:${pluginVersion}`);
53
-
54
- await this.workspaceDetails.selectTab('Plugins');
55
- await this.enablePlugin(pluginName, pluginVersion);
56
- await this.workspaceDetails.saveChanges();
57
- await this.workspaceDetails.openWorkspace(namespace, workspaceName);
58
- await this.testWorkspaceUtil.waitWorkspaceStatus(namespace, workspaceName, WorkspaceStatus.RUNNING);
59
- await this.testWorkspaceUtil.waitPluginAdding(namespace, workspaceName, pluginId);
60
- }
61
-
62
- private getPluginListItemCssLocator(pluginName: string, pluginVersion?: string): string {
63
- if (pluginVersion) {
64
- return `.plugin-item div[plugin-item-name*='${pluginName}'][plugin-item-version='${pluginVersion}']`;
65
- }
66
-
67
- return `.plugin-item div[plugin-item-name*='${pluginName}']`;
68
- }
69
-
70
- private getPluginListItemSwitcherCssLocator(pluginName: string, pluginVersion?: string): string {
71
- return `${this.getPluginListItemCssLocator(pluginName, pluginVersion)} md-switch`;
72
- }
73
-
74
- private async clickOnPluginListItemSwitcher(pluginName: string,
75
- pluginVersion?: string,
76
- timeout: number = TimeoutConstants.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
77
-
78
- const pluginListItemSwitcherLocator = By.css(this.getPluginListItemSwitcherCssLocator(pluginName, pluginVersion));
79
-
80
- await this.driverHelper.waitAndClick(pluginListItemSwitcherLocator, timeout);
81
- }
82
-
83
- private async waitPluginEnabling(pluginName: string, pluginVersion?: string, timeout: number = TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
84
- const enabledPluginSwitcherLocator: By = By.css(`${this.getPluginListItemCssLocator(pluginName, pluginVersion)} md-switch[aria-checked='true']`);
85
-
86
- await this.driverHelper.waitVisibility(enabledPluginSwitcherLocator, timeout);
87
- }
88
-
89
- private async waitPluginDisabling(pluginName: string, pluginVersion?: string, timeout: number = TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
90
- const disabledPluginSwitcherLocator: By = By.css(`${this.getPluginListItemCssLocator(pluginName, pluginVersion)} md-switch[aria-checked='false']`);
91
-
92
- await this.driverHelper.waitVisibility(disabledPluginSwitcherLocator, timeout);
93
- }
94
-
95
- }
@@ -1,33 +0,0 @@
1
- /*********************************************************************
2
- * Copyright (c) 2019-2023 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 { ICheLoginPage } from './ICheLoginPage';
12
- import { CheLoginPage } from '../openshift/CheLoginPage';
13
- import { injectable, inject } from 'inversify';
14
- import { CLASSES } from '../../configs/inversify.types';
15
- import { TestConstants } from '../../constants/TestConstants';
16
- import { Logger } from '../../utils/Logger';
17
-
18
- @injectable()
19
- export class MultiUserLoginPage implements ICheLoginPage {
20
-
21
- constructor(
22
- @inject(CLASSES.CheLoginPage) private readonly cheLogin: CheLoginPage) { }
23
-
24
- async login() {
25
- Logger.debug('MultiUserLoginPage.login');
26
-
27
- await this.cheLogin.waitEclipseCheLoginFormPage();
28
- await this.cheLogin.inputUserNameEclipseCheLoginPage(TestConstants.TS_SELENIUM_USERNAME);
29
- await this.cheLogin.inputPaswordEclipseCheLoginPage(TestConstants.TS_SELENIUM_PASSWORD);
30
- await this.cheLogin.clickEclipseCheLoginButton();
31
- }
32
-
33
- }
@@ -1,70 +0,0 @@
1
- /*********************************************************************
2
- * Copyright (c) 2019-2023 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 { Logger } from '../../utils/Logger';
13
- import { DriverHelper } from '../../utils/DriverHelper';
14
- import { CLASSES } from '../../configs/inversify.types';
15
- import { By } from 'selenium-webdriver';
16
-
17
- @injectable()
18
- export class UpdateAccountInformationPage {
19
-
20
- constructor(@inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper) { }
21
-
22
- async enterEmail(email: string, timeout: number) {
23
- Logger.debug('UpdateAccountInformationPage.enterEmail');
24
-
25
- await this.driverHelper.enterValue(By.id('email'), email, timeout);
26
- }
27
-
28
- async enterFirstName(firstName: string, timeout: number) {
29
- Logger.debug('UpdateAccountInformationPage.enterFirstName');
30
-
31
- await this.driverHelper.enterValue(By.id('firstName'), firstName, timeout);
32
- }
33
-
34
- async enterLastName(lastName: string, timeout: number) {
35
- Logger.debug('UpdateAccountInformationPage.enterLastName');
36
-
37
- await this.driverHelper.enterValue(By.id('lastName'), lastName, timeout);
38
- }
39
-
40
- async clickConfirmButton(timeout: number) {
41
- Logger.debug('UpdateAccountInformationPage.clickConfirmButton');
42
-
43
- await this.driverHelper.waitAndClick(By.xpath('//input[@type=\'submit\']'), timeout);
44
- }
45
-
46
- async clickAddToExistingAccountButton(timeout: number) {
47
- Logger.debug('UpdateAccountInformationPage.clickAddToExistingAccountButton');
48
-
49
- await this.driverHelper.waitAndClick(By.id('linkAccount'), timeout);
50
- }
51
-
52
- async enterPassword(password: string, timeout: number) {
53
- Logger.debug('UpdateAccountInformationPage.enterPassword');
54
-
55
- await this.driverHelper.enterValue(By.id('password'), password, timeout);
56
- }
57
-
58
- async clickLogInButton(timeout: number) {
59
- Logger.debug('UpdateAccountInformationPage.clickLogInButton');
60
-
61
- await this.driverHelper.waitAndClick(By.id('kc-login'), timeout);
62
- }
63
-
64
- async clickToAllowSelectedPermissionsButton(timeout: number) {
65
- Logger.debug('UpdateAccountInformationPage.clickToAllowSelectedPermissionsButton');
66
-
67
- await this.driverHelper.waitAndClick(By.xpath('//input[@name=\'approve\']'), timeout);
68
- }
69
-
70
- }