gitlab-qa 7.34.0 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/.gitlab/ci/jobs/registry_with_cdn.gitlab-ci.yml +12 -0
  3. data/.rubocop_todo.yml +15 -30
  4. data/Dangerfile +2 -0
  5. data/Gemfile +2 -0
  6. data/Gemfile.lock +3 -2
  7. data/Rakefile +2 -0
  8. data/docs/run_qa_against_gdk.md +5 -0
  9. data/exe/gitlab-qa +1 -0
  10. data/exe/gitlab-qa-report +1 -0
  11. data/gitlab-qa.gemspec +1 -0
  12. data/lib/gitlab/qa/component/base.rb +3 -1
  13. data/lib/gitlab/qa/component/elasticsearch.rb +3 -1
  14. data/lib/gitlab/qa/component/gitlab.rb +42 -24
  15. data/lib/gitlab/qa/component/internet_tunnel.rb +4 -2
  16. data/lib/gitlab/qa/component/jira.rb +4 -2
  17. data/lib/gitlab/qa/component/mail_hog.rb +3 -2
  18. data/lib/gitlab/qa/component/minio.rb +7 -5
  19. data/lib/gitlab/qa/component/postgresql.rb +4 -2
  20. data/lib/gitlab/qa/component/preprod.rb +3 -1
  21. data/lib/gitlab/qa/component/production.rb +3 -1
  22. data/lib/gitlab/qa/component/release.rb +3 -1
  23. data/lib/gitlab/qa/component/saml.rb +4 -2
  24. data/lib/gitlab/qa/component/specs.rb +2 -0
  25. data/lib/gitlab/qa/component/staging.rb +4 -2
  26. data/lib/gitlab/qa/component/staging_ref.rb +4 -2
  27. data/lib/gitlab/qa/docker/command.rb +7 -1
  28. data/lib/gitlab/qa/docker/engine.rb +10 -0
  29. data/lib/gitlab/qa/docker/shellout.rb +24 -14
  30. data/lib/gitlab/qa/docker/volumes.rb +3 -1
  31. data/lib/gitlab/qa/release.rb +6 -4
  32. data/lib/gitlab/qa/report/{junit_test_results.rb → j_unit_test_results.rb} +0 -0
  33. data/lib/gitlab/qa/report/prepare_stage_reports.rb +2 -0
  34. data/lib/gitlab/qa/report/summary_table.rb +2 -0
  35. data/lib/gitlab/qa/report/update_screenshot_path.rb +2 -0
  36. data/lib/gitlab/qa/reporter.rb +2 -0
  37. data/lib/gitlab/qa/runtime/env.rb +9 -4
  38. data/lib/gitlab/qa/scenario/actable.rb +2 -0
  39. data/lib/gitlab/qa/scenario/cli_commands.rb +3 -1
  40. data/lib/gitlab/qa/scenario/template.rb +2 -0
  41. data/lib/gitlab/qa/scenario/test/instance/airgapped.rb +2 -0
  42. data/lib/gitlab/qa/scenario/test/instance/any.rb +2 -0
  43. data/lib/gitlab/qa/scenario/test/instance/deployment_base.rb +2 -0
  44. data/lib/gitlab/qa/scenario/test/instance/geo.rb +2 -0
  45. data/lib/gitlab/qa/scenario/test/instance/image.rb +2 -0
  46. data/lib/gitlab/qa/scenario/test/instance/preprod.rb +2 -0
  47. data/lib/gitlab/qa/scenario/test/instance/production.rb +2 -0
  48. data/lib/gitlab/qa/scenario/test/instance/relative_url.rb +2 -0
  49. data/lib/gitlab/qa/scenario/test/instance/release.rb +2 -0
  50. data/lib/gitlab/qa/scenario/test/instance/repository_storage.rb +2 -0
  51. data/lib/gitlab/qa/scenario/test/instance/smoke.rb +2 -0
  52. data/lib/gitlab/qa/scenario/test/instance/staging.rb +2 -0
  53. data/lib/gitlab/qa/scenario/test/instance/staging_geo.rb +2 -0
  54. data/lib/gitlab/qa/scenario/test/instance/staging_ref.rb +2 -0
  55. data/lib/gitlab/qa/scenario/test/instance/staging_ref_geo.rb +2 -0
  56. data/lib/gitlab/qa/scenario/test/integration/client_ssl.rb +2 -0
  57. data/lib/gitlab/qa/scenario/test/integration/elasticsearch.rb +2 -0
  58. data/lib/gitlab/qa/scenario/test/integration/geo.rb +2 -0
  59. data/lib/gitlab/qa/scenario/test/integration/gitaly_cluster.rb +2 -0
  60. data/lib/gitlab/qa/scenario/test/integration/group_saml.rb +2 -0
  61. data/lib/gitlab/qa/scenario/test/integration/instance_saml.rb +2 -0
  62. data/lib/gitlab/qa/scenario/test/integration/jira.rb +2 -0
  63. data/lib/gitlab/qa/scenario/test/integration/kubernetes.rb +2 -0
  64. data/lib/gitlab/qa/scenario/test/integration/ldap.rb +8 -6
  65. data/lib/gitlab/qa/scenario/test/integration/ldap_no_server.rb +2 -0
  66. data/lib/gitlab/qa/scenario/test/integration/ldap_no_tls.rb +2 -0
  67. data/lib/gitlab/qa/scenario/test/integration/ldap_tls.rb +2 -0
  68. data/lib/gitlab/qa/scenario/test/integration/mattermost.rb +2 -0
  69. data/lib/gitlab/qa/scenario/test/integration/mtls.rb +2 -0
  70. data/lib/gitlab/qa/scenario/test/integration/praefect.rb +2 -0
  71. data/lib/gitlab/qa/scenario/test/integration/saml.rb +2 -0
  72. data/lib/gitlab/qa/scenario/test/integration/smtp.rb +2 -0
  73. data/lib/gitlab/qa/scenario/test/omnibus/image.rb +2 -0
  74. data/lib/gitlab/qa/scenario/test/omnibus/update.rb +2 -0
  75. data/lib/gitlab/qa/scenario/test/omnibus/upgrade.rb +2 -0
  76. data/lib/gitlab/qa/scenario/test/sanity/version.rb +2 -0
  77. data/lib/gitlab/qa/slack/post_to_slack.rb +2 -0
  78. data/lib/gitlab/qa/support/dev_ee_qa_image.rb +3 -1
  79. data/lib/gitlab/qa/support/get_request.rb +2 -0
  80. data/lib/gitlab/qa/support/http_request.rb +2 -0
  81. data/lib/gitlab/qa/support/invalid_response_error.rb +2 -0
  82. data/lib/gitlab/qa/test_logger.rb +1 -1
  83. data/lib/gitlab/qa/version.rb +1 -1
  84. data/lib/gitlab/qa.rb +53 -143
  85. data/scripts/generate-qa-jobs.rb +1 -0
  86. data/support/data/admin_access_token_seed.rb +1 -1
  87. data/support/data/license_usage_seed.rb +2 -1
  88. metadata +17 -3
data/lib/gitlab/qa.rb CHANGED
@@ -1,147 +1,57 @@
1
- module Gitlab
2
- module QA
3
- autoload :Release, 'gitlab/qa/release'
4
- autoload :Reporter, 'gitlab/qa/reporter'
5
- autoload :Runner, 'gitlab/qa/runner'
6
- autoload :TestLogger, 'gitlab/qa/test_logger'
7
-
8
- module Runtime
9
- autoload :Env, 'gitlab/qa/runtime/env'
10
- autoload :Scenario, 'gitlab/qa/runtime/scenario'
11
- autoload :TokenFinder, 'gitlab/qa/runtime/token_finder'
12
- autoload :OmnibusConfiguration, 'gitlab/qa/runtime/omnibus_configuration'
13
- autoload :Logger, 'gitlab/qa/runtime/logger'
14
-
15
- module OmnibusConfigurations
16
- autoload :Default, 'gitlab/qa/runtime/omnibus_configurations/default'
17
- autoload :Packages, 'gitlab/qa/runtime/omnibus_configurations/packages'
18
- autoload :ObjectStorage, 'gitlab/qa/runtime/omnibus_configurations/object_storage'
19
- autoload :ObjectStorageAws, 'gitlab/qa/runtime/omnibus_configurations/object_storage_aws'
20
- autoload :ObjectStorageGcs, 'gitlab/qa/runtime/omnibus_configurations/object_storage_gcs'
21
- autoload :LicenseMode, 'gitlab/qa/runtime/omnibus_configurations/license_mode'
22
- autoload :RegistryObjectStorage, 'gitlab/qa/runtime/omnibus_configurations/registry_object_storage'
23
- autoload :DecompositionSingleDb, 'gitlab/qa/runtime/omnibus_configurations/decomposition_single_db'
24
- autoload :DecompositionMultipleDb, 'gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db'
25
- end
26
- end
27
-
28
- module Scenario
29
- autoload :Actable, 'gitlab/qa/scenario/actable'
30
- autoload :Template, 'gitlab/qa/scenario/template'
31
- autoload :CLICommands, 'gitlab/qa/scenario/cli_commands'
32
-
33
- module Test
34
- module Instance
35
- autoload :Any, 'gitlab/qa/scenario/test/instance/any'
36
- autoload :DeploymentBase, 'gitlab/qa/scenario/test/instance/deployment_base'
37
- autoload :Image, 'gitlab/qa/scenario/test/instance/image'
38
- autoload :RelativeUrl, 'gitlab/qa/scenario/test/instance/relative_url'
39
- autoload :RepositoryStorage, 'gitlab/qa/scenario/test/instance/repository_storage'
40
- autoload :Staging, 'gitlab/qa/scenario/test/instance/staging'
41
- autoload :StagingRef, 'gitlab/qa/scenario/test/instance/staging_ref'
42
- autoload :Production, 'gitlab/qa/scenario/test/instance/production'
43
- autoload :Smoke, 'gitlab/qa/scenario/test/instance/smoke'
44
- autoload :Preprod, 'gitlab/qa/scenario/test/instance/preprod'
45
- autoload :Release, 'gitlab/qa/scenario/test/instance/release'
46
- autoload :Geo, 'gitlab/qa/scenario/test/instance/geo'
47
- autoload :StagingGeo, 'gitlab/qa/scenario/test/instance/staging_geo'
48
- autoload :StagingRefGeo, 'gitlab/qa/scenario/test/instance/staging_ref_geo'
49
- autoload :Airgapped, 'gitlab/qa/scenario/test/instance/airgapped'
50
- end
51
-
52
- module Omnibus
53
- autoload :Image, 'gitlab/qa/scenario/test/omnibus/image'
54
- autoload :Update, 'gitlab/qa/scenario/test/omnibus/update'
55
- autoload :Upgrade, 'gitlab/qa/scenario/test/omnibus/upgrade'
56
- end
1
+ # frozen_string_literal: true
57
2
 
58
- module Integration
59
- autoload :Geo, 'gitlab/qa/scenario/test/integration/geo'
60
- autoload :LDAP, 'gitlab/qa/scenario/test/integration/ldap'
61
- autoload :LDAPNoTLS, 'gitlab/qa/scenario/test/integration/ldap_no_tls'
62
- autoload :LDAPNoServer, 'gitlab/qa/scenario/test/integration/ldap_no_server'
63
- autoload :LDAPTLS, 'gitlab/qa/scenario/test/integration/ldap_tls'
64
- autoload :SAML, 'gitlab/qa/scenario/test/integration/saml'
65
- autoload :GroupSAML, 'gitlab/qa/scenario/test/integration/group_saml'
66
- autoload :InstanceSAML, 'gitlab/qa/scenario/test/integration/instance_saml'
67
- autoload :Mattermost, 'gitlab/qa/scenario/test/integration/mattermost'
68
- autoload :Kubernetes, 'gitlab/qa/scenario/test/integration/kubernetes'
69
- autoload :Praefect, 'gitlab/qa/scenario/test/integration/praefect'
70
- autoload :Elasticsearch, 'gitlab/qa/scenario/test/integration/elasticsearch'
71
- autoload :SMTP, 'gitlab/qa/scenario/test/integration/smtp'
72
- autoload :GitalyCluster, 'gitlab/qa/scenario/test/integration/gitaly_cluster'
73
- autoload :Jira, 'gitlab/qa/scenario/test/integration/jira'
74
- autoload :SSHTunnel, 'gitlab/qa/scenario/test/integration/ssh_tunnel'
75
- autoload :MTLS, 'gitlab/qa/scenario/test/integration/mtls'
76
- autoload :ClientSSL, 'gitlab/qa/scenario/test/integration/client_ssl'
77
- autoload :Registry, 'gitlab/qa/scenario/test/integration/registry'
78
- autoload :RegistryTLS, 'gitlab/qa/scenario/test/integration/registry_tls'
79
- autoload :ServicePingDisabled, 'gitlab/qa/scenario/test/integration/service_ping_disabled'
80
- autoload :Integrations, 'gitlab/qa/scenario/test/integration/integrations'
81
- autoload :RegistryWithCDN, 'gitlab/qa/scenario/test/integration/registry_with_cdn'
82
- end
3
+ require 'rainbow/refinement'
4
+ require 'zeitwerk'
83
5
 
84
- module Sanity
85
- autoload :Version, 'gitlab/qa/scenario/test/sanity/version'
86
- end
87
- end
88
- end
89
-
90
- module Component
91
- autoload :Base, 'gitlab/qa/component/base'
92
- autoload :Gitlab, 'gitlab/qa/component/gitlab'
93
- autoload :InternetTunnel, 'gitlab/qa/component/internet_tunnel'
94
- autoload :LDAP, 'gitlab/qa/component/ldap'
95
- autoload :SAML, 'gitlab/qa/component/saml'
96
- autoload :Specs, 'gitlab/qa/component/specs'
97
- autoload :Staging, 'gitlab/qa/component/staging'
98
- autoload :StagingRef, 'gitlab/qa/component/staging_ref'
99
- autoload :Production, 'gitlab/qa/component/production'
100
- autoload :Minio, 'gitlab/qa/component/minio'
101
- autoload :Preprod, 'gitlab/qa/component/preprod'
102
- autoload :Release, 'gitlab/qa/component/release'
103
- autoload :Elasticsearch, 'gitlab/qa/component/elasticsearch'
104
- autoload :MailHog, 'gitlab/qa/component/mail_hog'
105
- autoload :Jira, 'gitlab/qa/component/jira'
106
- autoload :PostgreSQL, 'gitlab/qa/component/postgresql'
107
- autoload :Telegraf, 'gitlab/qa/component/telegraf'
108
- end
109
-
110
- module Support
111
- autoload :GetRequest, 'gitlab/qa/support/get_request'
112
- autoload :HttpRequest, 'gitlab/qa/support/http_request'
113
- autoload :DevEEQAImage, 'gitlab/qa/support/dev_ee_qa_image'
114
- autoload :InvalidResponseError, 'gitlab/qa/support/invalid_response_error'
115
- end
116
-
117
- module Docker
118
- autoload :Command, 'gitlab/qa/docker/command'
119
- autoload :Engine, 'gitlab/qa/docker/engine'
120
- autoload :Shellout, 'gitlab/qa/docker/shellout'
121
- autoload :Volumes, 'gitlab/qa/docker/volumes'
122
- end
123
-
124
- module Report
125
- autoload :GitlabIssueClient, 'gitlab/qa/report/gitlab_issue_client'
126
- autoload :GitlabIssueDryClient, 'gitlab/qa/report/gitlab_issue_dry_client'
127
- autoload :BaseTestResults, 'gitlab/qa/report/base_test_results'
128
- autoload :RelateFailureIssue, 'gitlab/qa/report/relate_failure_issue'
129
- autoload :JsonTestResults, 'gitlab/qa/report/json_test_results'
130
- autoload :JUnitTestResults, 'gitlab/qa/report/junit_test_results'
131
- autoload :PrepareStageReports, 'gitlab/qa/report/prepare_stage_reports'
132
- autoload :ReportAsIssue, 'gitlab/qa/report/report_as_issue'
133
- autoload :ReportResults, 'gitlab/qa/report/report_results'
134
- autoload :ResultsInIssues, 'gitlab/qa/report/results_in_issues'
135
- autoload :ResultsInTestCases, 'gitlab/qa/report/results_in_testcases'
136
- autoload :ResultsReporterShared, 'gitlab/qa/report/results_reporter_shared'
137
- autoload :GenerateTestSession, 'gitlab/qa/report/generate_test_session'
138
- autoload :SummaryTable, 'gitlab/qa/report/summary_table'
139
- autoload :TestResult, 'gitlab/qa/report/test_result'
140
- autoload :UpdateScreenshotPath, 'gitlab/qa/report/update_screenshot_path'
141
- end
142
-
143
- module Slack
144
- autoload :PostToSlack, 'gitlab/qa/slack/post_to_slack'
145
- end
6
+ module Gitlab
7
+ module QA
8
+ loader = Zeitwerk::Loader.new
9
+ loader.push_dir("#{__dir__}/qa", namespace: Gitlab::QA)
10
+
11
+ loader.inflector.inflect(
12
+ 'dev_ee_qa_image' => 'DevEEQAImage',
13
+ 'results_in_testcases' => 'ResultsInTestCases',
14
+ 'postgresql' => 'PostgreSQL',
15
+ 'registry_with_cdn' => 'RegistryWithCDN',
16
+ 'smtp' => 'SMTP',
17
+ 'mtls' => 'MTLS',
18
+ 'saml' => 'SAML',
19
+ 'ce' => 'CE',
20
+ 'ee' => 'EE',
21
+ 'api' => 'API',
22
+ 'ssh' => 'SSH',
23
+ 'ssh_key' => 'SSHKey',
24
+ 'ssh_keys' => 'SSHKeys',
25
+ 'ecdsa' => 'ECDSA',
26
+ 'ed25519' => 'ED25519',
27
+ 'rsa' => 'RSA',
28
+ 'ldap' => 'LDAP',
29
+ 'ldap_tls' => 'LDAPTLS',
30
+ 'ldap_no_tls' => 'LDAPNoTLS',
31
+ 'ldap_no_server' => 'LDAPNoServer',
32
+ 'rspec' => 'RSpec',
33
+ 'web_ide' => 'WebIDE',
34
+ 'ci_cd' => 'CiCd',
35
+ 'project_imported_from_url' => 'ProjectImportedFromURL',
36
+ 'repo_by_url' => 'RepoByURL',
37
+ 'oauth' => 'OAuth',
38
+ 'saml_sso_sign_in' => 'SamlSSOSignIn',
39
+ 'saml_sso_sign_up' => 'SamlSSOSignUp',
40
+ 'group_saml' => 'GroupSAML',
41
+ 'instance_saml' => 'InstanceSAML',
42
+ 'saml_sso' => 'SamlSSO',
43
+ 'ldap_sync' => 'LDAPSync',
44
+ 'ip_address' => 'IPAddress',
45
+ 'gpg' => 'GPG',
46
+ 'user_gpg' => 'UserGPG',
47
+ 'otp' => 'OTP',
48
+ 'jira_api' => 'JiraAPI',
49
+ 'registry_tls' => 'RegistryTLS',
50
+ 'jetbrains' => 'JetBrains',
51
+ 'vscode' => 'VSCode',
52
+ 'cli_commands' => 'CLICommands'
53
+ )
54
+
55
+ loader.setup
146
56
  end
147
57
  end
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'yaml'
4
5
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class AdminAccessTokenSeed
4
- TOKEN_VALUE = 'yF4CpxN55A1V0sHMuYQa'
4
+ TOKEN_VALUE = 'ypCa3Dzb23o5nvsixwPA'
5
5
  SCOPES = Gitlab::Auth.all_available_scopes
6
6
 
7
7
  def self.seed!
@@ -48,7 +48,8 @@ class LicenseUsageSeed
48
48
  end
49
49
 
50
50
  def self.create_member(user, group_id)
51
- roles = Gitlab::Access.values
51
+ # Excludes GUEST role based on ultimate license seat count
52
+ roles = [Gitlab::Access::REPORTER, Gitlab::Access::DEVELOPER, Gitlab::Access::MAINTAINER]
52
53
 
53
54
  GroupMember.create(user_id: user.id, access_level: roles.sample, source_id: group_id)
54
55
  Users::UpdateHighestMemberRoleService.new(user).execute
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab-qa
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.34.0
4
+ version: 8.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitLab Quality
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-06-13 00:00:00.000000000 Z
11
+ date: 2022-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: climate_control
@@ -206,6 +206,20 @@ dependencies:
206
206
  - - '='
207
207
  - !ruby/object:Gem::Version
208
208
  version: 1.5.7
209
+ - !ruby/object:Gem::Dependency
210
+ name: zeitwerk
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '2.4'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '2.4'
209
223
  description:
210
224
  email:
211
225
  - gitlab-qa@gmail.com
@@ -320,8 +334,8 @@ files:
320
334
  - lib/gitlab/qa/report/generate_test_session.rb
321
335
  - lib/gitlab/qa/report/gitlab_issue_client.rb
322
336
  - lib/gitlab/qa/report/gitlab_issue_dry_client.rb
337
+ - lib/gitlab/qa/report/j_unit_test_results.rb
323
338
  - lib/gitlab/qa/report/json_test_results.rb
324
- - lib/gitlab/qa/report/junit_test_results.rb
325
339
  - lib/gitlab/qa/report/prepare_stage_reports.rb
326
340
  - lib/gitlab/qa/report/relate_failure_issue.rb
327
341
  - lib/gitlab/qa/report/report_as_issue.rb