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:
Diffstat (limited to 'spec/support/shared_examples/workers/idempotency_shared_examples.rb')
-rw-r--r--spec/support/shared_examples/workers/idempotency_shared_examples.rb14
1 files changed, 13 insertions, 1 deletions
diff --git a/spec/support/shared_examples/workers/idempotency_shared_examples.rb b/spec/support/shared_examples/workers/idempotency_shared_examples.rb
index 9d9b371d61a..be43ea7d5f0 100644
--- a/spec/support/shared_examples/workers/idempotency_shared_examples.rb
+++ b/spec/support/shared_examples/workers/idempotency_shared_examples.rb
@@ -20,7 +20,11 @@ RSpec.shared_examples 'an idempotent worker' do
# Avoid stubbing calls for a more accurate run.
subject do
- defined?(job_args) ? perform_multiple(job_args) : perform_multiple
+ if described_class.include?(::Gitlab::EventStore::Subscriber)
+ event_worker
+ else
+ standard_worker
+ end
end
it 'is labeled as idempotent' do
@@ -30,4 +34,12 @@ RSpec.shared_examples 'an idempotent worker' do
it 'performs multiple times sequentially without raising an exception' do
expect { subject }.not_to raise_error
end
+
+ def event_worker
+ consume_event(subscriber: described_class, event: event)
+ end
+
+ def standard_worker
+ defined?(job_args) ? perform_multiple(job_args) : perform_multiple
+ end
end