resque_unit 0.4.8 → 1.0.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,8 @@
1
- require 'resque_unit/scheduler'
1
+ require 'resque_unit'
2
+ require 'resque-scheduler'
2
3
  require 'resque_unit/scheduler_assertions'
3
4
 
4
- if defined?(Test::Unit)
5
+ if defined?(Test::Unit::TestCase)
5
6
  Test::Unit::TestCase.send(:include, ResqueUnit::SchedulerAssertions)
6
7
  end
7
8
 
@@ -0,0 +1,11 @@
1
+ require 'test_helper'
2
+
3
+ describe Redis do
4
+ it "uses a real Redis connection by default" do
5
+ redis = Redis.current
6
+ refute_equal Redis::Connection::Memory, redis.client.driver
7
+
8
+ redis = Redis.new
9
+ refute_equal Redis::Connection::Memory, redis.client.driver
10
+ end
11
+ end
data/test/resque_test.rb CHANGED
@@ -1,60 +1,60 @@
1
1
  require 'test_helper'
2
+ describe Resque do
2
3
 
3
- class ResqueTest < Test::Unit::TestCase
4
-
5
- def setup
4
+ before do
6
5
  Resque.reset!
7
6
  end
8
7
 
9
- context "with one queued job" do
10
- setup do
8
+ describe "with one queued job" do
9
+ before do
11
10
  Resque.enqueue(MediumPriorityJob, "some args")
12
11
  @job_payload = {"args"=>["some args"], "class"=>"MediumPriorityJob"}
13
12
  end
14
13
 
15
- should "return job payload when peek method called with count equal 1" do
14
+ it "returns the job payload when peek method called with count equal 1" do
16
15
  assert_equal @job_payload, Resque.peek(MediumPriorityJob.queue, 0, 1)
17
16
  end
18
17
 
19
- should "return array of jobs' payloads when peek method called with count different than 1" do
18
+ it "returns an array of jobs' payloads when peek method called with count different than 1" do
20
19
  assert_equal [@job_payload], Resque.peek(MediumPriorityJob.queue, 0, 5)
21
20
  end
22
21
  end
23
22
 
24
- context "with few queued jobs" do
25
- setup do
23
+ describe "with few queued jobs" do
24
+ before do
26
25
  Resque.enqueue(MediumPriorityJob, "1")
27
26
  Resque.enqueue(MediumPriorityJob, "2")
28
27
  Resque.enqueue(MediumPriorityJob, "3")
29
28
  end
30
29
 
31
- should "return jobs' payloads 2 and 3 when peek method called with start equal 1 and count equal 2" do
30
+ it "returns jobs' payloads 2 and 3 when peek method called with start equal 1 and count equal 2" do
32
31
  assert_equal [["2"], ["3"]], Resque.peek(MediumPriorityJob.queue, 1, 2).map{|h| h["args"]}
33
32
  end
34
33
 
35
- should "return empty array when peek method called with start higher than queue size" do
34
+ it "returns an empty array when peek method called with start higher than queue size" do
36
35
  assert_equal [], Resque.peek(MediumPriorityJob.queue, 4, 2)
37
36
  end
38
37
 
39
- should "return empty array when peek method called with count equal 0" do
40
- assert_equal [], Resque.peek(MediumPriorityJob.queue, 0, 0)
38
+ it "returns all jobs' payloads when peek method called with count equal 0" do
39
+ # This is the way Resque.peek works, so it's now the way resque-unit works!
40
+ assert_equal Resque.all(MediumPriorityJob.queue), Resque.peek(MediumPriorityJob.queue, 0, 0)
41
41
  end
42
42
 
43
- should "return all jobs' payloads when all method called" do
43
+ it "returns all jobs' payloads when all method called" do
44
44
  assert Resque.all(MediumPriorityJob.queue).length == 3, "should return all 3 elements"
45
45
  end
46
46
  end
47
47
 
48
- context "without queued jobs" do
49
- should "return nil when peek method called with count equal 1" do
48
+ describe "without queued jobs" do
49
+ it "returns nil when peek method called with count equal 1" do
50
50
  assert_equal nil, Resque.peek(MediumPriorityJob.queue, 0, 1)
51
51
  end
52
52
 
53
- should "return empty array when peek method called with count not equal 1" do
53
+ it "returns an empty array when peek method called with count not equal 1" do
54
54
  assert_equal [], Resque.peek(MediumPriorityJob.queue, 0, 999)
55
55
  end
56
56
 
57
- should "return empty array when all method called" do
57
+ it "returns an empty array when `all` is called" do
58
58
  assert_equal [], Resque.all(MediumPriorityJob.queue)
59
59
  end
60
60
  end
@@ -1,230 +1,232 @@
1
1
  require 'test_helper'
2
2
  require 'resque_unit_scheduler'
3
3
 
4
- class ResqueUnitSchedulerTest < Test::Unit::TestCase
5
-
6
- def setup
4
+ describe Resque do
5
+ include ResqueUnit::Assertions
6
+ include ResqueUnit::SchedulerAssertions
7
+
8
+ before do
7
9
  Resque.reset!
8
10
  end
9
11
 
10
- context "A task that schedules a resque job in 5 minutes" do
11
- setup { Resque.enqueue_in(600, MediumPriorityJob) }
12
- should "pass the assert_queued(job) assertion" do
12
+ describe "A task that schedules a resque job in 5 minutes" do
13
+ before { Resque.enqueue_in(600, MediumPriorityJob) }
14
+ it "passes the assert_queued(job) assertion" do
13
15
  assert_queued(MediumPriorityJob)
14
16
  end
15
17
 
16
- should "pass the assert_queued_in(600, job) assertion" do
18
+ it "passes the assert_queued_in(600, job) assertion" do
17
19
  assert_queued_in(600, MediumPriorityJob)
18
20
  end
19
21
 
20
- should "fail the assert_queued_in(300, job) assertion" do
21
- assert_raise Test::Unit::AssertionFailedError do
22
+ it "fails the assert_queued_in(300, job) assertion" do
23
+ assert_raises Minitest::Assertion do
22
24
  assert_queued_in(300, MediumPriorityJob)
23
25
  end
24
26
  end
25
27
 
26
- should "pass the assert_not_queued_in(300, job) assertion" do
28
+ it "passes the assert_not_queued_in(300, job) assertion" do
27
29
  assert_not_queued_in(300, MediumPriorityJob)
28
30
  end
29
31
 
30
- context "and then the job is removed with #remove_delayed" do
31
- setup do
32
+ describe "and then the job is removed with #remove_delayed" do
33
+ before do
32
34
  Resque.remove_delayed(MediumPriorityJob)
33
35
  end
34
- should "pass the assert_not_queued_at(@time, MediumPriorityJob) assertion" do
36
+ it "passes the assert_not_queued_at(@time, MediumPriorityJob) assertion" do
35
37
  assert_not_queued_at(300, MediumPriorityJob)
36
38
  end
37
39
 
38
- should "fail the assert_queued_at(@time, MediumPriorityJob) assertion" do
39
- assert_raise Test::Unit::AssertionFailedError do
40
+ it "fails the assert_queued_at(@time, MediumPriorityJob) assertion" do
41
+ assert_raises Minitest::Assertion do
40
42
  assert_queued_at(300, MediumPriorityJob)
41
43
  end
42
44
  end
43
45
  end
44
46
  end
45
47
 
46
- context "A task that schedules a resque job in 5 minutes with arguments" do
47
- setup { Resque.enqueue_in(600, JobWithArguments, 1, "test") }
48
- should "pass the assert_queued_in(600, JobWithArguments) assertion" do
48
+ describe "A task that schedules a resque job in 5 minutes with arguments" do
49
+ before { Resque.enqueue_in(600, JobWithArguments, 1, "test") }
50
+ it "passes the assert_queued_in(600, JobWithArguments) assertion" do
49
51
  assert_queued_in(600, JobWithArguments)
50
52
  end
51
53
 
52
- should "pass the assert_queued_in(600, JobWithArguments, [1, 'test']) assertion" do
54
+ it "passes the assert_queued_in(600, JobWithArguments, [1, 'test']) assertion" do
53
55
  assert_queued_in(600, JobWithArguments, [1, 'test'])
54
56
  end
55
57
 
56
- should "fail the assert_queued_in(600, JobWithArguments, [2, 'test']) assertion" do
57
- assert_raise Test::Unit::AssertionFailedError do
58
+ it "fails the assert_queued_in(600, JobWithArguments, [2, 'test']) assertion" do
59
+ assert_raises Minitest::Assertion do
58
60
  assert_queued_in(600, JobWithArguments, [2, 'test'])
59
61
  end
60
62
  end
61
63
 
62
- context "and then the job is removed with #remove_delayed" do
63
- setup do
64
+ describe "and then the job is removed with #remove_delayed" do
65
+ before do
64
66
  Resque.remove_delayed(JobWithArguments, 1, 'test')
65
67
  end
66
- should "pass the assert_not_queued_at(@time, JobWithArguments, 1, 'test') assertion" do
68
+ it "passes the assert_not_queued_at(@time, JobWithArguments, 1, 'test') assertion" do
67
69
  assert_not_queued_at(600, JobWithArguments, 1, 'test')
68
70
  end
69
71
 
70
- should "fail the assert_queued_at(@time, JobWithArguments, 1, 'test') assertion" do
71
- assert_raise Test::Unit::AssertionFailedError do
72
+ it "fails the assert_queued_at(@time, JobWithArguments, 1, 'test') assertion" do
73
+ assert_raises Minitest::Assertion do
72
74
  assert_queued_at(600, JobWithArguments, 1, 'test')
73
75
  end
74
76
  end
75
77
  end
76
78
 
77
- context "and a job of the same class but with different arguments is removed with #remove_delayed" do
78
- setup do
79
+ describe "and a job of the same class but with different arguments is removed with #remove_delayed" do
80
+ before do
79
81
  Resque.remove_delayed(JobWithArguments, 2, 'test')
80
82
  end
81
- should "still pass the assert_queued_in(600, JobWithArguments) assertion" do
83
+ it "still passes the assert_queued_in(600, JobWithArguments) assertion" do
82
84
  assert_queued_in(600, JobWithArguments)
83
85
  end
84
86
 
85
- should "still pass the assert_queued_in(600, JobWithArguments, [1, 'test']) assertion" do
87
+ it "still passes the assert_queued_in(600, JobWithArguments, [1, 'test']) assertion" do
86
88
  assert_queued_in(600, JobWithArguments, [1, 'test'])
87
89
  end
88
90
 
89
- should "still fail the assert_queued_in(600, JobWithArguments, [2, 'test']) assertion" do
90
- assert_raise Test::Unit::AssertionFailedError do
91
+ it "still fails the assert_queued_in(600, JobWithArguments, [2, 'test']) assertion" do
92
+ assert_raises Minitest::Assertion do
91
93
  assert_queued_in(600, JobWithArguments, [2, 'test'])
92
94
  end
93
95
  end
94
96
  end
95
97
  end
96
98
 
97
- context "A task that schedules a resque job on Sept. 6, 2016 at 6am" do
98
- setup do
99
+ describe "A task that schedules a resque job on Sept. 6, 2016 at 6am" do
100
+ before do
99
101
  @time = Time.mktime(2016, 9, 6, 6)
100
102
  Resque.enqueue_at(@time, MediumPriorityJob)
101
103
  end
102
104
 
103
- should "pass the assert_queued_at(@time, MediumPriorityJob) assertion" do
105
+ it "passes the assert_queued_at(@time, MediumPriorityJob) assertion" do
104
106
  assert_queued_at(@time, MediumPriorityJob)
105
107
  end
106
108
 
107
- should "fail the assert_queued_at(@time - 100, MediumPriorityJob) assertion" do
108
- assert_raise Test::Unit::AssertionFailedError do
109
+ it "fails the assert_queued_at(@time - 100, MediumPriorityJob) assertion" do
110
+ assert_raises Minitest::Assertion do
109
111
  assert_queued_at(@time - 100, MediumPriorityJob)
110
112
  end
111
113
  end
112
114
 
113
- should "pass the assert_not_queued_at(@time - 100, MediumPriorityJob) assertion" do
115
+ it "passes the assert_not_queued_at(@time - 100, MediumPriorityJob) assertion" do
114
116
  assert_not_queued_at(@time - 100, MediumPriorityJob)
115
117
  end
116
118
 
117
- context "and then the job is removed with #remove_delayed" do
118
- setup do
119
+ describe "and then the job is removed with #remove_delayed" do
120
+ before do
119
121
  Resque.remove_delayed(MediumPriorityJob)
120
122
  end
121
- should "pass the assert_not_queued_at(@time, MediumPriorityJob) assertion" do
123
+ it "passes the assert_not_queued_at(@time, MediumPriorityJob) assertion" do
122
124
  assert_not_queued_at(@time, MediumPriorityJob)
123
125
  end
124
126
 
125
- should "fail the assert_queued_at(@time, MediumPriorityJob) assertion" do
126
- assert_raise Test::Unit::AssertionFailedError do
127
+ it "fails the assert_queued_at(@time, MediumPriorityJob) assertion" do
128
+ assert_raises Minitest::Assertion do
127
129
  assert_queued_at(@time, MediumPriorityJob)
128
130
  end
129
131
  end
130
132
  end
131
133
 
132
- context "and then the job is removed with #remove_delayed_job_from_timestamp" do
133
- setup do
134
+ describe "and then the job is removed with #remove_delayed_job_from_timestamp" do
135
+ before do
134
136
  Resque.remove_delayed_job_from_timestamp(@time, MediumPriorityJob)
135
137
  end
136
138
 
137
- should "pass the assert_not_queued_at(@time, MediumPriorityJob) assertion" do
139
+ it "passes the assert_not_queued_at(@time, MediumPriorityJob) assertion" do
138
140
  assert_not_queued_at(@time, MediumPriorityJob)
139
141
  end
140
142
 
141
- should "fail the assert_queued_at(@time, MediumPriorityJob) assertion" do
142
- assert_raise Test::Unit::AssertionFailedError do
143
+ it "fails the assert_queued_at(@time, MediumPriorityJob) assertion" do
144
+ assert_raises Minitest::Assertion do
143
145
  assert_queued_at(@time, MediumPriorityJob)
144
146
  end
145
147
  end
146
148
  end
147
149
 
148
- context "and then the job is removed with #remove_delayed_job_from_timestamp with timestamp specified in another timezone" do
149
- setup do
150
+ describe "and then the job is removed with #remove_delayed_job_from_timestamp with timestamp specified in another timezone" do
151
+ before do
150
152
  Resque.remove_delayed_job_from_timestamp(@time.utc, MediumPriorityJob)
151
153
  end
152
154
 
153
- should "pass the assert_not_queued_at(@time, MediumPriorityJob) assertion" do
155
+ it "passes the assert_not_queued_at(@time, MediumPriorityJob) assertion" do
154
156
  assert_not_queued_at(@time, MediumPriorityJob)
155
157
  end
156
158
 
157
- should "fail the assert_queued_at(@time, MediumPriorityJob) assertion" do
158
- assert_raise Test::Unit::AssertionFailedError do
159
+ it "fails the assert_queued_at(@time, MediumPriorityJob) assertion" do
160
+ assert_raises Minitest::Assertion do
159
161
  assert_queued_at(@time, MediumPriorityJob)
160
162
  end
161
163
  end
162
164
  end
163
165
  end
164
166
 
165
- context "A task that schedules a resque job with arguments on on Sept. 6, 2016 at 6am" do
166
- setup do
167
+ describe "A task that schedules a resque job with arguments on on Sept. 6, 2016 at 6am" do
168
+ before do
167
169
  @time = Time.mktime(2016, 9, 6, 6)
168
170
  Resque.enqueue_at(@time, JobWithArguments, 1, "test")
169
171
  end
170
172
 
171
- should "pass the assert_queued_at(@time, JobWithArguments, *args) assertion" do
173
+ it "passes the assert_queued_at(@time, JobWithArguments, *args) assertion" do
172
174
  assert_queued_at(@time, JobWithArguments, [1, "test"])
173
175
  end
174
176
 
175
- should "fail the assert_queued_at(@time - 100, JobWithArguments, *args) assertion" do
176
- assert_raise Test::Unit::AssertionFailedError do
177
+ it "fails the assert_queued_at(@time - 100, JobWithArguments, *args) assertion" do
178
+ assert_raises Minitest::Assertion do
177
179
  assert_queued_at(@time - 100, JobWithArguments, [1, "test"])
178
180
  end
179
181
  end
180
182
 
181
- should "pass the assert_not_queued_at(@time - 100, JobWithArguments, *args) assertion" do
183
+ it "passes the assert_not_queued_at(@time - 100, JobWithArguments, *args) assertion" do
182
184
  assert_not_queued_at(@time - 100, JobWithArguments, [1, "test"])
183
185
  end
184
186
 
185
- context "and then the job is removed with #remove_delayed" do
186
- setup do
187
+ describe "and then the job is removed with #remove_delayed" do
188
+ before do
187
189
  Resque.remove_delayed(JobWithArguments, 1, "test")
188
190
  end
189
191
 
190
- should "pass the assert_not_queued_at(@time, JobWithArguments, *args) assertion" do
192
+ it "passes the assert_not_queued_at(@time, JobWithArguments, *args) assertion" do
191
193
  assert_not_queued_at(@time, JobWithArguments, [1, "test"])
192
194
  end
193
195
 
194
- should "fail the assert_queued_at(@time, JobWithArguments, *args) assertion" do
195
- assert_raise Test::Unit::AssertionFailedError do
196
+ it "fails the assert_queued_at(@time, JobWithArguments, *args) assertion" do
197
+ assert_raises Minitest::Assertion do
196
198
  assert_queued_at(@time, JobWithArguments, [1, "test"])
197
199
  end
198
200
  end
199
201
  end
200
202
 
201
- context "and then the job is removed with #remove_delayed_job_from_timestamp" do
202
- setup do
203
+ describe "and then the job is removed with #remove_delayed_job_from_timestamp" do
204
+ before do
203
205
  Resque.remove_delayed_job_from_timestamp(@time, JobWithArguments, 1, "test")
204
206
  end
205
207
 
206
- should "pass the assert_not_queued_at(@time, JobWithArguments, *args) assertion" do
208
+ it "pass the assert_not_queued_at(@time, JobWithArguments, *args) assertion" do
207
209
  assert_not_queued_at(@time, JobWithArguments, [1, "test"])
208
210
  end
209
211
 
210
- should "fail the assert_queued_at(@time, MediumPriorityJob, *args) assertion" do
211
- assert_raise Test::Unit::AssertionFailedError do
212
+ it "fail the assert_queued_at(@time, MediumPriorityJob, *args) assertion" do
213
+ assert_raises Minitest::Assertion do
212
214
  assert_queued_at(@time, JobWithArguments, [1, "test"])
213
215
  end
214
216
  end
215
217
  end
216
218
 
217
- context "and then the job is removed with #remove_delayed_job_from_timestamp with timestamp in another timezone" do
218
- setup do
219
+ describe "and then the job is removed with #remove_delayed_job_from_timestamp with timestamp in another timezone" do
220
+ before do
219
221
  Resque.remove_delayed_job_from_timestamp(@time.utc, JobWithArguments, 1, "test")
220
222
  end
221
223
 
222
- should "pass the assert_not_queued_at(@time, JobWithArguments, *args) assertion" do
224
+ it "passes the assert_not_queued_at(@time, JobWithArguments, *args) assertion" do
223
225
  assert_not_queued_at(@time, JobWithArguments, [1, "test"])
224
226
  end
225
227
 
226
- should "fail the assert_queued_at(@time, MediumPriorityJob, *args) assertion" do
227
- assert_raise Test::Unit::AssertionFailedError do
228
+ it "fails the assert_queued_at(@time, MediumPriorityJob, *args) assertion" do
229
+ assert_raises Minitest::Assertion do
228
230
  assert_queued_at(@time, JobWithArguments, [1, "test"])
229
231
  end
230
232
  end
@@ -1,94 +1,94 @@
1
1
  require 'test_helper'
2
2
 
3
- class ResqueUnitTest < Test::Unit::TestCase
3
+ describe ResqueUnit do
4
4
 
5
- def setup
5
+ before do
6
6
  # should probably happen automatically, but I haven't thought of a
7
7
  # good way to hook setup() yet.
8
8
  Resque.reset!
9
9
  end
10
10
 
11
- context "A task that schedules a resque job implementing self.queue" do
12
- setup { Resque.enqueue(MediumPriorityJob) }
13
- should "pass the assert_queued(job) assertion" do
11
+ describe "A task that schedules a resque job implementing self.queue" do
12
+ before { Resque.enqueue(MediumPriorityJob) }
13
+ it "passes the assert_queued(job) assertion" do
14
14
  assert_queued(MediumPriorityJob)
15
15
  assert_job_created(MediumPriorityJob.queue, MediumPriorityJob)
16
16
  assert_equal 1, Resque.queue(MediumPriorityJob.queue).length
17
17
  end
18
18
  end
19
19
 
20
- context "A task that explicitly is queued to a different queue" do
21
- setup { Resque.enqueue_to(:a_non_class_determined_queue, MediumPriorityJob) }
22
- should "not queue to the class-determined queue" do
20
+ describe "A task that explicitly is queued to a different queue" do
21
+ before { Resque.enqueue_to(:a_non_class_determined_queue, MediumPriorityJob) }
22
+ it "does not queue to the class-determined queue" do
23
23
  assert_equal 0, Resque.queue(MediumPriorityJob.queue).length
24
24
  end
25
- should "queue to the explicly-stated queue" do
25
+ it "queues to the explicly-stated queue" do
26
26
  assert_equal 1, Resque.queue(:a_non_class_determined_queue).length
27
27
  end
28
28
  end
29
29
 
30
- context "A task that spawns multiple jobs on a single queue" do
31
- setup do
30
+ describe "A task that spawns multiple jobs on a single queue" do
31
+ before do
32
32
  3.times {Resque.enqueue(HighPriorityJob)}
33
33
  end
34
34
 
35
- should "allow partial runs with explicit limit" do
35
+ it "allows partial runs with explicit limit" do
36
36
  assert_equal 3, Resque.queue(:high).length, 'failed setup'
37
- Resque.run_for!( :high, 1 )
37
+ Resque.run_for!(:high, 1)
38
38
  assert_equal 2, Resque.queue(:high).length, 'failed to run just single job'
39
39
  end
40
40
 
41
- should "allow full run with too-large explicit limit" do
41
+ it "allows full run with too-large explicit limit" do
42
42
  assert_equal 3, Resque.queue(:high).length, 'failed setup'
43
- Resque.run_for!( :high, 50 )
43
+ Resque.run_for!(:high, 50)
44
44
  assert_equal 0, Resque.queue(:high).length, 'failed to run all jobs'
45
45
  end
46
46
 
47
- should "allow full run with implicit limit" do
47
+ it "allows full run with implicit limit" do
48
48
  assert_equal 3, Resque.queue(:high).length, 'failed setup'
49
- Resque.run_for!( :high )
49
+ Resque.run_for!(:high)
50
50
  assert_equal 0, Resque.queue(:high).length, 'failed to run all jobs'
51
51
  end
52
52
  end
53
53
 
54
- context "A task that schedules a resque job" do
55
- setup do
54
+ describe "A task that schedules a resque job" do
55
+ before do
56
56
  @returned = Resque.enqueue(LowPriorityJob)
57
57
  end
58
58
 
59
- should 'return a value that evaluates to true' do
59
+ it 'returns a value that evaluates to true' do
60
60
  assert @returned
61
61
  end
62
62
 
63
- should "pass the assert_queued(job) assertion" do
63
+ it "passes the assert_queued(job) assertion" do
64
64
  assert_queued(LowPriorityJob)
65
65
  end
66
66
 
67
- should "fail the assert_not_queued(job) assertion" do
68
- assert_raise Test::Unit::AssertionFailedError do
67
+ it "fails the assert_not_queued(job) assertion" do
68
+ assert_raises Minitest::Assertion do
69
69
  assert_not_queued(LowPriorityJob)
70
70
  end
71
71
  end
72
72
 
73
- should "should be size 1" do
73
+ it "has 1 job in the queue" do
74
74
  assert_equal 1, Resque.size(:low)
75
75
  end
76
76
 
77
- context ", when Resque.run! is called," do
78
- setup do
77
+ describe ", when Resque.run! is called," do
78
+ before do
79
79
  assert !LowPriorityJob.run?, "The job should not have been run yet"
80
80
  Resque.run!
81
81
  end
82
82
 
83
- teardown do
83
+ after do
84
84
  LowPriorityJob.run = false
85
85
  end
86
86
 
87
- should "run the job" do
87
+ it "runs the job" do
88
88
  assert LowPriorityJob.run?, "The job should have run"
89
89
  end
90
90
 
91
- should "clear the job from the queue" do
91
+ it "clears the job from the queue" do
92
92
  assert_not_queued(LowPriorityJob)
93
93
  end
94
94
  end
@@ -96,32 +96,24 @@ class ResqueUnitTest < Test::Unit::TestCase
96
96
  # assert number of jobs?
97
97
  end
98
98
 
99
- context "A task that schedules a resque job with hooks" do
100
- setup do
101
- Resque.enable_hooks!
102
- end
103
-
104
- teardown do
105
- Resque.disable_hooks!
106
- end
107
-
108
- context "before, around, after, failure, after_enqueue" do
109
- setup do
99
+ describe "A task that schedules a resque job with hooks" do
100
+ describe "before, around, after, failure, after_enqueue" do
101
+ before do
110
102
  JobWithHooks.clear_markers
111
103
  Resque.enqueue(JobWithHooks)
112
104
  end
113
105
 
114
- should "have run the after_enqueue hook" do
106
+ it "ran the after_enqueue hook" do
115
107
  assert_queued(JobWithHooks)
116
108
  assert(JobWithHooks.markers[:after_enqueue], 'no after_queue marker set')
117
109
  end
118
110
 
119
- should "have run the before_enqueue hook" do
111
+ it "ran the before_enqueue hook" do
120
112
  assert(JobWithHooks.markers[:before_enqueue], 'no before_queue marker set')
121
113
  assert_queued(JobWithHooks)
122
114
  end
123
115
 
124
- should "run the before and after hooks during a run" do
116
+ it "ran the before and after hooks during a run" do
125
117
  Resque.run!
126
118
  assert(JobWithHooks.markers[:before], 'no before marker set')
127
119
  assert(JobWithHooks.markers[:around], 'no around marker set')
@@ -129,9 +121,9 @@ class ResqueUnitTest < Test::Unit::TestCase
129
121
  assert(!JobWithHooks.markers[:failed], 'failed marker set, and it should not')
130
122
  end
131
123
 
132
- should "run the before and failed hooks during a run" do
124
+ it "ran the before and failed hooks during a run" do
133
125
  JobWithHooks.make_it_fail do
134
- assert_raise(RuntimeError) do
126
+ assert_raises(RuntimeError) do
135
127
  Resque.run!
136
128
  assert(JobWithHooks.markers[:before], 'no before marker set')
137
129
  assert(JobWithHooks.markers[:around], 'no around marker set')
@@ -141,7 +133,7 @@ class ResqueUnitTest < Test::Unit::TestCase
141
133
  end
142
134
  end
143
135
 
144
- should "not call perform if the around hook raised Resque::Job::DontPerform" do
136
+ it "does not call perform if the around hook raised Resque::Job::DontPerform" do
145
137
  JobWithHooks.make_it_dont_perform do
146
138
  Resque.run!
147
139
  assert(JobWithHooks.markers[:before], 'no before marker set')
@@ -152,83 +144,83 @@ class ResqueUnitTest < Test::Unit::TestCase
152
144
  end
153
145
  end
154
146
 
155
- context "but without before" do
156
- setup do
147
+ describe "but without before" do
148
+ before do
157
149
  JobWithHooksWithoutBefore.clear_markers
158
150
  Resque.enqueue(JobWithHooksWithoutBefore)
159
151
  end
160
152
 
161
- should "not run before hooks during a run" do
153
+ it "does not run before hooks during a run" do
162
154
  Resque.run!
163
155
  assert(!JobWithHooksWithoutBefore.markers[:before], 'before marker set, and it should not')
164
156
  end
165
157
  end
166
158
 
167
- context "when before_enqueue returns false" do
168
- setup do
159
+ describe "when before_enqueue returns false" do
160
+ before do
169
161
  JobWithHooksBeforeBlocks.clear_markers
170
162
  end
171
163
 
172
- should "not queue" do
164
+ it "does not queue" do
173
165
  Resque.enqueue JobWithHooksBeforeBlocks
174
166
  assert_not_queued JobWithHooksBeforeBlocks
175
167
  end
176
168
 
177
169
  end
178
170
 
179
- context "but without around" do
180
- setup do
171
+ describe "but without around" do
172
+ before do
181
173
  JobWithHooksWithoutAround.clear_markers
182
174
  Resque.enqueue(JobWithHooksWithoutAround)
183
175
  end
184
176
 
185
- should "not run around hooks during a run" do
177
+ it "does not run around hooks during a run" do
186
178
  Resque.run!
187
179
  assert(!JobWithHooksWithoutAround.markers[:around], 'around marker set, and it should not')
188
180
  end
189
181
  end
190
182
  end
191
183
 
192
- context "Block assertions" do
193
- should "pass the assert_queued(job) assertion when queued in block" do
184
+ describe "Block assertions" do
185
+ it "passes the assert_queued(job) assertion when queued in block" do
194
186
  assert_queues(HighPriorityJob) do
195
187
  Resque.enqueue(HighPriorityJob)
196
188
  end
197
189
  end
198
190
 
199
- should "pass the assert_queued(job) assertion when queued in block and outside" do
191
+ it "passes the assert_queued(job) assertion when queued in block and outside" do
200
192
  Resque.enqueue(HighPriorityJob)
201
193
  assert_queues(HighPriorityJob) do
202
194
  Resque.enqueue(HighPriorityJob)
203
195
  end
204
196
  end
205
197
 
206
- should "fail the assert_queued(job) assertion when not queued in block but outside" do
198
+ it "fails the assert_queued(job) assertion when not queued in block but outside" do
207
199
  Resque.enqueue(LowPriorityJob)
208
- assert_raise Test::Unit::AssertionFailedError do
200
+ assert_raises Minitest::Assertion do
209
201
  assert_queues(LowPriorityJob) do
210
202
  # Nothing.
211
203
  end
212
204
  end
213
205
  end
214
206
 
215
- should "pass the assert_not_queued(job) assertion when not queued in block" do
207
+ it "passes the assert_not_queued(job) assertion when not queued in block" do
216
208
  Resque.enqueue(LowPriorityJob)
217
209
  assert_not_queued(LowPriorityJob) do
218
210
  # Nothing.
219
211
  end
220
212
  end
221
213
 
222
- should "fail the assert_not_queued(job) assertion when not queued in block" do
223
- assert_raise Test::Unit::AssertionFailedError do
214
+ it "fails the assert_not_queued(job) assertion when not queued in block" do
215
+ assert_raises Minitest::Assertion do
224
216
  assert_not_queued(LowPriorityJob) do
225
217
  Resque.enqueue(LowPriorityJob)
226
218
  end
227
219
  end
228
220
  end
229
221
 
230
- should "fail the assert_not_queued(job) assertion when queued and not in block" do
231
- assert_raise Test::Unit::AssertionFailedError do
222
+ it "fails the assert_not_queued(job) assertion when queued and not in block" do
223
+ assert_raises Minitest::Assertion do
232
224
  Resque.enqueue(LowPriorityJob)
233
225
  assert_not_queued(LowPriorityJob) do
234
226
  Resque.enqueue(LowPriorityJob)
@@ -236,15 +228,15 @@ class ResqueUnitTest < Test::Unit::TestCase
236
228
  end
237
229
  end
238
230
 
239
- should "pass the assert_nothing_queued assertion when nothing queued in block" do
231
+ it "passes the assert_nothing_queued assertion when nothing queued in block" do
240
232
  Resque.enqueue(LowPriorityJob)
241
233
  assert_nothing_queued do
242
234
  # Nothing.
243
235
  end
244
236
  end
245
237
 
246
- should "fail the assert_nothing_queued assertion when queued in block" do
247
- assert_raise Test::Unit::AssertionFailedError do
238
+ it "fails the assert_nothing_queued assertion when queued in block" do
239
+ assert_raises Minitest::Assertion do
248
240
  assert_nothing_queued do
249
241
  Resque.enqueue(LowPriorityJob)
250
242
  end
@@ -252,127 +244,127 @@ class ResqueUnitTest < Test::Unit::TestCase
252
244
  end
253
245
  end
254
246
 
255
- context "An empty queue" do
256
- should "pass the assert_not_queued(job) assertion" do
247
+ describe "An empty queue" do
248
+ it "passes the assert_not_queued(job) assertion" do
257
249
  assert_not_queued(LowPriorityJob)
258
250
  end
259
251
 
260
- should "fail the assert_queued(job) assertion" do
261
- assert_raise Test::Unit::AssertionFailedError do
252
+ it "fails the assert_queued(job) assertion" do
253
+ assert_raises Minitest::Assertion do
262
254
  assert_queued(LowPriorityJob)
263
255
  end
264
256
  end
265
257
 
266
- should "be size 0 when empty" do
258
+ it "is size 0 when empty" do
267
259
  assert_equal 0, Resque.size(:low)
268
260
  end
269
261
  end
270
262
 
271
- context "A task that schedules a resque job with arguments" do
272
- setup do
263
+ describe "A task that schedules a resque job with arguments" do
264
+ before do
273
265
  Resque.enqueue(JobWithArguments, 1, :test, {:symbol => :symbol})
274
266
  end
275
267
 
276
- should "pass the assert_queued(job, *args) assertion if the args match and sees enqueued symbols as strings" do
268
+ it "passes the assert_queued(job, *args) assertion if the args match and sees enqueued symbols as strings" do
277
269
  assert_queued(JobWithArguments, [1, "test", {"symbol"=>"symbol"}])
278
270
  end
279
271
 
280
- should "pass the assert_queued(job, *args) assertion if the args match using symbols" do
272
+ it "passes the assert_queued(job, *args) assertion if the args match using symbols" do
281
273
  assert_queued(JobWithArguments, [1, :test, {:symbol => :symbol}])
282
274
  end
283
275
 
284
- should "pass the assert_queued(job) assertion with no args passed" do
276
+ it "passes the assert_queued(job) assertion with no args passed" do
285
277
  assert_queued(JobWithArguments)
286
278
  end
287
279
 
288
- should "fail the assert_queued(job) assertion if the args don't match" do
289
- assert_raise Test::Unit::AssertionFailedError do
280
+ it "fails the assert_queued(job) assertion if the args don't match" do
281
+ assert_raises Minitest::Assertion do
290
282
  assert_queued(JobWithArguments, [2, "test"])
291
283
  end
292
284
  end
293
285
 
294
- should "pass the assert_not_queued(job) assertion if the args don't match" do
286
+ it "passes the assert_not_queued(job) assertion if the args don't match" do
295
287
  assert_not_queued(JobWithArguments, [2, "test"])
296
288
  end
297
289
 
298
- should "fail the assert_not_queued(job) assertion if the args match" do
299
- assert_raise Test::Unit::AssertionFailedError do
290
+ it "fails the assert_not_queued(job) assertion if the args match" do
291
+ assert_raises Minitest::Assertion do
300
292
  assert_not_queued(JobWithArguments, [1, "test", {"symbol"=>"symbol"}])
301
293
  end
302
294
  end
303
295
  end
304
296
 
305
- context "A job that schedules a new resque job" do
306
- setup do
297
+ describe "A job that schedules a new resque job" do
298
+ before do
307
299
  Resque.enqueue(JobThatCreatesANewJob)
308
300
  end
309
301
 
310
- should "pass the assert_queued(job) assertion" do
302
+ it "passes the assert_queued(job) assertion" do
311
303
  assert_queued(JobThatCreatesANewJob)
312
304
  end
313
305
 
314
- should "fail the assert_not_queued(job) assertion" do
315
- assert_raise Test::Unit::AssertionFailedError do
306
+ it "fails the assert_not_queued(job) assertion" do
307
+ assert_raises Minitest::Assertion do
316
308
  assert_not_queued(JobThatCreatesANewJob)
317
309
  end
318
310
  end
319
311
 
320
- should "pass the assert_not_queued(LowPriorityJob) assertion" do
312
+ it "passes the assert_not_queued(LowPriorityJob) assertion" do
321
313
  assert_not_queued(LowPriorityJob)
322
314
  end
323
315
 
324
- context ", when Resque.run! is called," do
325
- setup do
316
+ describe ", when Resque.run! is called," do
317
+ before do
326
318
  Resque.run!
327
319
  end
328
320
 
329
- should "clear the job from the queue" do
321
+ it "clears the job from the queue" do
330
322
  assert_not_queued(JobThatCreatesANewJob)
331
323
  end
332
324
 
333
- should "add a LowPriorityJob" do
325
+ it "adds a LowPriorityJob" do
334
326
  assert_queued(LowPriorityJob)
335
327
  end
336
328
  end
337
329
 
338
- context ", when Resque.full_run!" do
339
- setup do
340
- assert !LowPriorityJob.run?, "The job should not have been run yet, did you call 'LowPriorityJob.run = false' in teardowns of other tests?"
330
+ describe ", when Resque.full_run!" do
331
+ before do
332
+ assert !LowPriorityJob.run?, "The job should not have run yet, did you call 'LowPriorityJob.run = false' in teardowns of other tests?"
341
333
  Resque.full_run!
342
334
  end
343
335
 
344
- teardown do
336
+ after do
345
337
  LowPriorityJob.run = false
346
338
  end
347
339
 
348
- should "clear the jobs from the queue" do
340
+ it "clears the jobs from the queue" do
349
341
  assert_not_queued(JobThatCreatesANewJob)
350
342
  assert_not_queued(LowPriorityJob)
351
343
  end
352
344
 
353
- should "run the new resque jobs" do
345
+ it "runs the new resque jobs" do
354
346
  assert LowPriorityJob.run?, "LowPriorityJob should have been run"
355
347
  end
356
348
  end
357
349
  end
358
350
 
359
- context "A task in a different queue" do
360
- setup do
351
+ describe "A task in a different queue" do
352
+ before do
361
353
  Resque.enqueue(LowPriorityJob)
362
354
  Resque.enqueue(HighPriorityJob)
363
355
  end
364
356
 
365
- should "add a LowPriorityJob" do
357
+ it "adds a LowPriorityJob" do
366
358
  assert_queued(LowPriorityJob)
367
359
  end
368
360
 
369
- should "add a HighPriorityJob" do
361
+ it "adds a HighPriorityJob" do
370
362
  assert_queued(HighPriorityJob)
371
363
  end
372
364
 
373
- context ", when Resque.run_for! is called," do
374
- should "run only tasks in the high priority queue" do
375
- Resque.run_for!(Resque.queue_for(HighPriorityJob))
365
+ describe ", when Resque.run_for! is called," do
366
+ it "runs only tasks in the high priority queue" do
367
+ Resque.run_for!(Resque.queue_from_class(HighPriorityJob))
376
368
 
377
369
  assert_queued(LowPriorityJob)
378
370
  assert_not_queued(HighPriorityJob)
@@ -380,80 +372,71 @@ class ResqueUnitTest < Test::Unit::TestCase
380
372
  end
381
373
  end
382
374
 
383
- context "An assertion message" do
384
- context "of assert_queued" do
385
- should "include job class and queue content" do
375
+ describe "An assertion message" do
376
+ describe "of assert_queued" do
377
+ it "includes job class and queue content" do
386
378
  begin
387
379
  assert_not_queued(LowPriorityJob)
388
- rescue Test::Unit::AssertionFailedError => error
380
+ rescue Minitest::Assertion => error
389
381
  assert_equal "LowPriorityJob should have been queued in low: [].", error.message
390
382
  end
391
383
  end
392
384
 
393
- should "include job arguments if provided" do
385
+ it "includes job arguments if provided" do
394
386
  begin
395
387
  assert_not_queued(JobWithArguments, [1, "test"])
396
- rescue Test::Unit::AssertionFailedError => error
388
+ rescue Minitest::Assertion => error
397
389
  assert_equal "JobWithArguments with [1, \"test\"] should have been queued in medium: [].", error.message
398
390
  end
399
391
  end
400
392
  end
401
393
 
402
- context "of assert_not_queued" do
403
- should "include job class and queue content" do
394
+ describe "of assert_not_queued" do
395
+ it "includes job class and queue content" do
404
396
  begin
405
397
  Resque.enqueue(LowPriorityJob)
406
398
  assert_not_queued(LowPriorityJob)
407
- rescue Test::Unit::AssertionFailedError => error
408
- assert_equal "LowPriorityJob should not have been queued in low.", error.message
399
+ rescue Minitest::Assertion => error
400
+ assert_equal "LowPriorityJob should not have been queued in low.", error.message
409
401
  end
410
402
  end
411
403
 
412
- should "include job arguments if provided" do
404
+ it "includes job arguments if provided" do
413
405
  begin
414
406
  Resque.enqueue(JobWithArguments, 1, "test")
415
407
  assert_not_queued(JobWithArguments, [1, "test"])
416
- rescue Test::Unit::AssertionFailedError => error
408
+ rescue Minitest::Assertion => error
417
409
  assert_equal "JobWithArguments with [1, \"test\"] should not have been queued in medium.", error.message
418
410
  end
419
411
  end
420
412
  end
421
413
 
422
- context "of assert_nothing_queued" do
423
- should "include diff" do
414
+ describe "of assert_nothing_queued" do
415
+ it "includes diff" do
424
416
  begin
425
417
  Resque.reset!
426
418
  assert_nothing_queued do
427
419
  Resque.enqueue(LowPriorityJob)
428
420
  end
429
- rescue Test::Unit::AssertionFailedError => error
430
- assert_equal "No jobs should have been queued.\n<0> expected but was\n<1>.", error.message
421
+ rescue Minitest::Assertion => error
422
+ assert_equal "No jobs should have been queued.\nExpected: 0\n Actual: 1", error.message
431
423
  end
432
424
  end
433
425
  end
434
426
  end
435
427
 
436
- context "A job that does not specify a queue" do
437
- should "receive Resque::NoQueueError" do
438
- assert_raise(Resque::NoQueueError) do
428
+ describe "A job that does not specify a queue" do
429
+ it "receives Resque::NoQueueError" do
430
+ assert_raises(Resque::NoQueueError) do
439
431
  Resque.enqueue(JobThatDoesNotSpecifyAQueue)
440
432
  end
441
433
  end
442
434
  end
443
435
 
444
- context "A job that is created using Resque::Job.create" do
445
- should "be queued" do
446
- assert_nothing_raised do
447
- Resque::Job.create(:my_custom_queue, "LowPriorityJob", "arg1", "arg2")
448
- assert_job_created(:my_custom_queue, LowPriorityJob, ["arg1", "arg2"])
449
- end
450
- end
451
-
452
- should "queue a job with a dasherized name" do
453
- assert_nothing_raised do
454
- Resque::Job.create(:my_custom_queue, "low-priority-job", "arg1", "arg2")
455
- assert_job_created(:my_custom_queue, LowPriorityJob, ["arg1", "arg2"])
456
- end
436
+ describe "A job that is created using Resque::Job.create" do
437
+ it "is queued" do
438
+ Resque::Job.create(:my_custom_queue, "LowPriorityJob", "arg1", "arg2")
439
+ assert_job_created(:my_custom_queue, LowPriorityJob, ["arg1", "arg2"])
457
440
  end
458
441
  end
459
442