rspec-sidekiq 3.1.0 → 4.0.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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +24 -0
  3. data/LICENSE +12 -0
  4. data/README.md +198 -81
  5. data/lib/rspec/sidekiq/batch.rb +20 -2
  6. data/lib/rspec/sidekiq/configuration.rb +13 -2
  7. data/lib/rspec/sidekiq/matchers/base.rb +256 -0
  8. data/lib/rspec/sidekiq/matchers/be_delayed.rb +17 -3
  9. data/lib/rspec/sidekiq/matchers/enqueue_sidekiq_job.rb +87 -0
  10. data/lib/rspec/sidekiq/matchers/have_enqueued_sidekiq_job.rb +25 -0
  11. data/lib/rspec/sidekiq/matchers.rb +13 -8
  12. data/lib/rspec/sidekiq/sidekiq.rb +1 -1
  13. data/lib/rspec/sidekiq/version.rb +1 -1
  14. metadata +89 -39
  15. data/.gitattributes +0 -22
  16. data/.gitignore +0 -2
  17. data/.rspec +0 -4
  18. data/.simplecov +0 -5
  19. data/Gemfile +0 -9
  20. data/lib/rspec/sidekiq/matchers/have_enqueued_job.rb +0 -183
  21. data/rspec-sidekiq.gemspec +0 -39
  22. data/spec/rspec/sidekiq/batch_spec.rb +0 -83
  23. data/spec/rspec/sidekiq/helpers/retries_exhausted_spec.rb +0 -40
  24. data/spec/rspec/sidekiq/matchers/be_delayed_spec.rb +0 -238
  25. data/spec/rspec/sidekiq/matchers/be_expired_in_spec.rb +0 -57
  26. data/spec/rspec/sidekiq/matchers/be_processed_in_spec.rb +0 -114
  27. data/spec/rspec/sidekiq/matchers/be_retryable_spec.rb +0 -129
  28. data/spec/rspec/sidekiq/matchers/be_unique_spec.rb +0 -115
  29. data/spec/rspec/sidekiq/matchers/have_enqueued_job_spec.rb +0 -229
  30. data/spec/rspec/sidekiq/matchers/save_backtrace_spec.rb +0 -136
  31. data/spec/rspec/sidekiq/sidekiq_spec.rb +0 -15
  32. data/spec/spec_helper.rb +0 -29
  33. data/spec/support/factories.rb +0 -33
  34. data/spec/support/init.rb +0 -6
  35. data/spec/support/test_action_mailer.rb +0 -6
  36. data/spec/support/test_job.rb +0 -6
  37. data/spec/support/test_resource.rb +0 -10
  38. data/spec/support/test_worker.rb +0 -8
  39. data/spec/support/test_worker_alternative.rb +0 -8
@@ -1,136 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe RSpec::Sidekiq::Matchers::SaveBacktrace do
4
- let(:specific_subject) { RSpec::Sidekiq::Matchers::SaveBacktrace.new 2 }
5
- let(:specific_worker) { create_worker backtrace: 2 }
6
- let(:default_subject) { RSpec::Sidekiq::Matchers::SaveBacktrace.new true }
7
- let(:default_worker) { create_worker backtrace: true }
8
- let(:negative_subject) { RSpec::Sidekiq::Matchers::SaveBacktrace.new false }
9
- let(:negative_worker) { create_worker backtrace: false }
10
- before(:each) do
11
- specific_subject.matches? specific_worker
12
- default_subject.matches? default_worker
13
- negative_subject.matches? negative_worker
14
- end
15
-
16
- describe 'expected usage' do
17
- it 'matches' do
18
- expect(default_worker).to save_backtrace true
19
- expect(default_worker).to save_backtrace
20
- end
21
-
22
- it 'negative usage' do
23
- expect(negative_worker).to save_backtrace false
24
- expect(negative_worker).to_not save_backtrace
25
- end
26
- end
27
-
28
- describe '#save_backtrace' do
29
- it 'returns instance' do
30
- expect(save_backtrace true).to be_a RSpec::Sidekiq::Matchers::SaveBacktrace
31
- expect(save_backtrace).to be_a RSpec::Sidekiq::Matchers::SaveBacktrace
32
- end
33
- end
34
-
35
- describe '#description' do
36
- context 'when expected is a number' do
37
- it 'returns description' do
38
- expect(specific_subject.description).to eq 'save 2 lines of error backtrace'
39
- end
40
- end
41
-
42
- context 'when expected is true' do
43
- it 'returns description' do
44
- expect(default_subject.description).to eq 'save error backtrace'
45
- end
46
- end
47
-
48
- context 'when expected is false' do
49
- it 'returns description' do
50
- expect(negative_subject.description).to eq 'not save error backtrace'
51
- end
52
- end
53
- end
54
-
55
- describe '#failure_message' do
56
- context 'when expected is a number' do
57
- it 'returns message' do
58
- expect(specific_subject.failure_message).to eq "expected #{specific_worker} to save 2 lines of error backtrace but got 2"
59
- end
60
- end
61
-
62
- context 'when expected is true' do
63
- it 'returns message' do
64
- expect(default_subject.failure_message).to eq "expected #{default_worker} to save error backtrace but got true"
65
- end
66
- end
67
-
68
- context 'when expected is false' do
69
- it 'returns message' do
70
- expect(negative_subject.failure_message).to eq "expected #{negative_worker} to not save error backtrace but got false"
71
- end
72
- end
73
- end
74
-
75
- describe '#matches?' do
76
- context 'when condition matches' do
77
- context 'when expected is a number' do
78
- it 'returns true' do
79
- expect(specific_subject.matches? specific_worker).to be true
80
- end
81
- end
82
-
83
- context 'when expected is true' do
84
- it 'returns true' do
85
- expect(default_subject.matches? default_worker).to be true
86
- end
87
- end
88
-
89
- context 'when expected is false' do
90
- it 'returns true' do
91
- expect(negative_subject.matches? negative_worker).to be true
92
- end
93
- end
94
- end
95
-
96
- context 'when condition does not match' do
97
- context 'when expected is a number' do
98
- it 'returns false' do
99
- expect(specific_subject.matches? default_worker).to be false
100
- end
101
- end
102
-
103
- context 'when expected is true' do
104
- it 'returns false' do
105
- expect(default_subject.matches? negative_worker).to be false
106
- end
107
- end
108
-
109
- context 'when expected is false' do
110
- it 'returns false' do
111
- expect(negative_subject.matches? specific_worker).to be false
112
- end
113
- end
114
- end
115
- end
116
-
117
- describe '#failure_message_when_negated' do
118
- context 'when expected is a number' do
119
- it 'returns message' do
120
- expect(specific_subject.failure_message_when_negated).to eq "expected #{specific_worker} to not save 2 lines of error backtrace"
121
- end
122
- end
123
-
124
- context 'when expected is true' do
125
- it 'returns message' do
126
- expect(default_subject.failure_message_when_negated).to eq "expected #{default_worker} to not save error backtrace"
127
- end
128
- end
129
-
130
- context 'when expected is false' do
131
- it 'returns message' do
132
- expect(negative_subject.failure_message_when_negated).to eq "expected #{negative_worker} to save error backtrace"
133
- end
134
- end
135
- end
136
- end
@@ -1,15 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe RSpec::Sidekiq do
4
- describe '#configure' do
5
- it 'yields with configuration' do
6
- expect { |block| RSpec::Sidekiq.configure(&block) }.to yield_with_args RSpec::Sidekiq.configuration
7
- end
8
- end
9
-
10
- describe '#configuration' do
11
- it 'returns instance' do
12
- expect(RSpec::Sidekiq.configuration).to be_a RSpec::Sidekiq::Configuration
13
- end
14
- end
15
- end
data/spec/spec_helper.rb DELETED
@@ -1,29 +0,0 @@
1
- require 'simplecov'
2
- require 'coveralls'
3
-
4
- require 'sidekiq'
5
- require 'rspec-sidekiq'
6
-
7
- require 'active_job'
8
- require 'action_mailer'
9
-
10
- require_relative 'support/init'
11
-
12
- SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(
13
- [Coveralls::SimpleCov::Formatter, SimpleCov::Formatter::HTMLFormatter]
14
- )
15
- SimpleCov.start
16
-
17
- RSpec.configure do |config|
18
- config.disable_monkey_patching!
19
-
20
- config.include RSpec::Sidekiq::Spec::Support::Factories
21
- end
22
-
23
- ActiveJob::Base.queue_adapter = :sidekiq
24
-
25
- if Gem::Dependency.new('sidekiq', '>= 5.0.0').matching_specs.any?
26
- require 'active_record'
27
- ActiveSupport.run_load_hooks(:active_record, ActiveRecord::Base)
28
- Sidekiq::Extensions.enable_delay!
29
- end
@@ -1,33 +0,0 @@
1
- module RSpec
2
- module Sidekiq
3
- module Spec
4
- module Support
5
- module Factories
6
- def create_worker(options = {})
7
- clazz_name = "Worker#{ rand(36**10).to_s 36 }"
8
- clazz = Class.new do
9
- include ::Sidekiq::Worker
10
-
11
- sidekiq_options options
12
-
13
- def perform
14
- end
15
- end
16
- Object.const_set clazz_name, clazz
17
- end
18
-
19
- def create_active_job(options = {})
20
- clazz_name = "ActiveJob#{ rand(36**10).to_s 36 }"
21
- clazz = Class.new(ActiveJob::Base) do
22
- queue_as options
23
-
24
- def perform
25
- end
26
- end
27
- Object.const_set clazz_name, clazz
28
- end
29
- end
30
- end
31
- end
32
- end
33
- end
data/spec/support/init.rb DELETED
@@ -1,6 +0,0 @@
1
- require_relative 'factories'
2
- require_relative 'test_worker'
3
- require_relative 'test_worker_alternative'
4
- require_relative 'test_job'
5
- require_relative 'test_resource'
6
- require_relative 'test_action_mailer'
@@ -1,6 +0,0 @@
1
- class TestActionMailer < ActionMailer::Base
2
- def testmail(resource = nil)
3
- @resource = resource
4
- mail(to: 'none@example.com', subject: 'testmail')
5
- end
6
- end
@@ -1,6 +0,0 @@
1
- class TestJob < ActiveJob::Base
2
- queue_as :mailers
3
-
4
- def perform
5
- end
6
- end
@@ -1,10 +0,0 @@
1
- class TestResource
2
- include GlobalID::Identification
3
-
4
- def self.find(id)
5
- end
6
-
7
- def id
8
- @id ||= rand(36**10).to_s 36
9
- end
10
- end
@@ -1,8 +0,0 @@
1
- class TestWorker
2
- include Sidekiq::Worker
3
-
4
- sidekiq_options queue: :data, retry: 5, unique: true
5
-
6
- def perform
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- class TestWorkerAlternative
2
- include Sidekiq::Worker
3
-
4
- sidekiq_options queue: 'data', retry: false, unique: false
5
-
6
- def perform
7
- end
8
- end