gitlab-qa 7.24.4 → 7.25.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.
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+ # rubocop:disable Metrics/AbcSize
3
+
4
+ class LicenseUsageSeed
5
+ def self.seed!
6
+ admin_user = User.find_by(username: 'root')
7
+ group_count = seed_groups.count
8
+ user_count = seed_users.count
9
+
10
+ puts 'Start seeding license usage data...'
11
+
12
+ rand(5..20).times { create_group(admin_user) }
13
+ create_users_and_members
14
+
15
+ puts 'Creating License usage record...'
16
+ create_license_usage_record
17
+
18
+ puts "Created #{seed_users.count - user_count} users and #{seed_groups.count - group_count} groups."
19
+ puts 'License usage data seeding completed.'
20
+ end
21
+
22
+ def self.create_user
23
+ name = "test-user#{SecureRandom.hex(8)}"
24
+
25
+ User.create!(
26
+ email: "#{name}@test.com",
27
+ password: 'password',
28
+ username: name,
29
+ name: "User #{name}",
30
+ confirmed_at: Time.current
31
+ )
32
+ end
33
+
34
+ def self.create_group(user)
35
+ name = "test-group#{SecureRandom.hex(8)}"
36
+ group_params =
37
+ {
38
+ name: name,
39
+ path: name
40
+ }
41
+ ::Groups::CreateService.new(user, group_params).execute
42
+ end
43
+
44
+ def self.create_users_and_members
45
+ seed_groups.pluck(:id).each do |group_id|
46
+ 3.times { create_member(create_user, group_id) }
47
+ end
48
+ end
49
+
50
+ def self.create_member(user, group_id)
51
+ roles = Gitlab::Access.values
52
+
53
+ GroupMember.create(user_id: user.id, access_level: roles.sample, source_id: group_id)
54
+ end
55
+
56
+ def self.seed_users
57
+ User.where('username ~* ?', '^test-user')
58
+ end
59
+
60
+ def self.seed_groups
61
+ Group.where('name ~* ?', '^test-group')
62
+ end
63
+
64
+ def self.create_license_usage_record
65
+ # Force update daily billable users and historical license data
66
+ identifier = Analytics::UsageTrends::Measurement.identifiers[:billable_users]
67
+ ::Analytics::UsageTrends::CounterJobWorker.new.perform(identifier, User.minimum(:id), User.maximum(:id), Time.zone.now)
68
+
69
+ HistoricalData.track!
70
+ end
71
+ end
72
+
73
+ LicenseUsageSeed.seed!
74
+
75
+ # rubocop:enable Metrics/AbcSize
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.24.4
4
+ version: 7.25.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-03-14 00:00:00.000000000 Z
11
+ date: 2022-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: climate_control
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '2.10'
33
+ version: '2.11'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '2.10'
40
+ version: '2.11'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: gitlab-styles
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -218,8 +218,9 @@ files:
218
218
  - ".dockerignore"
219
219
  - ".gitignore"
220
220
  - ".gitlab-ci.yml"
221
- - ".gitlab/ci/danger.gitlab-ci.yml"
222
221
  - ".gitlab/ci/rules.gitlab-ci.yml"
222
+ - ".gitlab/issue_templates/Default.md"
223
+ - ".gitlab/merge_request_templates/Default.md"
223
224
  - ".gitlab/merge_request_templates/Release.md"
224
225
  - ".rspec"
225
226
  - ".rubocop.yml"
@@ -324,6 +325,7 @@ files:
324
325
  - lib/gitlab/qa/scenario/test/instance/staging.rb
325
326
  - lib/gitlab/qa/scenario/test/instance/staging_geo.rb
326
327
  - lib/gitlab/qa/scenario/test/instance/staging_ref.rb
328
+ - lib/gitlab/qa/scenario/test/instance/staging_ref_geo.rb
327
329
  - lib/gitlab/qa/scenario/test/integration/actioncable.rb
328
330
  - lib/gitlab/qa/scenario/test/integration/client_ssl.rb
329
331
  - lib/gitlab/qa/scenario/test/integration/elasticsearch.rb
@@ -343,6 +345,7 @@ files:
343
345
  - lib/gitlab/qa/scenario/test/integration/praefect.rb
344
346
  - lib/gitlab/qa/scenario/test/integration/registry.rb
345
347
  - lib/gitlab/qa/scenario/test/integration/registry_tls.rb
348
+ - lib/gitlab/qa/scenario/test/integration/registry_with_cdn.rb
346
349
  - lib/gitlab/qa/scenario/test/integration/saml.rb
347
350
  - lib/gitlab/qa/scenario/test/integration/service_ping_disabled.rb
348
351
  - lib/gitlab/qa/scenario/test/integration/smtp.rb
@@ -358,6 +361,8 @@ files:
358
361
  - lib/gitlab/qa/support/invalid_response_error.rb
359
362
  - lib/gitlab/qa/test_logger.rb
360
363
  - lib/gitlab/qa/version.rb
364
+ - scripts/generate-qa-jobs.rb
365
+ - support/data/license_usage_seed.rb
361
366
  - tls_certificates/authority/ca.crt
362
367
  - tls_certificates/authority/ca.key
363
368
  - tls_certificates/authority/ca.pem
@@ -1,25 +0,0 @@
1
- danger-review:
2
- image: ruby:3.0
3
- stage: check
4
- rules:
5
- - if: '$CI_MERGE_REQUEST_IID'
6
- needs: []
7
- retry:
8
- max: 2
9
- when:
10
- - unknown_failure
11
- - api_failure
12
- - runner_system_failure
13
- - stuck_or_timeout_failure
14
- before_script:
15
- - bundle install
16
- script:
17
- - >
18
- if [ -z "$DANGER_GITLAB_API_TOKEN" ]; then
19
- # Force danger to skip CI source GitLab and fallback to "local only git repo".
20
- unset GITLAB_CI
21
- # We need the base SHA of the merge request diff to help danger determine the base commit for this shallow clone.
22
- bundle exec danger dry_run --fail-on-errors=true --verbose --base='$CI_MERGE_REQUEST_DIFF_BASE_SHA' --head='${CI_MERGE_REQUEST_SOURCE_BRANCH_SHA:-$CI_COMMIT_SHA}'
23
- else
24
- bundle exec danger --fail-on-errors=true --verbose
25
- fi