gitlab_quality-test_tooling 3.11.0 → 3.12.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c0f293cc7660b976ec011dc0e44e8f4a636b0170f99206c699bba5e59db989f7
4
- data.tar.gz: 1205e282fbdbe7faf15c421e9907840ca59662488206ccb2007dfdd96254e934
3
+ metadata.gz: 544d1dca9801992bdb2b7cbe9c34eb3dae7f7c47f84c3d51b5eb55dbfcaae6c6
4
+ data.tar.gz: 8442c5eaa7f809c59cbad5e96ef46606ab7f1a881bc9040267929b66cf36f9d5
5
5
  SHA512:
6
- metadata.gz: 49052d3d0eade661c58479770a971ef2e8f5377cf13af619dd4e5cc9a8d6f5759d2b5ab7d41e7ad8aea5da490c8824da39a0c4fb6a45dd9ec6d17931f039faa3
7
- data.tar.gz: 2bf4dca1ba6d1a34e262058843ecc81d273897a931de180bbe544b956f8568de4ad4e9bd0677f753f667c4fb965639e23e3c6e7af0e0f26f04bd3ea101ac995b
6
+ metadata.gz: d1115577ba91a7bf0c1a8632a53502b58fad6b5c2cd62862230d70e26a31c7ef5eed202bed97f90cd2d8d98897bdc5a71f5006a4059a6b1bdac571144c5722c8
7
+ data.tar.gz: 108b5be41cde544adee4439d56e61caeccab5a4fa5ebefcb785cea9b8dc70a4751cdce0659e7f4bf176165392a3e184dd944e8832bdc8c399661e87f36830c58
data/Gemfile.lock CHANGED
@@ -1,12 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gitlab_quality-test_tooling (3.11.0)
4
+ gitlab_quality-test_tooling (3.12.1)
5
5
  activesupport (>= 7.0)
6
6
  amatch (~> 0.4.1)
7
7
  fog-google (~> 1.24, >= 1.24.1)
8
8
  gitlab (>= 4.19, < 7.0)
9
9
  http (~> 5.0)
10
+ http-cookie (>= 1.0, < 1.1.1)
10
11
  nokogiri (~> 1.10)
11
12
  parallel (>= 1, < 2)
12
13
  rainbow (>= 3, < 4)
@@ -34,6 +34,29 @@ module GitlabQuality
34
34
  categories_mapping.dig(feature_category, 'group')
35
35
  end
36
36
 
37
+ def group_data_from_label(label)
38
+ return unless label
39
+
40
+ groups_mapping.each do |key, data|
41
+ next unless label.casecmp?(data['label'])
42
+
43
+ return data.merge('key' => key)
44
+ end
45
+
46
+ nil
47
+ end
48
+
49
+ def product_managers_from_product_group(product_group)
50
+ group_data = groups_mapping[product_group]
51
+ return [] unless group_data
52
+
53
+ normalize_mentions(Array(group_data['product_managers']).compact)
54
+ end
55
+
56
+ def all_group_labels
57
+ groups_mapping.filter_map { |_key, data| data['label'] }.uniq
58
+ end
59
+
37
60
  def engineering_managers_from_product_group(product_group, *scopes)
38
61
  group_data = groups_mapping[product_group]
39
62
  return [] unless group_data
@@ -42,11 +65,15 @@ module GitlabQuality
42
65
  scopes = [:all] if default_scope
43
66
  ems = resolve_ems(group_data, scopes, default_scope)
44
67
 
45
- ems.uniq.sort.map { |name| name.start_with?('@') ? name : "@#{name}" }
68
+ normalize_mentions(ems)
46
69
  end
47
70
 
48
71
  private
49
72
 
73
+ def normalize_mentions(names)
74
+ names.uniq.sort.map { |name| name.start_with?('@') ? name : "@#{name}" }
75
+ end
76
+
50
77
  def resolve_ems(group_data, scopes, default_scope)
51
78
  keys = scopes.flat_map { |scope| EM_KEYS.fetch(scope) { [] } }
52
79
  ems = group_data.values_at(*keys).flatten.compact
@@ -2,6 +2,6 @@
2
2
 
3
3
  module GitlabQuality
4
4
  module TestTooling
5
- VERSION = "3.11.0"
5
+ VERSION = "3.12.1"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab_quality-test_tooling
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.11.0
4
+ version: 3.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitLab Quality
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-04-15 00:00:00.000000000 Z
11
+ date: 2026-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: climate_control
@@ -302,6 +302,26 @@ dependencies:
302
302
  - - "~>"
303
303
  - !ruby/object:Gem::Version
304
304
  version: '5.0'
305
+ - !ruby/object:Gem::Dependency
306
+ name: http-cookie
307
+ requirement: !ruby/object:Gem::Requirement
308
+ requirements:
309
+ - - ">="
310
+ - !ruby/object:Gem::Version
311
+ version: '1.0'
312
+ - - "<"
313
+ - !ruby/object:Gem::Version
314
+ version: 1.1.1
315
+ type: :runtime
316
+ prerelease: false
317
+ version_requirements: !ruby/object:Gem::Requirement
318
+ requirements:
319
+ - - ">="
320
+ - !ruby/object:Gem::Version
321
+ version: '1.0'
322
+ - - "<"
323
+ - !ruby/object:Gem::Version
324
+ version: 1.1.1
305
325
  - !ruby/object:Gem::Dependency
306
326
  name: nokogiri
307
327
  requirement: !ruby/object:Gem::Requirement