rspec-sidekiq 3.1.0 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
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