resque_manager 3.3.1 → 3.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/resque_manager/resque_controller.rb +248 -245
- data/app/views/resque_manager/resque/status.html.erb +1 -1
- data/app/views/resque_manager/resque/statuses.html.erb +2 -2
- data/config/routes.rb +1 -0
- data/lib/resque_manager/version.rb +1 -1
- data/lib/tasks/worker.rake +50 -1
- data/test/dummy/log/test.log +1249 -0
- data/test/functional/resque_manager/resque_controller_test.rb +30 -17
- metadata +2 -2
@@ -23,7 +23,7 @@ module ResqueManager
|
|
23
23
|
|
24
24
|
context '#poll' do
|
25
25
|
should 'respond with success and start the live polling' do
|
26
|
-
get :poll, {
|
26
|
+
get :poll, {page: 'overview', use_route: :resque_manager}
|
27
27
|
assert_response :success
|
28
28
|
assert_select 'p.poll', text: /Last Updated: [0-9]{2}:[0-9]{2}:[0-9]{2}/, count: 1
|
29
29
|
end
|
@@ -40,7 +40,7 @@ module ResqueManager
|
|
40
40
|
context '#remove_job' do
|
41
41
|
should 'always redirect' do
|
42
42
|
@request.env['HTTP_REFERER'] = '/resque/queues/single_record_loader'
|
43
|
-
post :remove_job, {
|
43
|
+
post :remove_job, {class: SingleRecordLoader, use_route: :resque_manager}
|
44
44
|
assert_redirected_to '/resque/queues/single_record_loader'
|
45
45
|
end
|
46
46
|
|
@@ -48,7 +48,7 @@ module ResqueManager
|
|
48
48
|
ResqueManager.applications.expects(:blank?).returns(true)
|
49
49
|
Resque.expects(:dequeue)
|
50
50
|
@request.env['HTTP_REFERER'] = '/resque/queues/single_record_loader'
|
51
|
-
post :remove_job, {
|
51
|
+
post :remove_job, {class: SingleRecordLoader, use_route: :resque_manager}
|
52
52
|
assert_redirected_to '/resque/queues/single_record_loader'
|
53
53
|
end
|
54
54
|
end
|
@@ -63,7 +63,7 @@ module ResqueManager
|
|
63
63
|
worker = Resque::Worker.new(:data_contribution_file)
|
64
64
|
worker.expects(:quit)
|
65
65
|
ResqueManager::ResqueController.any_instance.expects(:find_worker).returns(worker)
|
66
|
-
post :stop_worker, {
|
66
|
+
post :stop_worker, {worker: worker, use_route: :resque_manager}
|
67
67
|
assert_redirected_to '/resque/workers'
|
68
68
|
end
|
69
69
|
end
|
@@ -78,7 +78,7 @@ module ResqueManager
|
|
78
78
|
worker = Resque::Worker.new(:data_contribution_file)
|
79
79
|
worker.expects(:pause)
|
80
80
|
ResqueManager::ResqueController.any_instance.expects(:find_worker).returns(worker)
|
81
|
-
post :pause_worker, {
|
81
|
+
post :pause_worker, {worker: worker, use_route: :resque_manager}
|
82
82
|
assert_redirected_to '/resque/workers'
|
83
83
|
end
|
84
84
|
end
|
@@ -93,7 +93,7 @@ module ResqueManager
|
|
93
93
|
worker = Resque::Worker.new(:data_contribution_file)
|
94
94
|
worker.expects(:continue)
|
95
95
|
ResqueManager::ResqueController.any_instance.expects(:find_worker).returns(worker)
|
96
|
-
post :continue_worker, {
|
96
|
+
post :continue_worker, {worker: worker, use_route: :resque_manager}
|
97
97
|
assert_redirected_to '/resque/workers'
|
98
98
|
end
|
99
99
|
end
|
@@ -108,7 +108,7 @@ module ResqueManager
|
|
108
108
|
worker = Resque::Worker.new(:data_contribution_file)
|
109
109
|
worker.expects(:restart)
|
110
110
|
ResqueManager::ResqueController.any_instance.expects(:find_worker).returns(worker)
|
111
|
-
post :restart_worker, {
|
111
|
+
post :restart_worker, {worker: worker, use_route: :resque_manager}
|
112
112
|
assert_redirected_to '/resque/workers'
|
113
113
|
end
|
114
114
|
end
|
@@ -122,7 +122,7 @@ module ResqueManager
|
|
122
122
|
should 'continue a worker and redirect' do
|
123
123
|
worker = Resque::Worker.new(:data_contribution_file)
|
124
124
|
Resque::Worker.expects(:start)
|
125
|
-
post :start_worker, {
|
125
|
+
post :start_worker, {worker: worker, use_route: :resque_manager}
|
126
126
|
assert_redirected_to '/resque/workers'
|
127
127
|
end
|
128
128
|
end
|
@@ -159,7 +159,7 @@ module ResqueManager
|
|
159
159
|
# Resque.schedule.keys.expects(:include?).returns(true)
|
160
160
|
# Stub on array instead of Resque.schedule.keys otherwise the stub never works.
|
161
161
|
Array.any_instance.expects(:include?).returns(true).at_least_once
|
162
|
-
post :add_scheduled_job, {
|
162
|
+
post :add_scheduled_job, {name: 'key', use_route: :resque_manager}
|
163
163
|
assert_redirected_to '/resque/schedule'
|
164
164
|
errors = flash[:error].split('<br>')
|
165
165
|
assert_includes errors, 'You must enter an ip address for the server you want this job to run on.', errors.inspect
|
@@ -171,7 +171,7 @@ module ResqueManager
|
|
171
171
|
ip = '0.0.0.0'
|
172
172
|
Resque.redis.expects(:rpush)
|
173
173
|
ResqueScheduler.expects(:restart).with(ip)
|
174
|
-
post :add_scheduled_job, {
|
174
|
+
post :add_scheduled_job, {'name' => 'TestName', 'class' => 'SingleRecordLoader', 'ip' => ip, 'args' => nil, 'description' => 'Test job', 'cron' => 'TestCron', use_route: :resque_manager}
|
175
175
|
assert_nil flash[:error]
|
176
176
|
end
|
177
177
|
end
|
@@ -186,7 +186,7 @@ module ResqueManager
|
|
186
186
|
Resque.stubs(:list_range).returns([{'SingleRecordLoader' => 'test data'}])
|
187
187
|
Resque.redis.expects(:lrem).with(:scheduled, 0, {'SingleRecordLoader' => 'test data'}.to_json)
|
188
188
|
ResqueScheduler.expects(:restart).with('0.0.0.0')
|
189
|
-
post :remove_from_schedule, {
|
189
|
+
post :remove_from_schedule, {ip: '0.0.0.0', job_name: 'SingleRecordLoader', use_route: :resque_manager}
|
190
190
|
assert_redirected_to '/resque/schedule'
|
191
191
|
end
|
192
192
|
end
|
@@ -194,7 +194,7 @@ module ResqueManager
|
|
194
194
|
context '#start_scheduler' do
|
195
195
|
should 'always redirect to schedule and call ResqueScheduler.start' do
|
196
196
|
ResqueScheduler.expects(:start).with('0.0.0.0')
|
197
|
-
post :start_scheduler, {
|
197
|
+
post :start_scheduler, {ip: '0.0.0.0', use_route: :resque_manager}
|
198
198
|
assert_redirected_to '/resque/schedule'
|
199
199
|
end
|
200
200
|
end
|
@@ -202,7 +202,7 @@ module ResqueManager
|
|
202
202
|
context '#stop_scheduler' do
|
203
203
|
should 'always redirect to schedule and call ResqueScheduler.start' do
|
204
204
|
ResqueScheduler.expects(:quit).with('0.0.0.0')
|
205
|
-
post :stop_scheduler, {
|
205
|
+
post :stop_scheduler, {ip: '0.0.0.0', use_route: :resque_manager}
|
206
206
|
assert_redirected_to '/resque/schedule'
|
207
207
|
end
|
208
208
|
end
|
@@ -211,15 +211,22 @@ module ResqueManager
|
|
211
211
|
should 'respond with a status in json format' do
|
212
212
|
hash = Resque::Plugins::Status::Hash.set('UUID', 'message')
|
213
213
|
Resque::Plugins::Status::Hash.stubs(:status_ids).returns(%w(UUID))
|
214
|
-
|
214
|
+
get :statuses, {format: :js, use_route: :resque_manager}
|
215
215
|
assert_equal hash, JSON.parse(@response.body).first, JSON.parse(@response.body).inspect
|
216
216
|
end
|
217
|
+
|
218
|
+
should 'render the page in html format' do
|
219
|
+
hash = Resque::Plugins::Status::Hash.set('UUID', 'message')
|
220
|
+
Resque::Plugins::Status::Hash.stubs(:status_ids).returns(%w(UUID))
|
221
|
+
get :statuses, {use_route: :resque_manager}
|
222
|
+
assert_select 'h1', 'Statuses'
|
223
|
+
end
|
217
224
|
end
|
218
225
|
|
219
226
|
context '#clear_statuses' do
|
220
227
|
should 'always redirect to statuses page and call Resque::Plugins::Status::Hash.clear' do
|
221
228
|
Resque::Plugins::Status::Hash.expects(:clear)
|
222
|
-
|
229
|
+
get :clear_statuses, use_route: :resque_manager
|
223
230
|
assert_redirected_to '/resque/statuses'
|
224
231
|
end
|
225
232
|
end
|
@@ -227,15 +234,21 @@ module ResqueManager
|
|
227
234
|
context '#status' do
|
228
235
|
should 'render a status in json' do
|
229
236
|
hash = Resque::Plugins::Status::Hash.set('UUID', 'message')
|
230
|
-
|
237
|
+
get :status, {id: 'UUID', format: :js, use_route: :resque_manager}
|
231
238
|
assert_equal hash, JSON.parse(@response.body), JSON.parse(@response.body).inspect
|
232
239
|
end
|
240
|
+
|
241
|
+
should 'render a status in html' do
|
242
|
+
hash = Resque::Plugins::Status::Hash.set('UUID', 'message')
|
243
|
+
post :status, {id: 'UUID', use_route: :resque_manager}
|
244
|
+
assert_select 'h1', /Statuses:/
|
245
|
+
end
|
233
246
|
end
|
234
247
|
|
235
248
|
context '#kill' do
|
236
249
|
should 'redirect to statuses and kill a status' do
|
237
250
|
Resque::Plugins::Status::Hash.set('UUID', 'message')
|
238
|
-
post :kill, {
|
251
|
+
post :kill, {id: 'UUID', use_route: :resque_manager}
|
239
252
|
assert_redirected_to '/resque/statuses'
|
240
253
|
hash = Resque::Plugins::Status::Hash.get('UUID')
|
241
254
|
assert_equal 'killed', hash['status']
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resque_manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.3.
|
4
|
+
version: 3.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Tyll
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-11-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|