chemlab 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (547) hide show
  1. checksums.yaml +4 -4
  2. data/lib/chemlab.rb +35 -0
  3. data/lib/chemlab/api_fabricator.rb +134 -0
  4. data/lib/chemlab/attributable.rb +25 -0
  5. data/lib/chemlab/component.rb +87 -0
  6. data/lib/chemlab/configuration.rb +39 -0
  7. data/lib/chemlab/element.rb +22 -0
  8. data/lib/chemlab/page.rb +13 -0
  9. data/lib/chemlab/resource.rb +169 -0
  10. data/lib/chemlab/runtime/api_client.rb +18 -0
  11. data/lib/chemlab/runtime/browser.rb +66 -0
  12. data/lib/chemlab/runtime/env.rb +22 -0
  13. data/{qa → lib/chemlab}/runtime/logger.rb +1 -1
  14. data/{qa → lib/chemlab}/support/api.rb +2 -2
  15. data/lib/chemlab/support/logging.rb +176 -0
  16. data/{qa → lib/chemlab}/support/repeater.rb +1 -1
  17. data/{qa → lib/chemlab}/support/waiter.rb +2 -2
  18. data/lib/chemlab/version.rb +1 -1
  19. metadata +56 -629
  20. data/.gitignore +0 -4
  21. data/.rspec +0 -3
  22. data/.rspec_parallel +0 -5
  23. data/Dockerfile +0 -68
  24. data/Gemfile +0 -23
  25. data/Gemfile.lock +0 -137
  26. data/README.md +0 -201
  27. data/Rakefile +0 -47
  28. data/bin/qa +0 -7
  29. data/bin/test +0 -3
  30. data/chemlab.gemspec +0 -43
  31. data/knapsack/master_report.json +0 -54
  32. data/qa.rb +0 -513
  33. data/qa/ce/strategy.rb +0 -21
  34. data/qa/ee.rb +0 -234
  35. data/qa/ee/fixtures/gpg/admin.asc +0 -0
  36. data/qa/ee/fixtures/secure_license_files/.gitlab-ci.yml +0 -12
  37. data/qa/ee/fixtures/secure_license_files/gl-license-management-report.json +0 -24
  38. data/qa/ee/fixtures/secure_premade_reports/.gitlab-ci.yml +0 -61
  39. data/qa/ee/fixtures/secure_premade_reports/gl-container-scanning-report.json +0 -105
  40. data/qa/ee/fixtures/secure_premade_reports/gl-dast-report.json +0 -1
  41. data/qa/ee/fixtures/secure_premade_reports/gl-dependency-scanning-report.json +0 -226
  42. data/qa/ee/fixtures/secure_premade_reports/gl-license-management-report.json +0 -42
  43. data/qa/ee/fixtures/secure_premade_reports/gl-sast-report.json +0 -152
  44. data/qa/ee/fixtures/secure_premade_reports/yarn.lock +0 -10024
  45. data/qa/ee/page/admin/geo/nodes/new.rb +0 -36
  46. data/qa/ee/page/admin/geo/nodes/show.rb +0 -23
  47. data/qa/ee/page/admin/license.rb +0 -41
  48. data/qa/ee/page/admin/menu.rb +0 -55
  49. data/qa/ee/page/admin/monitoring/audit_log.rb +0 -27
  50. data/qa/ee/page/admin/overview/groups/edit.rb +0 -27
  51. data/qa/ee/page/admin/settings/component/elasticsearch.rb +0 -38
  52. data/qa/ee/page/admin/settings/component/email.rb +0 -35
  53. data/qa/ee/page/admin/settings/integration.rb +0 -25
  54. data/qa/ee/page/admin/settings/preferences.rb +0 -25
  55. data/qa/ee/page/admin/settings/templates.rb +0 -40
  56. data/qa/ee/page/component/design_management.rb +0 -80
  57. data/qa/ee/page/component/issue_board/show.rb +0 -154
  58. data/qa/ee/page/component/license_management.rb +0 -62
  59. data/qa/ee/page/component/secure_report.rb +0 -38
  60. data/qa/ee/page/component/web_ide/web_terminal_panel.rb +0 -58
  61. data/qa/ee/page/dashboard/projects.rb +0 -54
  62. data/qa/ee/page/file/show.rb +0 -49
  63. data/qa/ee/page/group/contribution_analytics.rb +0 -29
  64. data/qa/ee/page/group/epic/index.rb +0 -46
  65. data/qa/ee/page/group/epic/show.rb +0 -74
  66. data/qa/ee/page/group/issues_analytics.rb +0 -33
  67. data/qa/ee/page/group/members.rb +0 -19
  68. data/qa/ee/page/group/menu.rb +0 -117
  69. data/qa/ee/page/group/roadmap.rb +0 -34
  70. data/qa/ee/page/group/saml_sso_sign_in.rb +0 -22
  71. data/qa/ee/page/group/saml_sso_sign_up.rb +0 -34
  72. data/qa/ee/page/group/secure/show.rb +0 -24
  73. data/qa/ee/page/group/settings/general.rb +0 -112
  74. data/qa/ee/page/group/settings/ldap_sync.rb +0 -38
  75. data/qa/ee/page/group/settings/saml_sso.rb +0 -93
  76. data/qa/ee/page/insights/show.rb +0 -51
  77. data/qa/ee/page/main/banner.rb +0 -19
  78. data/qa/ee/page/merge_request/new.rb +0 -74
  79. data/qa/ee/page/merge_request/show.rb +0 -326
  80. data/qa/ee/page/profile/menu.rb +0 -15
  81. data/qa/ee/page/project/issue/index.rb +0 -46
  82. data/qa/ee/page/project/issue/show.rb +0 -97
  83. data/qa/ee/page/project/menu.rb +0 -17
  84. data/qa/ee/page/project/milestone/show.rb +0 -41
  85. data/qa/ee/page/project/new.rb +0 -56
  86. data/qa/ee/page/project/operations/kubernetes/show.rb +0 -50
  87. data/qa/ee/page/project/operations/metrics/show.rb +0 -101
  88. data/qa/ee/page/project/packages/index.rb +0 -30
  89. data/qa/ee/page/project/packages/show.rb +0 -29
  90. data/qa/ee/page/project/path_locks/index.rb +0 -30
  91. data/qa/ee/page/project/pipeline/show.rb +0 -34
  92. data/qa/ee/page/project/secure/dependency_list.rb +0 -19
  93. data/qa/ee/page/project/secure/show.rb +0 -17
  94. data/qa/ee/page/project/settings/ci_cd.rb +0 -25
  95. data/qa/ee/page/project/settings/integrations.rb +0 -21
  96. data/qa/ee/page/project/settings/license_compliance.rb +0 -67
  97. data/qa/ee/page/project/settings/merge_request.rb +0 -27
  98. data/qa/ee/page/project/settings/mirroring_repositories.rb +0 -30
  99. data/qa/ee/page/project/settings/protected_branches.rb +0 -37
  100. data/qa/ee/page/project/settings/push_rules.rb +0 -82
  101. data/qa/ee/page/project/settings/repository.rb +0 -27
  102. data/qa/ee/page/project/settings/services/jenkins.rb +0 -56
  103. data/qa/ee/page/project/show.rb +0 -35
  104. data/qa/ee/page/project/sub_menus/packages.rb +0 -27
  105. data/qa/ee/page/project/sub_menus/project.rb +0 -21
  106. data/qa/ee/page/project/sub_menus/repository.rb +0 -29
  107. data/qa/ee/page/project/sub_menus/security_compliance.rb +0 -44
  108. data/qa/ee/page/project/sub_menus/settings.rb +0 -42
  109. data/qa/ee/page/project/wiki/show.rb +0 -31
  110. data/qa/ee/resource/board/base_board.rb +0 -26
  111. data/qa/ee/resource/board/board_list/group/board_list.rb +0 -57
  112. data/qa/ee/resource/board/board_list/project/assignee_board_list.rb +0 -23
  113. data/qa/ee/resource/board/board_list/project/base_board_list.rb +0 -50
  114. data/qa/ee/resource/board/board_list/project/label_board_list.rb +0 -28
  115. data/qa/ee/resource/board/board_list/project/milestone_board_list.rb +0 -28
  116. data/qa/ee/resource/board/group_board.rb +0 -25
  117. data/qa/ee/resource/board/project_board.rb +0 -25
  118. data/qa/ee/resource/epic.rb +0 -60
  119. data/qa/ee/resource/geo/node.rb +0 -31
  120. data/qa/ee/resource/group_label.rb +0 -50
  121. data/qa/ee/resource/license.rb +0 -21
  122. data/qa/ee/resource/project_milestone.rb +0 -20
  123. data/qa/ee/resource/settings/elasticsearch.rb +0 -60
  124. data/qa/ee/runtime/env.rb +0 -30
  125. data/qa/ee/runtime/geo.rb +0 -28
  126. data/qa/ee/runtime/saml.rb +0 -37
  127. data/qa/ee/scenario/test/geo.rb +0 -211
  128. data/qa/ee/scenario/test/integration/elasticsearch.rb +0 -15
  129. data/qa/ee/scenario/test/integration/group_saml.rb +0 -17
  130. data/qa/ee/scenario/test/sanity/selectors.rb +0 -17
  131. data/qa/ee/strategy.rb +0 -28
  132. data/qa/fixtures/auto_devops_rack/Dockerfile +0 -9
  133. data/qa/fixtures/auto_devops_rack/Gemfile +0 -3
  134. data/qa/fixtures/auto_devops_rack/Gemfile.lock +0 -15
  135. data/qa/fixtures/auto_devops_rack/Rakefile +0 -7
  136. data/qa/fixtures/auto_devops_rack/config.ru +0 -1
  137. data/qa/fixtures/ldap/admin/1_add_nodes.ldif +0 -7
  138. data/qa/fixtures/ldap/admin/2_add_users.ldif +0 -63
  139. data/qa/fixtures/ldap/admin/3_add_groups.ldif +0 -16
  140. data/qa/fixtures/ldap/non_admin/1_add_nodes.ldif +0 -7
  141. data/qa/fixtures/ldap/non_admin/2_add_users.ldif +0 -61
  142. data/qa/fixtures/ldap/non_admin/3_add_groups.ldif +0 -16
  143. data/qa/fixtures/monitored_auto_devops/.gitlab-ci.yml +0 -337
  144. data/qa/flow/login.rb +0 -39
  145. data/qa/flow/project.rb +0 -19
  146. data/qa/flow/saml.rb +0 -72
  147. data/qa/flow/user.rb +0 -26
  148. data/qa/git/location.rb +0 -34
  149. data/qa/git/repository.rb +0 -269
  150. data/qa/page/admin/menu.rb +0 -110
  151. data/qa/page/admin/new_session.rb +0 -22
  152. data/qa/page/admin/overview/groups/edit.rb +0 -23
  153. data/qa/page/admin/overview/groups/index.rb +0 -32
  154. data/qa/page/admin/overview/groups/show.rb +0 -21
  155. data/qa/page/admin/overview/users/index.rb +0 -35
  156. data/qa/page/admin/overview/users/show.rb +0 -31
  157. data/qa/page/admin/settings/component/account_and_limit.rb +0 -26
  158. data/qa/page/admin/settings/component/ip_limits.rb +0 -30
  159. data/qa/page/admin/settings/component/outbound_requests.rb +0 -33
  160. data/qa/page/admin/settings/component/performance_bar.rb +0 -27
  161. data/qa/page/admin/settings/component/repository_storage.rb +0 -26
  162. data/qa/page/admin/settings/general.rb +0 -23
  163. data/qa/page/admin/settings/metrics_and_profiling.rb +0 -23
  164. data/qa/page/admin/settings/network.rb +0 -30
  165. data/qa/page/admin/settings/repository.rb +0 -23
  166. data/qa/page/alert/auto_devops_alert.rb +0 -13
  167. data/qa/page/base.rb +0 -348
  168. data/qa/page/component/breadcrumbs.rb +0 -19
  169. data/qa/page/component/ci_badge_link.rb +0 -49
  170. data/qa/page/component/clone_panel.rb +0 -38
  171. data/qa/page/component/confirm_modal.rb +0 -25
  172. data/qa/page/component/dropdown_filter.rb +0 -16
  173. data/qa/page/component/dropzone.rb +0 -33
  174. data/qa/page/component/groups_filter.rb +0 -37
  175. data/qa/page/component/issuable/common.rb +0 -31
  176. data/qa/page/component/lazy_loader.rb +0 -15
  177. data/qa/page/component/legacy_clone_panel.rb +0 -47
  178. data/qa/page/component/note.rb +0 -84
  179. data/qa/page/component/select2.rb +0 -48
  180. data/qa/page/component/users_select.rb +0 -14
  181. data/qa/page/component/web_ide/alert.rb +0 -27
  182. data/qa/page/dashboard/groups.rb +0 -34
  183. data/qa/page/dashboard/projects.rb +0 -37
  184. data/qa/page/dashboard/snippet/index.rb +0 -21
  185. data/qa/page/dashboard/snippet/new.rb +0 -70
  186. data/qa/page/dashboard/snippet/show.rb +0 -63
  187. data/qa/page/dashboard/welcome.rb +0 -17
  188. data/qa/page/element.rb +0 -55
  189. data/qa/page/file/edit.rb +0 -13
  190. data/qa/page/file/form.rb +0 -49
  191. data/qa/page/file/shared/commit_button.rb +0 -25
  192. data/qa/page/file/shared/commit_message.rb +0 -21
  193. data/qa/page/file/shared/editor.rb +0 -33
  194. data/qa/page/file/show.rb +0 -36
  195. data/qa/page/group/menu.rb +0 -52
  196. data/qa/page/group/new.rb +0 -37
  197. data/qa/page/group/settings/general.rb +0 -115
  198. data/qa/page/group/show.rb +0 -74
  199. data/qa/page/group/sub_menus/common.rb +0 -27
  200. data/qa/page/group/sub_menus/members.rb +0 -45
  201. data/qa/page/issuable/sidebar.rb +0 -27
  202. data/qa/page/label/index.rb +0 -34
  203. data/qa/page/label/new.rb +0 -32
  204. data/qa/page/layout/banner.rb +0 -19
  205. data/qa/page/layout/performance_bar.rb +0 -41
  206. data/qa/page/main/login.rb +0 -181
  207. data/qa/page/main/menu.rb +0 -150
  208. data/qa/page/main/oauth.rb +0 -21
  209. data/qa/page/main/sign_up.rb +0 -37
  210. data/qa/page/main/terms.rb +0 -21
  211. data/qa/page/mattermost/login.rb +0 -28
  212. data/qa/page/mattermost/main.rb +0 -15
  213. data/qa/page/merge_request/new.rb +0 -68
  214. data/qa/page/merge_request/show.rb +0 -232
  215. data/qa/page/profile/emails.rb +0 -29
  216. data/qa/page/profile/menu.rb +0 -52
  217. data/qa/page/profile/password.rb +0 -23
  218. data/qa/page/profile/personal_access_tokens.rb +0 -67
  219. data/qa/page/profile/ssh_keys.rb +0 -42
  220. data/qa/page/profile/two_factor_auth.rb +0 -17
  221. data/qa/page/project/activity.rb +0 -17
  222. data/qa/page/project/branches/show.rb +0 -56
  223. data/qa/page/project/commit/show.rb +0 -32
  224. data/qa/page/project/fork/new.rb +0 -19
  225. data/qa/page/project/import/github.rb +0 -78
  226. data/qa/page/project/issue/index.rb +0 -71
  227. data/qa/page/project/issue/new.rb +0 -35
  228. data/qa/page/project/issue/show.rb +0 -168
  229. data/qa/page/project/job/show.rb +0 -53
  230. data/qa/page/project/menu.rb +0 -43
  231. data/qa/page/project/milestone/index.rb +0 -19
  232. data/qa/page/project/milestone/new.rb +0 -29
  233. data/qa/page/project/new.rb +0 -76
  234. data/qa/page/project/operations/environments/index.rb +0 -21
  235. data/qa/page/project/operations/environments/show.rb +0 -23
  236. data/qa/page/project/operations/kubernetes/add.rb +0 -21
  237. data/qa/page/project/operations/kubernetes/add_existing.rb +0 -46
  238. data/qa/page/project/operations/kubernetes/index.rb +0 -25
  239. data/qa/page/project/operations/kubernetes/show.rb +0 -81
  240. data/qa/page/project/operations/metrics/show.rb +0 -87
  241. data/qa/page/project/pipeline/index.rb +0 -43
  242. data/qa/page/project/pipeline/show.rb +0 -76
  243. data/qa/page/project/settings/advanced.rb +0 -75
  244. data/qa/page/project/settings/auto_devops.rb +0 -21
  245. data/qa/page/project/settings/ci_cd.rb +0 -39
  246. data/qa/page/project/settings/ci_variables.rb +0 -56
  247. data/qa/page/project/settings/common.rb +0 -13
  248. data/qa/page/project/settings/deploy_keys.rb +0 -69
  249. data/qa/page/project/settings/deploy_tokens.rb +0 -64
  250. data/qa/page/project/settings/main.rb +0 -60
  251. data/qa/page/project/settings/members.rb +0 -62
  252. data/qa/page/project/settings/merge_request.rb +0 -32
  253. data/qa/page/project/settings/mirroring_repositories.rb +0 -132
  254. data/qa/page/project/settings/protected_branches.rb +0 -72
  255. data/qa/page/project/settings/repository.rb +0 -55
  256. data/qa/page/project/settings/runners.rb +0 -37
  257. data/qa/page/project/settings/visibility_features_permissions.rb +0 -26
  258. data/qa/page/project/show.rb +0 -165
  259. data/qa/page/project/sub_menus/ci_cd.rb +0 -27
  260. data/qa/page/project/sub_menus/common.rb +0 -19
  261. data/qa/page/project/sub_menus/issues.rb +0 -63
  262. data/qa/page/project/sub_menus/operations.rb +0 -58
  263. data/qa/page/project/sub_menus/project.rb +0 -29
  264. data/qa/page/project/sub_menus/repository.rb +0 -48
  265. data/qa/page/project/sub_menus/settings.rb +0 -81
  266. data/qa/page/project/web_ide/edit.rb +0 -139
  267. data/qa/page/project/wiki/edit.rb +0 -21
  268. data/qa/page/project/wiki/git_access.rb +0 -13
  269. data/qa/page/project/wiki/new.rb +0 -61
  270. data/qa/page/project/wiki/show.rb +0 -31
  271. data/qa/page/search/results.rb +0 -55
  272. data/qa/page/settings/common.rb +0 -26
  273. data/qa/page/sub_menus/common.rb +0 -50
  274. data/qa/page/validatable.rb +0 -21
  275. data/qa/page/validator.rb +0 -52
  276. data/qa/page/view.rb +0 -59
  277. data/qa/resource/api_fabricator.rb +0 -137
  278. data/qa/resource/base.rb +0 -170
  279. data/qa/resource/ci_variable.rb +0 -57
  280. data/qa/resource/deploy_key.rb +0 -39
  281. data/qa/resource/deploy_token.rb +0 -48
  282. data/qa/resource/events/base.rb +0 -42
  283. data/qa/resource/events/project.rb +0 -25
  284. data/qa/resource/file.rb +0 -63
  285. data/qa/resource/fork.rb +0 -92
  286. data/qa/resource/group.rb +0 -83
  287. data/qa/resource/issue.rb +0 -61
  288. data/qa/resource/kubernetes_cluster/base.rb +0 -40
  289. data/qa/resource/kubernetes_cluster/project_cluster.rb +0 -72
  290. data/qa/resource/label.rb +0 -61
  291. data/qa/resource/members.rb +0 -36
  292. data/qa/resource/merge_request.rb +0 -105
  293. data/qa/resource/merge_request_from_fork.rb +0 -33
  294. data/qa/resource/personal_access_token.rb +0 -31
  295. data/qa/resource/project.rb +0 -179
  296. data/qa/resource/project_imported_from_github.rb +0 -31
  297. data/qa/resource/project_member.rb +0 -35
  298. data/qa/resource/project_milestone.rb +0 -34
  299. data/qa/resource/protected_branch.rb +0 -76
  300. data/qa/resource/repository/commit.rb +0 -81
  301. data/qa/resource/repository/project_push.rb +0 -44
  302. data/qa/resource/repository/push.rb +0 -113
  303. data/qa/resource/repository/wiki_push.rb +0 -38
  304. data/qa/resource/runner.rb +0 -75
  305. data/qa/resource/sandbox.rb +0 -79
  306. data/qa/resource/settings/hashed_storage.rb +0 -26
  307. data/qa/resource/snippet.rb +0 -30
  308. data/qa/resource/ssh_key.rb +0 -57
  309. data/qa/resource/tag.rb +0 -30
  310. data/qa/resource/user.rb +0 -150
  311. data/qa/resource/user_gpg.rb +0 -46
  312. data/qa/resource/visibility.rb +0 -17
  313. data/qa/resource/wiki.rb +0 -48
  314. data/qa/runtime/address.rb +0 -29
  315. data/qa/runtime/api/client.rb +0 -90
  316. data/qa/runtime/api/request.rb +0 -49
  317. data/qa/runtime/application_settings.rb +0 -46
  318. data/qa/runtime/browser.rb +0 -220
  319. data/qa/runtime/env.rb +0 -330
  320. data/qa/runtime/feature.rb +0 -87
  321. data/qa/runtime/fixtures.rb +0 -43
  322. data/qa/runtime/gpg.rb +0 -37
  323. data/qa/runtime/ip_address.rb +0 -33
  324. data/qa/runtime/key/base.rb +0 -38
  325. data/qa/runtime/key/ecdsa.rb +0 -13
  326. data/qa/runtime/key/ed25519.rb +0 -13
  327. data/qa/runtime/key/rsa.rb +0 -13
  328. data/qa/runtime/mail_hog.rb +0 -15
  329. data/qa/runtime/namespace.rb +0 -27
  330. data/qa/runtime/path.rb +0 -13
  331. data/qa/runtime/release.rb +0 -40
  332. data/qa/runtime/scenario.rb +0 -38
  333. data/qa/runtime/search.rb +0 -124
  334. data/qa/runtime/user.rb +0 -57
  335. data/qa/scenario/actable.rb +0 -25
  336. data/qa/scenario/bootable.rb +0 -53
  337. data/qa/scenario/shared_attributes.rb +0 -14
  338. data/qa/scenario/template.rb +0 -64
  339. data/qa/scenario/test/instance.rb +0 -36
  340. data/qa/scenario/test/instance/all.rb +0 -18
  341. data/qa/scenario/test/instance/smoke.rb +0 -20
  342. data/qa/scenario/test/integration/github.rb +0 -20
  343. data/qa/scenario/test/integration/instance_saml.rb +0 -13
  344. data/qa/scenario/test/integration/kubernetes.rb +0 -13
  345. data/qa/scenario/test/integration/ldap_no_server.rb +0 -13
  346. data/qa/scenario/test/integration/ldap_no_tls.rb +0 -13
  347. data/qa/scenario/test/integration/ldap_tls.rb +0 -13
  348. data/qa/scenario/test/integration/mattermost.rb +0 -26
  349. data/qa/scenario/test/integration/object_storage.rb +0 -13
  350. data/qa/scenario/test/integration/smtp.rb +0 -13
  351. data/qa/scenario/test/sanity/framework.rb +0 -19
  352. data/qa/scenario/test/sanity/selectors.rb +0 -61
  353. data/qa/service/cluster_provider/base.rb +0 -41
  354. data/qa/service/cluster_provider/gcloud.rb +0 -115
  355. data/qa/service/cluster_provider/k3d.rb +0 -134
  356. data/qa/service/cluster_provider/k3s.rb +0 -94
  357. data/qa/service/cluster_provider/minikube.rb +0 -26
  358. data/qa/service/docker_run/base.rb +0 -47
  359. data/qa/service/docker_run/gitlab_runner.rb +0 -58
  360. data/qa/service/docker_run/jenkins.rb +0 -43
  361. data/qa/service/docker_run/k3s.rb +0 -46
  362. data/qa/service/docker_run/ldap.rb +0 -41
  363. data/qa/service/docker_run/maven.rb +0 -44
  364. data/qa/service/docker_run/node_js.rb +0 -38
  365. data/qa/service/docker_run/saml_idp.rb +0 -69
  366. data/qa/service/kubernetes_cluster.rb +0 -107
  367. data/qa/service/omnibus.rb +0 -23
  368. data/qa/service/shellout.rb +0 -31
  369. data/qa/specs/features/api/1_manage/.gitkeep +0 -0
  370. data/qa/specs/features/api/1_manage/rate_limits_spec.rb +0 -17
  371. data/qa/specs/features/api/1_manage/users_spec.rb +0 -35
  372. data/qa/specs/features/api/2_plan/.gitkeep +0 -0
  373. data/qa/specs/features/api/2_plan/closes_issue_via_pushing_a_commit_spec.rb +0 -48
  374. data/qa/specs/features/api/3_create/repository/files_spec.rb +0 -106
  375. data/qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb +0 -74
  376. data/qa/specs/features/api/4_verify/.gitkeep +0 -0
  377. data/qa/specs/features/api/5_package/.gitkeep +0 -0
  378. data/qa/specs/features/api/6_release/.gitkeep +0 -0
  379. data/qa/specs/features/api/7_configure/.gitkeep +0 -0
  380. data/qa/specs/features/browser_ui/1_manage/group/create_group_with_mattermost_team_spec.rb +0 -20
  381. data/qa/specs/features/browser_ui/1_manage/group/transfer_project_spec.rb +0 -56
  382. data/qa/specs/features/browser_ui/1_manage/login/log_in_spec.rb +0 -25
  383. data/qa/specs/features/browser_ui/1_manage/login/log_into_gitlab_via_ldap_spec.rb +0 -15
  384. data/qa/specs/features/browser_ui/1_manage/login/log_into_mattermost_via_gitlab_spec.rb +0 -20
  385. data/qa/specs/features/browser_ui/1_manage/login/login_via_instance_wide_saml_sso_spec.rb +0 -19
  386. data/qa/specs/features/browser_ui/1_manage/login/register_spec.rb +0 -27
  387. data/qa/specs/features/browser_ui/1_manage/project/add_project_member_spec.rb +0 -24
  388. data/qa/specs/features/browser_ui/1_manage/project/create_project_spec.rb +0 -23
  389. data/qa/specs/features/browser_ui/1_manage/project/dashboard_images_spec.rb +0 -57
  390. data/qa/specs/features/browser_ui/1_manage/project/import_github_repo_spec.rb +0 -117
  391. data/qa/specs/features/browser_ui/1_manage/project/view_project_activity_spec.rb +0 -22
  392. data/qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb +0 -46
  393. data/qa/specs/features/browser_ui/2_plan/issue/check_mentions_for_xss_spec.rb +0 -45
  394. data/qa/specs/features/browser_ui/2_plan/issue/collapse_comments_in_discussions_spec.rb +0 -35
  395. data/qa/specs/features/browser_ui/2_plan/issue/comment_issue_spec.rb +0 -29
  396. data/qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb +0 -40
  397. data/qa/specs/features/browser_ui/2_plan/issue/export_as_csv_spec.rb +0 -40
  398. data/qa/specs/features/browser_ui/2_plan/issue/filter_issue_comments_spec.rb +0 -36
  399. data/qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb +0 -28
  400. data/qa/specs/features/browser_ui/2_plan/issue/mentions_spec.rb +0 -35
  401. data/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb +0 -64
  402. data/qa/specs/features/browser_ui/3_create/merge_request/merge_merge_request_from_fork_spec.rb +0 -26
  403. data/qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb +0 -49
  404. data/qa/specs/features/browser_ui/3_create/merge_request/squash_merge_request_spec.rb +0 -52
  405. data/qa/specs/features/browser_ui/3_create/merge_request/view_merge_request_diff_patch_spec.rb +0 -35
  406. data/qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb +0 -68
  407. data/qa/specs/features/browser_ui/3_create/repository/add_list_delete_branches_spec.rb +0 -88
  408. data/qa/specs/features/browser_ui/3_create/repository/add_ssh_key_spec.rb +0 -30
  409. data/qa/specs/features/browser_ui/3_create/repository/clone_spec.rb +0 -51
  410. data/qa/specs/features/browser_ui/3_create/repository/create_edit_delete_file_via_web_spec.rb +0 -58
  411. data/qa/specs/features/browser_ui/3_create/repository/move_project_create_fork_spec.rb +0 -53
  412. data/qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_http_spec.rb +0 -48
  413. data/qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_ssh_spec.rb +0 -74
  414. data/qa/specs/features/browser_ui/3_create/repository/push_http_private_token_spec.rb +0 -34
  415. data/qa/specs/features/browser_ui/3_create/repository/push_mirroring_over_http_spec.rb +0 -43
  416. data/qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb +0 -81
  417. data/qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb +0 -44
  418. data/qa/specs/features/browser_ui/3_create/repository/push_protected_branch_spec.rb +0 -63
  419. data/qa/specs/features/browser_ui/3_create/repository/use_ssh_key_spec.rb +0 -37
  420. data/qa/specs/features/browser_ui/3_create/repository/user_views_commit_diff_patch_spec.rb +0 -66
  421. data/qa/specs/features/browser_ui/3_create/snippet/create_snippet_spec.rb +0 -29
  422. data/qa/specs/features/browser_ui/3_create/web_ide/add_file_template_spec.rb +0 -69
  423. data/qa/specs/features/browser_ui/3_create/web_ide/review_merge_request_spec.rb +0 -43
  424. data/qa/specs/features/browser_ui/3_create/wiki/create_edit_clone_push_wiki_spec.rb +0 -42
  425. data/qa/specs/features/browser_ui/4_verify/ci_variable/add_remove_ci_variable_spec.rb +0 -60
  426. data/qa/specs/features/browser_ui/4_verify/pipeline/create_and_process_pipeline_spec.rb +0 -89
  427. data/qa/specs/features/browser_ui/4_verify/runner/register_runner_spec.rb +0 -34
  428. data/qa/specs/features/browser_ui/5_package/.gitkeep +0 -0
  429. data/qa/specs/features/browser_ui/6_release/deploy_key/add_deploy_key_spec.rb +0 -28
  430. data/qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb +0 -102
  431. data/qa/specs/features/browser_ui/6_release/deploy_token/add_deploy_token_spec.rb +0 -22
  432. data/qa/specs/features/browser_ui/6_release/pipeline/parent_child_pipelines_dependent_relationship_spec.rb +0 -122
  433. data/qa/specs/features/browser_ui/6_release/pipeline/parent_child_pipelines_independent_relationship_spec.rb +0 -121
  434. data/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb +0 -147
  435. data/qa/specs/features/browser_ui/7_configure/kubernetes/kubernetes_integration_spec.rb +0 -38
  436. data/qa/specs/features/browser_ui/8_monitor/apm/dashboards_spec.rb +0 -97
  437. data/qa/specs/features/browser_ui/non_devops/performance_bar_spec.rb +0 -38
  438. data/qa/specs/features/ee/api/1_manage/.gitkeep +0 -0
  439. data/qa/specs/features/ee/api/2_plan/.gitkeep +0 -0
  440. data/qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb +0 -173
  441. data/qa/specs/features/ee/api/3_create/.gitkeep +0 -0
  442. data/qa/specs/features/ee/api/4_verify/.gitkeep +0 -0
  443. data/qa/specs/features/ee/api/5_package/.gitkeep +0 -0
  444. data/qa/specs/features/ee/api/6_release/.gitkeep +0 -0
  445. data/qa/specs/features/ee/api/7_configure/.gitkeep +0 -0
  446. data/qa/specs/features/ee/api/enablement/elasticsearch/advanced_global_advanced_syntax_search_spec.rb +0 -70
  447. data/qa/specs/features/ee/api/enablement/elasticsearch/elasticsearch_api_spec.rb +0 -84
  448. data/qa/specs/features/ee/api/geo/geo_nodes_spec.rb +0 -91
  449. data/qa/specs/features/ee/browser_ui/1_manage/.gitkeep +0 -0
  450. data/qa/specs/features/ee/browser_ui/1_manage/group/group_audit_logs_1_spec.rb +0 -155
  451. data/qa/specs/features/ee/browser_ui/1_manage/group/group_audit_logs_2_spec.rb +0 -103
  452. data/qa/specs/features/ee/browser_ui/1_manage/group/group_file_template_spec.rb +0 -141
  453. data/qa/specs/features/ee/browser_ui/1_manage/group/group_ldap_sync_spec.rb +0 -183
  454. data/qa/specs/features/ee/browser_ui/1_manage/group/group_saml_enforced_sso_spec.rb +0 -115
  455. data/qa/specs/features/ee/browser_ui/1_manage/group/group_saml_group_managed_accounts_spec.rb +0 -178
  456. data/qa/specs/features/ee/browser_ui/1_manage/group/group_saml_non_enforced_sso_spec.rb +0 -87
  457. data/qa/specs/features/ee/browser_ui/1_manage/group/restrict_by_ip_address_spec.rb +0 -107
  458. data/qa/specs/features/ee/browser_ui/1_manage/insights/default_insights_spec.rb +0 -48
  459. data/qa/specs/features/ee/browser_ui/1_manage/instance/instance_audit_logs_spec.rb +0 -124
  460. data/qa/specs/features/ee/browser_ui/1_manage/ldap/admin_ldap_sync_spec.rb +0 -63
  461. data/qa/specs/features/ee/browser_ui/1_manage/project/project_audit_logs_spec.rb +0 -127
  462. data/qa/specs/features/ee/browser_ui/1_manage/project/project_templates_spec.rb +0 -165
  463. data/qa/specs/features/ee/browser_ui/2_plan/.gitkeep +0 -0
  464. data/qa/specs/features/ee/browser_ui/2_plan/burndown_chart/burndown_chart_spec.rb +0 -46
  465. data/qa/specs/features/ee/browser_ui/2_plan/custom_email/custom_email_spec.rb +0 -28
  466. data/qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb +0 -96
  467. data/qa/specs/features/ee/browser_ui/2_plan/epic/promote_issue_to_epic_spec.rb +0 -40
  468. data/qa/specs/features/ee/browser_ui/2_plan/epic/roadmap_spec.rb +0 -31
  469. data/qa/specs/features/ee/browser_ui/2_plan/issue_boards/configurable_issue_board_spec.rb +0 -28
  470. data/qa/specs/features/ee/browser_ui/2_plan/issue_boards/configure_issue_board_by_label_spec.rb +0 -44
  471. data/qa/specs/features/ee/browser_ui/2_plan/issue_boards/create_group_issue_board_spec.rb +0 -31
  472. data/qa/specs/features/ee/browser_ui/2_plan/issue_boards/focus_mode_spec.rb +0 -28
  473. data/qa/specs/features/ee/browser_ui/2_plan/issue_boards/group_issue_boards_spec.rb +0 -48
  474. data/qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb +0 -103
  475. data/qa/specs/features/ee/browser_ui/2_plan/issue_boards/read_only_board_configuration_spec.rb +0 -37
  476. data/qa/specs/features/ee/browser_ui/2_plan/issue_boards/sum_of_issues_weights_spec.rb +0 -40
  477. data/qa/specs/features/ee/browser_ui/2_plan/issues_analytics/issues_analytics_spec.rb +0 -35
  478. data/qa/specs/features/ee/browser_ui/2_plan/issues_weight/issue_weight_visualization_spec.rb +0 -46
  479. data/qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/four_assignees_spec.rb +0 -45
  480. data/qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/more_than_four_assignees_spec.rb +0 -70
  481. data/qa/specs/features/ee/browser_ui/2_plan/related_issues/related_issues_spec.rb +0 -50
  482. data/qa/specs/features/ee/browser_ui/2_plan/scoped_labels/editing_scoped_labels_spec.rb +0 -58
  483. data/qa/specs/features/ee/browser_ui/3_create/.gitkeep +0 -0
  484. data/qa/specs/features/ee/browser_ui/3_create/contribution_analytics_spec.rb +0 -53
  485. data/qa/specs/features/ee/browser_ui/3_create/design_management_spec.rb +0 -29
  486. data/qa/specs/features/ee/browser_ui/3_create/jenkins/jenkins_build_status_spec.rb +0 -158
  487. data/qa/specs/features/ee/browser_ui/3_create/merge_request/add_batch_comments_in_merge_request_spec.rb +0 -80
  488. data/qa/specs/features/ee/browser_ui/3_create/merge_request/approval_rules_spec.rb +0 -97
  489. data/qa/specs/features/ee/browser_ui/3_create/repository/assign_code_owners_spec.rb +0 -83
  490. data/qa/specs/features/ee/browser_ui/3_create/repository/code_owners_spec.rb +0 -75
  491. data/qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb +0 -161
  492. data/qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_http_spec.rb +0 -52
  493. data/qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb +0 -71
  494. data/qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb +0 -202
  495. data/qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb +0 -120
  496. data/qa/specs/features/ee/browser_ui/3_create/web_ide/web_terminal_spec.rb +0 -80
  497. data/qa/specs/features/ee/browser_ui/4_verify/.gitkeep +0 -0
  498. data/qa/specs/features/ee/browser_ui/5_package/.gitkeep +0 -0
  499. data/qa/specs/features/ee/browser_ui/5_package/maven_repository_spec.rb +0 -102
  500. data/qa/specs/features/ee/browser_ui/5_package/npm_registry_spec.rb +0 -75
  501. data/qa/specs/features/ee/browser_ui/6_release/.gitkeep +0 -0
  502. data/qa/specs/features/ee/browser_ui/6_release/multi-project_pipelines_spec.rb +0 -98
  503. data/qa/specs/features/ee/browser_ui/6_release/pipelines_for_merged_results_and_merge_trains_spec.rb +0 -137
  504. data/qa/specs/features/ee/browser_ui/7_configure/.gitkeep +0 -0
  505. data/qa/specs/features/ee/browser_ui/8_monitor/.gitkeep +0 -0
  506. data/qa/specs/features/ee/browser_ui/8_monitor/apm/metrics_spec.rb +0 -68
  507. data/qa/specs/features/ee/browser_ui/8_monitor/health/alerting_spec.rb +0 -106
  508. data/qa/specs/features/ee/browser_ui/8_monitor/health/cluster_health_spec.rb +0 -52
  509. data/qa/specs/features/ee/browser_ui/enablement/elasticsearch/elasticsearch_reindexing_spec.rb +0 -78
  510. data/qa/specs/features/ee/browser_ui/geo/attachment_replication_spec.rb +0 -63
  511. data/qa/specs/features/ee/browser_ui/geo/database_delete_replication_spec.rb +0 -60
  512. data/qa/specs/features/ee/browser_ui/geo/http_push_spec.rb +0 -121
  513. data/qa/specs/features/ee/browser_ui/geo/http_push_to_secondary_spec.rb +0 -174
  514. data/qa/specs/features/ee/browser_ui/geo/rename_replication_spec.rb +0 -75
  515. data/qa/specs/features/ee/browser_ui/geo/ssh_push_spec.rb +0 -151
  516. data/qa/specs/features/ee/browser_ui/geo/ssh_push_to_secondary_spec.rb +0 -189
  517. data/qa/specs/features/ee/browser_ui/geo/wiki_http_push_spec.rb +0 -68
  518. data/qa/specs/features/ee/browser_ui/geo/wiki_http_push_to_secondary_spec.rb +0 -105
  519. data/qa/specs/features/ee/browser_ui/geo/wiki_ssh_push_spec.rb +0 -93
  520. data/qa/specs/features/ee/browser_ui/geo/wiki_ssh_push_to_secondary_spec.rb +0 -110
  521. data/qa/specs/features/ee/browser_ui/secure/create_merge_request_with_secure_spec.rb +0 -79
  522. data/qa/specs/features/ee/browser_ui/secure/license_compliance_spec.rb +0 -98
  523. data/qa/specs/features/ee/browser_ui/secure/merge_request_license_widget_spec.rb +0 -134
  524. data/qa/specs/features/ee/browser_ui/secure/security_reports_spec.rb +0 -143
  525. data/qa/specs/features/ee/browser_ui/secure/vulnerability_management_spec.rb +0 -101
  526. data/qa/specs/features/sanity/framework_spec.rb +0 -21
  527. data/qa/specs/helpers/quarantine.rb +0 -84
  528. data/qa/specs/loop_runner.rb +0 -21
  529. data/qa/specs/parallel_runner.rb +0 -33
  530. data/qa/specs/runner.rb +0 -78
  531. data/qa/support/dates.rb +0 -21
  532. data/qa/support/page/logging.rb +0 -178
  533. data/qa/support/retrier.rb +0 -64
  534. data/qa/support/wait_for_requests.rb +0 -25
  535. data/qa/tools/delete_subgroups.rb +0 -66
  536. data/qa/tools/delete_test_ssh_keys.rb +0 -61
  537. data/qa/tools/generate_perf_testdata.rb +0 -301
  538. data/qa/tools/revoke_all_personal_access_tokens.rb +0 -44
  539. data/qa/vendor/jenkins/page/base.rb +0 -24
  540. data/qa/vendor/jenkins/page/configure.rb +0 -48
  541. data/qa/vendor/jenkins/page/configure_job.rb +0 -72
  542. data/qa/vendor/jenkins/page/last_job_console.rb +0 -44
  543. data/qa/vendor/jenkins/page/login.rb +0 -31
  544. data/qa/vendor/jenkins/page/new_credentials.rb +0 -50
  545. data/qa/vendor/jenkins/page/new_job.rb +0 -38
  546. data/qa/vendor/saml_idp/page/base.rb +0 -14
  547. data/qa/vendor/saml_idp/page/login.rb +0 -31
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module QA
4
- context 'Create' do
5
- describe 'Git push over HTTP', :ldap_no_tls do
6
- it 'user using a personal access token pushes code to the repository' do
7
- Flow::Login.sign_in
8
-
9
- access_token = Resource::PersonalAccessToken.fabricate!.access_token
10
-
11
- user = Resource::User.new.tap do |user|
12
- user.username = Runtime::User.username
13
- user.password = access_token
14
- end
15
-
16
- push = Resource::Repository::ProjectPush.fabricate! do |push|
17
- push.user = user
18
- push.file_name = 'README.md'
19
- push.file_content = '# This is a test project'
20
- push.commit_message = 'Add README.md'
21
- end
22
-
23
- push.project.visit!
24
-
25
- Page::Project::Show.perform(&:wait_for_viewers_to_load)
26
-
27
- Page::Project::Show.perform do |project|
28
- expect(project).to have_file('README.md')
29
- expect(project).to have_readme_content('This is a test project')
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module QA
4
- context 'Create' do
5
- describe 'Push mirror a repository over HTTP' do
6
- it 'configures and syncs a (push) mirrored repository' do
7
- Runtime::Browser.visit(:gitlab, Page::Main::Login)
8
- Page::Main::Login.perform(&:sign_in_using_credentials)
9
-
10
- target_project = Resource::Project.fabricate_via_api! do |project|
11
- project.name = 'push-mirror-target-project'
12
- end
13
- target_project_uri = target_project.repository_http_location.uri
14
- target_project_uri.user = Runtime::User.username
15
-
16
- source_project_push = Resource::Repository::ProjectPush.fabricate! do |push|
17
- push.file_name = 'README.md'
18
- push.file_content = '# This is a test project'
19
- push.commit_message = 'Add README.md'
20
- end
21
- source_project_push.project.visit!
22
-
23
- Page::Project::Menu.perform(&:go_to_repository_settings)
24
- Page::Project::Settings::Repository.perform do |settings|
25
- settings.expand_mirroring_repositories do |mirror_settings|
26
- # Configure the source project to push to the target project
27
- mirror_settings.repository_url = target_project_uri
28
- mirror_settings.mirror_direction = 'Push'
29
- mirror_settings.authentication_method = 'Password'
30
- mirror_settings.password = Runtime::User.password
31
- mirror_settings.mirror_repository
32
- mirror_settings.update target_project_uri
33
- end
34
- end
35
-
36
- # Check that the target project has the commit from the source
37
- target_project.visit!
38
- expect(page).to have_content('README.md')
39
- expect(page).to have_content('This is a test project')
40
- end
41
- end
42
- end
43
- end
@@ -1,81 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module QA
4
- context 'Create', :requires_admin do
5
- describe 'push after setting the file size limit via admin/application_settings' do
6
- before(:context) do
7
- @project = Resource::Project.fabricate_via_api! do |p|
8
- p.name = 'project-test-push-limit'
9
- p.initialize_with_readme = true
10
- end
11
-
12
- @api_client = Runtime::API::Client.new(:gitlab, personal_access_token: Runtime::Env.admin_personal_access_token)
13
- end
14
-
15
- after(:context) do
16
- # need to set the default value after test
17
- # default value for file size limit is empty
18
- set_file_size_limit(nil)
19
- end
20
-
21
- it 'push successful when the file size is under the limit' do
22
- set_file_size_limit(5)
23
-
24
- retry_on_fail do
25
- push = push_new_file('oversize_file_1.bin', wait_for_push: true)
26
-
27
- expect(push.output).not_to have_content 'remote: fatal: pack exceeds maximum allowed size'
28
- end
29
- end
30
-
31
- it 'push fails when the file size is above the limit' do
32
- set_file_size_limit(1)
33
-
34
- retry_on_fail do
35
- expect { push_new_file('oversize_file_2.bin', wait_for_push: false) }
36
- .to raise_error(QA::Git::Repository::RepositoryCommandError, /remote: fatal: pack exceeds maximum allowed size/)
37
- end
38
- end
39
-
40
- def set_file_size_limit(limit)
41
- request = Runtime::API::Request.new(@api_client, '/application/settings')
42
- put request.url, receive_max_input_size: limit
43
-
44
- expect_status(200)
45
- expect(json_body).to match(
46
- a_hash_including(receive_max_input_size: limit)
47
- )
48
- end
49
-
50
- def push_new_file(file_name, wait_for_push: true)
51
- commit_message = 'Adding a new file'
52
- output = Resource::Repository::Push.fabricate! do |p|
53
- p.repository_http_uri = @project.repository_http_location.uri
54
- p.file_name = file_name
55
- p.file_content = SecureRandom.random_bytes(2000000)
56
- p.commit_message = commit_message
57
- p.new_branch = false
58
- end
59
- @project.wait_for_push commit_message
60
-
61
- output
62
- end
63
-
64
- # Application settings are cached for up to a minute. So when we change
65
- # the `receive_max_input_size` setting, the setting might not be applied
66
- # for minute. This caused the tests to intermittently fail.
67
- # See https://gitlab.com/gitlab-org/quality/nightly/issues/113
68
- #
69
- # Instead of waiting a minute after changing the setting, we retry the
70
- # attempt to push if it fails. Most of the time the setting is updated in
71
- # under a minute, i.e., in fewer than 6 attempts with a 10 second sleep
72
- # between attempts.
73
- # See https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/30233#note_188616863
74
- def retry_on_fail
75
- Support::Retrier.retry_on_exception(max_attempts: 6, reload_page: nil, sleep_interval: 10) do
76
- yield
77
- end
78
- end
79
- end
80
- end
81
- end
@@ -1,44 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module QA
4
- context 'Create' do
5
- describe 'Git push over HTTP', :ldap_no_tls do
6
- it 'user pushes code to the repository' do
7
- Flow::Login.sign_in
8
-
9
- Resource::Repository::ProjectPush.fabricate! do |push|
10
- push.file_name = 'README.md'
11
- push.file_content = '# This is a test project'
12
- push.commit_message = 'Add README.md'
13
- end.project.visit!
14
-
15
- Page::Project::Show.perform do |project|
16
- expect(project).to have_file('README.md')
17
- expect(project).to have_readme_content('This is a test project')
18
- end
19
- end
20
-
21
- it 'pushes to a project using a specific Praefect repository storage', :smoke, :requires_admin, :requires_praefect do
22
- Flow::Login.sign_in_as_admin
23
-
24
- project = Resource::Project.fabricate_via_api! do |storage_project|
25
- storage_project.name = 'specific-repository-storage'
26
- storage_project.repository_storage = QA::Runtime::Env.praefect_repository_storage
27
- end
28
-
29
- Resource::Repository::Push.fabricate! do |push|
30
- push.repository_http_uri = project.repository_http_location.uri
31
- push.file_name = 'README.md'
32
- push.file_content = "# This is a test project named #{project.name}"
33
- push.commit_message = 'Add README.md'
34
- push.new_branch = true
35
- end
36
-
37
- project.visit!
38
-
39
- expect(page).to have_content('README.md')
40
- expect(page).to have_content("This is a test project named #{project.name}")
41
- end
42
- end
43
- end
44
- end
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module QA
4
- context 'Create' do
5
- describe 'Protected branch support', :ldap_no_tls do
6
- let(:branch_name) { 'protected-branch' }
7
- let(:commit_message) { 'Protected push commit message' }
8
- let(:project) do
9
- Resource::Project.fabricate_via_api! do |resource|
10
- resource.name = 'protected-branch-project'
11
- resource.initialize_with_readme = true
12
- end
13
- end
14
-
15
- before do
16
- Runtime::Browser.visit(:gitlab, Page::Main::Login)
17
- Page::Main::Login.perform(&:sign_in_using_credentials)
18
- end
19
-
20
- context 'when developers and maintainers are allowed to push to a protected branch' do
21
- it 'user with push rights successfully pushes to the protected branch' do
22
- create_protected_branch(allowed_to_push: {
23
- roles: Resource::ProtectedBranch::Roles::DEVS_AND_MAINTAINERS
24
- })
25
-
26
- push = push_new_file(branch_name)
27
-
28
- expect(push.output).to match(/remote: To create a merge request for protected-branch, visit/)
29
- end
30
- end
31
-
32
- context 'when developers and maintainers are not allowed to push to a protected branch' do
33
- it 'user without push rights fails to push to the protected branch' do
34
- create_protected_branch(allowed_to_push: {
35
- roles: Resource::ProtectedBranch::Roles::NO_ONE
36
- })
37
-
38
- expect { push_new_file(branch_name) }.to raise_error(QA::Git::Repository::RepositoryCommandError, /remote: GitLab: You are not allowed to push code to protected branches on this project\.([\s\S]+)\[remote rejected\] #{branch_name} -> #{branch_name} \(pre-receive hook declined\)/)
39
- end
40
- end
41
-
42
- def create_protected_branch(allowed_to_push:)
43
- Resource::ProtectedBranch.fabricate! do |resource|
44
- resource.branch_name = branch_name
45
- resource.project = project
46
- resource.allowed_to_push = allowed_to_push
47
- end
48
- end
49
-
50
- def push_new_file(branch)
51
- Resource::Repository::ProjectPush.fabricate! do |resource|
52
- resource.project = project
53
- resource.file_name = 'new_file.md'
54
- resource.file_content = '# This is a new file'
55
- resource.commit_message = 'Add new_file.md'
56
- resource.branch_name = branch_name
57
- resource.new_branch = false
58
- resource.wait_for_push = false
59
- end
60
- end
61
- end
62
- end
63
- end
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module QA
4
- context 'Create' do
5
- describe 'SSH key support' do
6
- # Note: If you run this test against GDK make sure you've enabled sshd
7
- # See: https://gitlab.com/gitlab-org/gitlab-qa/blob/master/docs/run_qa_against_gdk.md
8
-
9
- let(:key_title) { "key for ssh tests #{Time.now.to_f}" }
10
-
11
- it 'user adds an ssh key and pushes code to the repository' do
12
- Flow::Login.sign_in
13
-
14
- key = Resource::SSHKey.fabricate_via_api! do |resource|
15
- resource.title = key_title
16
- end
17
-
18
- Resource::Repository::ProjectPush.fabricate! do |push|
19
- push.ssh_key = key
20
- push.file_name = 'README.md'
21
- push.file_content = '# Test Use SSH Key'
22
- push.commit_message = 'Add README.md'
23
- end.project.visit!
24
-
25
- expect(page).to have_content('README.md')
26
- expect(page).to have_content('Test Use SSH Key')
27
-
28
- Page::Main::Menu.perform(&:click_settings_link)
29
- Page::Profile::Menu.perform(&:click_ssh_keys)
30
-
31
- Page::Profile::SSHKeys.perform do |ssh_keys|
32
- ssh_keys.remove_key(key_title)
33
- end
34
- end
35
- end
36
- end
37
- end
@@ -1,66 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module QA
4
- context 'Create' do
5
- describe 'Commit data' do
6
- before(:context) do
7
- # Get the user's details to confirm they're included in the email patch
8
- @user = Resource::User.fabricate_via_api! do |user|
9
- user.username = Runtime::User.username
10
- end
11
-
12
- project_push = Resource::Repository::ProjectPush.fabricate! do |push|
13
- push.file_name = 'README.md'
14
- push.file_content = '# This is a test project'
15
- push.commit_message = 'Add README.md'
16
- end
17
- @project = project_push.project
18
-
19
- # first file added has no parent commit, thus no diff data
20
- # add second file to repo to enable diff from initial commit
21
- @commit_message = 'Add second file'
22
-
23
- Resource::File.fabricate_via_api! do |file|
24
- file.project = @project
25
- file.name = 'second'
26
- file.content = 'second file content'
27
- file.commit_message = @commit_message
28
- file.author_name = @user.name
29
- file.author_email = @user.public_email
30
- end
31
- end
32
-
33
- def view_commit
34
- Flow::Login.sign_in
35
-
36
- @project.visit!
37
- Page::Project::Show.perform do |show|
38
- show.click_commit(@commit_message)
39
- end
40
- end
41
-
42
- def raw_content
43
- find('pre').text
44
- end
45
-
46
- it 'user views raw email patch' do
47
- view_commit
48
-
49
- Page::Project::Commit::Show.perform(&:select_email_patches)
50
-
51
- expect(page).to have_content(/From: "?#{Regexp.escape(@user.name)}"? <#{@user.public_email}>/)
52
- expect(page).to have_content('Subject: [PATCH] Add second file')
53
- expect(page).to have_content('diff --git a/second b/second')
54
- end
55
-
56
- it 'user views raw commit diff' do
57
- view_commit
58
-
59
- Page::Project::Commit::Show.perform(&:select_plain_diff)
60
-
61
- expect(raw_content).to start_with('diff --git a/second b/second')
62
- expect(page).to have_content('+second file content')
63
- end
64
- end
65
- end
66
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module QA
4
- context 'Create', :smoke do
5
- describe 'Snippet creation' do
6
- it 'User creates a snippet' do
7
- Flow::Login.sign_in
8
-
9
- Page::Main::Menu.perform(&:go_to_snippets)
10
-
11
- Resource::Snippet.fabricate_via_browser_ui! do |snippet|
12
- snippet.title = 'Snippet title'
13
- snippet.description = 'Snippet description'
14
- snippet.visibility = 'Private'
15
- snippet.file_name = 'New snippet file name'
16
- snippet.file_content = 'Snippet file text'
17
- end
18
-
19
- Page::Dashboard::Snippet::Show.perform do |snippet|
20
- expect(snippet).to have_snippet_title('Snippet title')
21
- expect(snippet).to have_snippet_description('Snippet description')
22
- expect(snippet).to have_visibility_type(/private/i)
23
- expect(snippet).to have_file_name('New snippet file name')
24
- expect(snippet).to have_file_content('Snippet file text')
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,69 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module QA
4
- context 'Create' do
5
- describe 'Web IDE file templates' do
6
- include Runtime::Fixtures
7
-
8
- before(:all) do
9
- @project = Resource::Project.fabricate_via_api! do |project|
10
- project.name = 'file-template-project'
11
- project.description = 'Add file templates via the Web IDE'
12
- project.initialize_with_readme = true
13
- end
14
- end
15
-
16
- templates = [
17
- {
18
- file_name: '.gitignore',
19
- name: 'Android',
20
- api_path: 'gitignores',
21
- api_key: 'Android'
22
- },
23
- {
24
- file_name: '.gitlab-ci.yml',
25
- name: 'Julia',
26
- api_path: 'gitlab_ci_ymls',
27
- api_key: 'Julia'
28
- },
29
- {
30
- file_name: 'Dockerfile',
31
- name: 'Python',
32
- api_path: 'dockerfiles',
33
- api_key: 'Python'
34
- },
35
- {
36
- file_name: 'LICENSE',
37
- name: 'Mozilla Public License 2.0',
38
- api_path: 'licenses',
39
- api_key: 'mpl-2.0'
40
- }
41
- ]
42
-
43
- templates.each do |template|
44
- it "user adds #{template[:file_name]} via file template #{template[:name]}" do
45
- content = fetch_template_from_api(template[:api_path], template[:api_key])
46
-
47
- Flow::Login.sign_in
48
-
49
- @project.visit!
50
-
51
- Page::Project::Show.perform(&:open_web_ide!)
52
- Page::Project::WebIDE::Edit.perform do |ide|
53
- ide.create_new_file_from_template template[:file_name], template[:name]
54
-
55
- expect(ide.has_file?(template[:file_name])).to be_truthy
56
-
57
- expect(ide).to have_button('Undo')
58
- expect(ide).to have_normalized_ws_text(content[0..100])
59
-
60
- ide.commit_changes
61
-
62
- expect(ide).to have_content(template[:file_name])
63
- expect(ide).to have_normalized_ws_text(content[0..100])
64
- end
65
- end
66
- end
67
- end
68
- end
69
- end