Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-04-28 21:10:12 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-04-28 21:10:12 +0300
commit52e32e255f7d868c4ec952a201bb8813b5e03703 (patch)
tree4b1678207027093c6f0cf0ad0dfa07979fad2092 /spec/lib/gitlab/sidekiq_config
parent42d13aebd3c47671337d871e8b349385dade5252 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/lib/gitlab/sidekiq_config')
-rw-r--r--spec/lib/gitlab/sidekiq_config/worker_matcher_spec.rb82
-rw-r--r--spec/lib/gitlab/sidekiq_config/worker_spec.rb3
2 files changed, 49 insertions, 36 deletions
diff --git a/spec/lib/gitlab/sidekiq_config/worker_matcher_spec.rb b/spec/lib/gitlab/sidekiq_config/worker_matcher_spec.rb
index 75e9c8c100b..dfe9358f70b 100644
--- a/spec/lib/gitlab/sidekiq_config/worker_matcher_spec.rb
+++ b/spec/lib/gitlab/sidekiq_config/worker_matcher_spec.rb
@@ -11,6 +11,7 @@ RSpec.describe Gitlab::SidekiqConfig::WorkerMatcher do
[
{
name: 'a',
+ worker_name: 'WorkerA',
feature_category: :category_a,
has_external_dependencies: false,
urgency: :low,
@@ -19,6 +20,7 @@ RSpec.describe Gitlab::SidekiqConfig::WorkerMatcher do
},
{
name: 'a:2',
+ worker_name: 'WorkerA2',
feature_category: :category_a,
has_external_dependencies: false,
urgency: :high,
@@ -27,6 +29,7 @@ RSpec.describe Gitlab::SidekiqConfig::WorkerMatcher do
},
{
name: 'b',
+ worker_name: 'WorkerB',
feature_category: :category_b,
has_external_dependencies: true,
urgency: :high,
@@ -35,6 +38,7 @@ RSpec.describe Gitlab::SidekiqConfig::WorkerMatcher do
},
{
name: 'c',
+ worker_name: 'WorkerC',
feature_category: :category_c,
has_external_dependencies: false,
urgency: :throttled,
@@ -46,56 +50,62 @@ RSpec.describe Gitlab::SidekiqConfig::WorkerMatcher do
context 'with valid input' do
where(:query, :expected_metadatas) do
+ # worker_name
+ 'worker_name=WorkerA' | %w(WorkerA)
+ 'worker_name=WorkerA2' | %w(WorkerA2)
+ 'worker_name=WorkerB|worker_name=WorkerD' | %w(WorkerB)
+ 'worker_name!=WorkerA' | %w(WorkerA2 WorkerB WorkerC)
+
# feature_category
- 'feature_category=category_a' | %w(a a:2)
- 'feature_category=category_a,category_c' | %w(a a:2 c)
- 'feature_category=category_a|feature_category=category_c' | %w(a a:2 c)
- 'feature_category!=category_a' | %w(b c)
+ 'feature_category=category_a' | %w(WorkerA WorkerA2)
+ 'feature_category=category_a,category_c' | %w(WorkerA WorkerA2 WorkerC)
+ 'feature_category=category_a|feature_category=category_c' | %w(WorkerA WorkerA2 WorkerC)
+ 'feature_category!=category_a' | %w(WorkerB WorkerC)
# has_external_dependencies
- 'has_external_dependencies=true' | %w(b)
- 'has_external_dependencies=false' | %w(a a:2 c)
- 'has_external_dependencies=true,false' | %w(a a:2 b c)
- 'has_external_dependencies=true|has_external_dependencies=false' | %w(a a:2 b c)
- 'has_external_dependencies!=true' | %w(a a:2 c)
+ 'has_external_dependencies=true' | %w(WorkerB)
+ 'has_external_dependencies=false' | %w(WorkerA WorkerA2 WorkerC)
+ 'has_external_dependencies=true,false' | %w(WorkerA WorkerA2 WorkerB WorkerC)
+ 'has_external_dependencies=true|has_external_dependencies=false' | %w(WorkerA WorkerA2 WorkerB WorkerC)
+ 'has_external_dependencies!=true' | %w(WorkerA WorkerA2 WorkerC)
# urgency
- 'urgency=high' | %w(a:2 b)
- 'urgency=low' | %w(a)
- 'urgency=high,low,throttled' | %w(a a:2 b c)
- 'urgency=low|urgency=throttled' | %w(a c)
- 'urgency!=high' | %w(a c)
+ 'urgency=high' | %w(WorkerA2 WorkerB)
+ 'urgency=low' | %w(WorkerA)
+ 'urgency=high,low,throttled' | %w(WorkerA WorkerA2 WorkerB WorkerC)
+ 'urgency=low|urgency=throttled' | %w(WorkerA WorkerC)
+ 'urgency!=high' | %w(WorkerA WorkerC)
# name
- 'name=a' | %w(a)
- 'name=a,b' | %w(a b)
- 'name=a,a:2|name=b' | %w(a a:2 b)
- 'name!=a,a:2' | %w(b c)
+ 'name=a' | %w(WorkerA)
+ 'name=a,b' | %w(WorkerA WorkerB)
+ 'name=a,a:2|name=b' | %w(WorkerA WorkerA2 WorkerB)
+ 'name!=a,a:2' | %w(WorkerB WorkerC)
# resource_boundary
- 'resource_boundary=memory' | %w(b c)
- 'resource_boundary=memory,cpu' | %w(a b c)
- 'resource_boundary=memory|resource_boundary=cpu' | %w(a b c)
- 'resource_boundary!=memory,cpu' | %w(a:2)
+ 'resource_boundary=memory' | %w(WorkerB WorkerC)
+ 'resource_boundary=memory,cpu' | %w(WorkerA WorkerB WorkerC)
+ 'resource_boundary=memory|resource_boundary=cpu' | %w(WorkerA WorkerB WorkerC)
+ 'resource_boundary!=memory,cpu' | %w(WorkerA2)
# tags
- 'tags=no_disk_io' | %w(a b)
- 'tags=no_disk_io,git_access' | %w(a a:2 b)
- 'tags=no_disk_io|tags=git_access' | %w(a a:2 b)
- 'tags=no_disk_io&tags=git_access' | %w(a)
- 'tags!=no_disk_io' | %w(a:2 c)
- 'tags!=no_disk_io,git_access' | %w(c)
+ 'tags=no_disk_io' | %w(WorkerA WorkerB)
+ 'tags=no_disk_io,git_access' | %w(WorkerA WorkerA2 WorkerB)
+ 'tags=no_disk_io|tags=git_access' | %w(WorkerA WorkerA2 WorkerB)
+ 'tags=no_disk_io&tags=git_access' | %w(WorkerA)
+ 'tags!=no_disk_io' | %w(WorkerA2 WorkerC)
+ 'tags!=no_disk_io,git_access' | %w(WorkerC)
'tags=unknown_tag' | []
- 'tags!=no_disk_io' | %w(a:2 c)
- 'tags!=no_disk_io,git_access' | %w(c)
- 'tags!=unknown_tag' | %w(a a:2 b c)
+ 'tags!=no_disk_io' | %w(WorkerA2 WorkerC)
+ 'tags!=no_disk_io,git_access' | %w(WorkerC)
+ 'tags!=unknown_tag' | %w(WorkerA WorkerA2 WorkerB WorkerC)
# combinations
- 'feature_category=category_a&urgency=high' | %w(a:2)
- 'feature_category=category_a&urgency=high|feature_category=category_c' | %w(a:2 c)
+ 'feature_category=category_a&urgency=high' | %w(WorkerA2)
+ 'feature_category=category_a&urgency=high|feature_category=category_c' | %w(WorkerA2 WorkerC)
# Match all
- '*' | %w(a a:2 b c)
+ '*' | %w(WorkerA WorkerA2 WorkerB WorkerC)
end
with_them do
@@ -103,7 +113,7 @@ RSpec.describe Gitlab::SidekiqConfig::WorkerMatcher do
matched_metadatas = worker_metadatas.select do |metadata|
described_class.new(query).match?(metadata)
end
- expect(matched_metadatas.map { |m| m[:name] }).to match_array(expected_metadatas)
+ expect(matched_metadatas.map { |m| m[:worker_name] }).to match_array(expected_metadatas)
end
end
end
@@ -113,7 +123,7 @@ RSpec.describe Gitlab::SidekiqConfig::WorkerMatcher do
'feature_category="category_a"' | described_class::InvalidTerm
'feature_category=' | described_class::InvalidTerm
'feature_category~category_a' | described_class::InvalidTerm
- 'worker_name=a' | described_class::UnknownPredicate
+ 'invalid_term=a' | described_class::UnknownPredicate
end
with_them do
diff --git a/spec/lib/gitlab/sidekiq_config/worker_spec.rb b/spec/lib/gitlab/sidekiq_config/worker_spec.rb
index 05987f95b33..0c43c33ff8c 100644
--- a/spec/lib/gitlab/sidekiq_config/worker_spec.rb
+++ b/spec/lib/gitlab/sidekiq_config/worker_spec.rb
@@ -6,6 +6,7 @@ RSpec.describe Gitlab::SidekiqConfig::Worker do
def create_worker(queue:, **attributes)
namespace = queue.include?(':') && queue.split(':').first
inner_worker = double(
+ name: attributes[:worker_name] || 'Foo::BarWorker',
queue: queue,
queue_namespace: namespace,
get_feature_category: attributes[:feature_category],
@@ -87,6 +88,7 @@ RSpec.describe Gitlab::SidekiqConfig::Worker do
describe 'YAML encoding' do
it 'encodes the worker in YAML as a hash of the queue' do
attributes_a = {
+ worker_name: 'WorkerA',
feature_category: :source_code_management,
has_external_dependencies: false,
urgency: :low,
@@ -97,6 +99,7 @@ RSpec.describe Gitlab::SidekiqConfig::Worker do
}
attributes_b = {
+ worker_name: 'WorkerB',
feature_category: :not_owned,
has_external_dependencies: true,
urgency: :high,