resque_spec 0.15.0 → 0.16.0
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.
- data/README.md +34 -33
- data/lib/resque_spec/matchers.rb +34 -21
- data/lib/resque_spec/version.rb +1 -1
- metadata +10 -10
data/README.md
CHANGED
@@ -10,8 +10,8 @@ on
|
|
10
10
|
|
11
11
|
ResqueSpec will also fire Resque hooks if you are using them. See below.
|
12
12
|
|
13
|
-
|
14
|
-
|
13
|
+
Version 0.16.0 works with `Resque >~ v1.19` and up and `rspec >= 3.0.0`.
|
14
|
+
Version 0.15.0 works with `Resque >~ v1.19` and up and `rspec >= v2.5.0`
|
15
15
|
|
16
16
|
Install
|
17
17
|
-------
|
@@ -387,37 +387,38 @@ Follow me on [Github](https://github.com/leshill) and
|
|
387
387
|
Contributors
|
388
388
|
============
|
389
389
|
|
390
|
-
* Kenneth Kalmer (@kennethkalmer)
|
391
|
-
* Brian Cardarella (@bcardarella)
|
392
|
-
* Joshua Davey (@joshdavey)
|
393
|
-
* Lar Van Der Jagt (@supaspoida)
|
394
|
-
* Evan Sagge (@evansagge)
|
395
|
-
* Jon Larkowski (@l4rk)
|
396
|
-
* James Conroy-Finn (@jcf)
|
397
|
-
* Dennis Walters (@ess)
|
398
|
-
* (@RipTheJacker)
|
399
|
-
* Kurt Werle (@kwerle)
|
400
|
-
* (@dwilkie)
|
401
|
-
* Marcin Balinski (@marcinb)
|
402
|
-
* (@alexeits)
|
403
|
-
* (@ToadJamb)
|
404
|
-
* Mateusz Konikowski (@mkonikowski)
|
405
|
-
* Mathieu Ravaux (@mathieuravaux)
|
406
|
-
* Arjan van der Gaag (@avdgaag)
|
407
|
-
* (@dtsiknis)
|
408
|
-
* Li Ellis Gallardo (@lellisga)
|
409
|
-
* Jeff Deville (@jeffdeville)
|
410
|
-
* Frank Wambutt (@opinel)
|
411
|
-
* Luke Melia (@lukemelia)
|
412
|
-
* Pablo Fernandez (@heelhook)
|
413
|
-
* (@k1w1)
|
414
|
-
* Ozéias Sant'ana (@ozeias)
|
415
|
-
* Yuya Kitajima (@yuyak)
|
416
|
-
* Andrés Bravo (@andresbravog)
|
417
|
-
* Ben Woosley (@Empact)
|
418
|
-
* Jeff Dickey (@dickeyxxx)
|
419
|
-
* Earle Clubb (@eclubb)
|
420
|
-
* Erkki Eilonen (@erkki)
|
390
|
+
* Kenneth Kalmer (@kennethkalmer) : rspec dependency fix
|
391
|
+
* Brian Cardarella (@bcardarella) : fix mutation bug
|
392
|
+
* Joshua Davey (@joshdavey) : with\_resque helper
|
393
|
+
* Lar Van Der Jagt (@supaspoida) : with\_resque helper
|
394
|
+
* Evan Sagge (@evansagge) : Hook in via Job.create, have\_queued.in
|
395
|
+
* Jon Larkowski (@l4rk) : inline perform
|
396
|
+
* James Conroy-Finn (@jcf) : spec fix
|
397
|
+
* Dennis Walters (@ess) : enqueue\_in support
|
398
|
+
* (@RipTheJacker) : remove\_delayed support
|
399
|
+
* Kurt Werle (@kwerle) : explicit require spec for v020
|
400
|
+
* (@dwilkie) : initial before\_enqueue support
|
401
|
+
* Marcin Balinski (@marcinb) : have\_schedule\_size\_of matcher, schedule matcher at, in
|
402
|
+
* (@alexeits) : fix matcher in bug with RSpec 2.8.0
|
403
|
+
* (@ToadJamb) : encode/decode of Resque job arguments
|
404
|
+
* Mateusz Konikowski (@mkonikowski) : support for anything matcher
|
405
|
+
* Mathieu Ravaux (@mathieuravaux) : without\_resque\_spec support
|
406
|
+
* Arjan van der Gaag (@avdgaag) : peek support
|
407
|
+
* (@dtsiknis) : Updated removed\_delayed
|
408
|
+
* Li Ellis Gallardo (@lellisga) : fix inline/disable\_ext bug
|
409
|
+
* Jeff Deville (@jeffdeville) : Resque.size
|
410
|
+
* Frank Wambutt (@opinel) : Fix DST problem in `have_scheduled`
|
411
|
+
* Luke Melia (@lukemelia) : Add `times` chained matcher
|
412
|
+
* Pablo Fernandez (@heelhook) : Add `have_queue_size_of_at_least` and `have_schedule_size_of_at_least` matchers
|
413
|
+
* (@k1w1) : Add support for enqueue\_at\_with\_queue/enqueue\_in\_with\_queue
|
414
|
+
* Ozéias Sant'ana (@ozeias) : Update specs to RSpec 2.10
|
415
|
+
* Yuya Kitajima (@yuyak) : Add ResqueMailer examples to README
|
416
|
+
* Andrés Bravo (@andresbravog) : Replace `rspec` dependency with explicit dependencies
|
417
|
+
* Ben Woosley (@Empact) : Loosen rubygems version constraint
|
418
|
+
* Jeff Dickey (@dickeyxxx) : Remove 2.0 warnings, added Travis
|
419
|
+
* Earle Clubb (@eclubb) : `be_queued` matcher
|
420
|
+
* Erkki Eilonen (@erkki) : RSpec 3 support
|
421
|
+
* Gavin Heavyside (@gavinheavyside) : RSpec three warnings
|
421
422
|
|
422
423
|
Copyright
|
423
424
|
=========
|
data/lib/resque_spec/matchers.rb
CHANGED
@@ -2,7 +2,18 @@ require 'rspec/core'
|
|
2
2
|
require 'rspec/expectations'
|
3
3
|
require 'rspec/mocks'
|
4
4
|
|
5
|
+
module ArgsHelper
|
6
|
+
private
|
7
|
+
|
8
|
+
def match_args(expected_args, args)
|
9
|
+
arg_list_matcher = RSpec::Mocks::ArgumentListMatcher.new(expected_args)
|
10
|
+
arg_list_matcher.args_match?(args)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
5
14
|
module InQueueHelper
|
15
|
+
include ArgsHelper
|
16
|
+
|
6
17
|
def self.included(klass)
|
7
18
|
klass.class_eval do
|
8
19
|
attr_accessor :queue_name
|
@@ -21,7 +32,6 @@ module InQueueHelper
|
|
21
32
|
ResqueSpec.queue_for(actual)
|
22
33
|
end
|
23
34
|
end
|
24
|
-
|
25
35
|
end
|
26
36
|
|
27
37
|
RSpec::Matchers.define :be_queued do |*expected_args|
|
@@ -41,7 +51,7 @@ RSpec::Matchers.define :be_queued do |*expected_args|
|
|
41
51
|
matched = queue(actual).select do |entry|
|
42
52
|
klass = entry.fetch(:class)
|
43
53
|
args = entry.fetch(:args)
|
44
|
-
klass.to_s == actual.to_s && expected_args
|
54
|
+
klass.to_s == actual.to_s && match_args(expected_args, args)
|
45
55
|
end
|
46
56
|
|
47
57
|
if @times
|
@@ -51,17 +61,18 @@ RSpec::Matchers.define :be_queued do |*expected_args|
|
|
51
61
|
end
|
52
62
|
end
|
53
63
|
|
54
|
-
|
64
|
+
failure_message do |actual|
|
55
65
|
"expected that #{actual} would be queued with [#{expected_args.join(', ')}]#{@times_info}"
|
56
66
|
end
|
57
67
|
|
58
|
-
|
68
|
+
failure_message_when_negated do |actual|
|
59
69
|
"expected that #{actual} would not be queued with [#{expected_args.join(', ')}]#{@times_info}"
|
60
70
|
end
|
61
71
|
|
62
72
|
description do
|
63
73
|
"be queued with arguments of [#{expected_args.join(', ')}]#{@times_info}"
|
64
74
|
end
|
75
|
+
|
65
76
|
end
|
66
77
|
|
67
78
|
RSpec::Matchers.define :have_queued do |*expected_args|
|
@@ -81,7 +92,7 @@ RSpec::Matchers.define :have_queued do |*expected_args|
|
|
81
92
|
matched = queue(actual).select do |entry|
|
82
93
|
klass = entry.fetch(:class)
|
83
94
|
args = entry.fetch(:args)
|
84
|
-
klass.to_s == actual.to_s && expected_args
|
95
|
+
klass.to_s == actual.to_s && match_args(expected_args, args)
|
85
96
|
end
|
86
97
|
|
87
98
|
if @times
|
@@ -91,11 +102,11 @@ RSpec::Matchers.define :have_queued do |*expected_args|
|
|
91
102
|
end
|
92
103
|
end
|
93
104
|
|
94
|
-
|
105
|
+
failure_message do |actual|
|
95
106
|
"expected that #{actual} would have [#{expected_args.join(', ')}] queued#{@times_info}"
|
96
107
|
end
|
97
108
|
|
98
|
-
|
109
|
+
failure_message_when_negated do |actual|
|
99
110
|
"expected that #{actual} would not have [#{expected_args.join(', ')}] queued#{@times_info}"
|
100
111
|
end
|
101
112
|
|
@@ -111,11 +122,11 @@ RSpec::Matchers.define :have_queue_size_of do |size|
|
|
111
122
|
queue(actual).size == size
|
112
123
|
end
|
113
124
|
|
114
|
-
|
125
|
+
failure_message do |actual|
|
115
126
|
"expected that #{actual} would have #{size} entries queued, but got #{queue(actual).size} instead"
|
116
127
|
end
|
117
128
|
|
118
|
-
|
129
|
+
failure_message_when_negated do |actual|
|
119
130
|
"expected that #{actual} would not have #{size} entries queued, but got #{queue(actual).size} instead"
|
120
131
|
end
|
121
132
|
|
@@ -131,11 +142,11 @@ RSpec::Matchers.define :have_queue_size_of_at_least do |size|
|
|
131
142
|
queue(actual).size >= size
|
132
143
|
end
|
133
144
|
|
134
|
-
|
145
|
+
failure_message do |actual|
|
135
146
|
"expected that #{actual} would have at least #{size} entries queued, but got #{queue(actual).size} instead"
|
136
147
|
end
|
137
148
|
|
138
|
-
|
149
|
+
failure_message_when_negated do |actual|
|
139
150
|
"expected that #{actual} would not have at least #{size} entries queued, but got #{queue(actual).size} instead"
|
140
151
|
end
|
141
152
|
|
@@ -145,6 +156,8 @@ RSpec::Matchers.define :have_queue_size_of_at_least do |size|
|
|
145
156
|
end
|
146
157
|
|
147
158
|
module ScheduleQueueHelper
|
159
|
+
include ArgsHelper
|
160
|
+
|
148
161
|
def self.included(klass)
|
149
162
|
klass.class_eval do
|
150
163
|
attr_accessor :queue_name
|
@@ -184,7 +197,7 @@ RSpec::Matchers.define :have_scheduled do |*expected_args|
|
|
184
197
|
match do |actual|
|
185
198
|
schedule_queue_for(actual).any? do |entry|
|
186
199
|
class_matches = entry[:class].to_s == actual.to_s
|
187
|
-
args_match = expected_args
|
200
|
+
args_match = match_args(expected_args, entry[:args])
|
188
201
|
|
189
202
|
time_matches = if @time
|
190
203
|
entry[:time] == @time
|
@@ -198,11 +211,11 @@ RSpec::Matchers.define :have_scheduled do |*expected_args|
|
|
198
211
|
end
|
199
212
|
end
|
200
213
|
|
201
|
-
|
214
|
+
failure_message do |actual|
|
202
215
|
["expected that #{actual} would have [#{expected_args.join(', ')}] scheduled", @time_info].join(' ')
|
203
216
|
end
|
204
217
|
|
205
|
-
|
218
|
+
failure_message_when_negated do |actual|
|
206
219
|
["expected that #{actual} would not have [#{expected_args.join(', ')}] scheduled", @time_info].join(' ')
|
207
220
|
end
|
208
221
|
|
@@ -218,14 +231,14 @@ RSpec::Matchers.define :have_scheduled_at do |*expected_args|
|
|
218
231
|
match do |actual|
|
219
232
|
time = expected_args.first
|
220
233
|
other_args = expected_args[1..-1]
|
221
|
-
schedule_queue_for(actual).any? { |entry| entry[:class].to_s == actual.to_s && entry[:time] == time && other_args
|
234
|
+
schedule_queue_for(actual).any? { |entry| entry[:class].to_s == actual.to_s && entry[:time] == time && match_args(other_args, entry[:args]) }
|
222
235
|
end
|
223
236
|
|
224
|
-
|
237
|
+
failure_message do |actual|
|
225
238
|
"expected that #{actual} would have [#{expected_args.join(', ')}] scheduled"
|
226
239
|
end
|
227
240
|
|
228
|
-
|
241
|
+
failure_message_when_negated do |actual|
|
229
242
|
"expected that #{actual} would not have [#{expected_args.join(', ')}] scheduled"
|
230
243
|
end
|
231
244
|
|
@@ -241,11 +254,11 @@ RSpec::Matchers.define :have_schedule_size_of do |size|
|
|
241
254
|
schedule_queue_for(actual).size == size
|
242
255
|
end
|
243
256
|
|
244
|
-
|
257
|
+
failure_message do |actual|
|
245
258
|
"expected that #{actual} would have #{size} scheduled entries, but got #{schedule_queue_for(actual).size} instead"
|
246
259
|
end
|
247
260
|
|
248
|
-
|
261
|
+
failure_message_when_negated do |actual|
|
249
262
|
"expected that #{actual} would have #{size} scheduled entries."
|
250
263
|
end
|
251
264
|
|
@@ -261,11 +274,11 @@ RSpec::Matchers.define :have_schedule_size_of_at_least do |size|
|
|
261
274
|
schedule_queue_for(actual).size >= size
|
262
275
|
end
|
263
276
|
|
264
|
-
|
277
|
+
failure_message do |actual|
|
265
278
|
"expected that #{actual} would have at least #{size} scheduled entries, but got #{schedule_queue_for(actual).size} instead"
|
266
279
|
end
|
267
280
|
|
268
|
-
|
281
|
+
failure_message_when_negated do |actual|
|
269
282
|
"expected that #{actual} would have at least #{size} scheduled entries."
|
270
283
|
end
|
271
284
|
|
data/lib/resque_spec/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resque_spec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.16.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-06-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: resque
|
@@ -34,7 +34,7 @@ dependencies:
|
|
34
34
|
requirements:
|
35
35
|
- - ! '>='
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version:
|
37
|
+
version: 3.0.0
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -42,7 +42,7 @@ dependencies:
|
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version:
|
45
|
+
version: 3.0.0
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
47
|
name: rspec-expectations
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -50,7 +50,7 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - ! '>='
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
53
|
+
version: 3.0.0
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -58,7 +58,7 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 3.0.0
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: rspec-mocks
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,7 +66,7 @@ dependencies:
|
|
66
66
|
requirements:
|
67
67
|
- - ! '>='
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
69
|
+
version: 3.0.0
|
70
70
|
type: :runtime
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -74,7 +74,7 @@ dependencies:
|
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
77
|
+
version: 3.0.0
|
78
78
|
- !ruby/object:Gem::Dependency
|
79
79
|
name: resque-scheduler
|
80
80
|
requirement: !ruby/object:Gem::Requirement
|
@@ -162,7 +162,7 @@ dependencies:
|
|
162
162
|
requirements:
|
163
163
|
- - ! '>='
|
164
164
|
- !ruby/object:Gem::Version
|
165
|
-
version:
|
165
|
+
version: 3.0.0
|
166
166
|
type: :development
|
167
167
|
prerelease: false
|
168
168
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -170,7 +170,7 @@ dependencies:
|
|
170
170
|
requirements:
|
171
171
|
- - ! '>='
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
173
|
+
version: 3.0.0
|
174
174
|
description: RSpec matchers for Resque
|
175
175
|
email: leshill@gmail.com
|
176
176
|
executables: []
|