resque-approve 0.0.7 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/resque-approve.rb +1 -0
- data/lib/resque/approve_server.rb +11 -0
- data/lib/resque/plugins/approve.rb +45 -1
- data/lib/resque/plugins/approve/auto_approve_next.rb +38 -0
- data/lib/resque/plugins/approve/pending_job.rb +92 -26
- data/lib/resque/plugins/approve/pending_job_queue.rb +24 -0
- data/lib/resque/plugins/version.rb +1 -1
- data/lib/resque/server/views/_approval_key_rows.erb +3 -0
- data/lib/resque/server/views/approval_keys.erb +6 -0
- data/lib/resque/server/views/job_details.erb +3 -0
- data/lib/resque/server/views/job_list.erb +14 -0
- data/spec/approve/pending_job_queue_spec.rb +1 -1
- data/spec/approve/pending_job_spec.rb +222 -6
- data/spec/approve_spec.rb +53 -0
- data/spec/examples.txt +179 -152
- data/spec/server/views/job_list.erb_spec.rb +12 -0
- data/spec/support/jobs/default_approval_queue_job.rb +5 -0
- data/spec/support/jobs/max_active_job.rb +5 -0
- metadata +16 -26
@@ -355,7 +355,7 @@ RSpec.describe Resque::Plugins::Approve::PendingJobQueue do
|
|
355
355
|
describe "first_enqueued" do
|
356
356
|
it "returns the time of the first enqueued item" do
|
357
357
|
4.times do |index|
|
358
|
-
expect(job_queue.first_enqueued).to be_within(
|
358
|
+
expect(job_queue.first_enqueued).to be_within(2.seconds).of((5 - index).hours.ago)
|
359
359
|
|
360
360
|
job_queue.remove_one
|
361
361
|
end
|
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
require "rails_helper"
|
4
4
|
|
5
|
-
# rubocop:disable Layout/AlignHash
|
6
5
|
RSpec.describe Resque::Plugins::Approve::PendingJob do
|
7
6
|
let(:key_list) { Resque::Plugins::Approve::ApprovalKeyList.new }
|
8
7
|
let!(:key) { Faker::Lorem.sentence }
|
@@ -38,6 +37,20 @@ RSpec.describe Resque::Plugins::Approve::PendingJob do
|
|
38
37
|
|
39
38
|
job
|
40
39
|
end
|
40
|
+
let(:approval_require_approval_job) do
|
41
|
+
job = Resque::Plugins::Approve::PendingJob.new(SecureRandom.uuid, class_name: job_class, args: [requires_approval: true])
|
42
|
+
|
43
|
+
key_list.add_job(job)
|
44
|
+
|
45
|
+
job
|
46
|
+
end
|
47
|
+
let(:approval_hash_only_args_job) do
|
48
|
+
job = Resque::Plugins::Approve::PendingJob.new(SecureRandom.uuid, class_name: job_class, args: [some_hash: "hash", approval_key: key])
|
49
|
+
|
50
|
+
key_list.add_job(job)
|
51
|
+
|
52
|
+
job
|
53
|
+
end
|
41
54
|
let(:approval_no_hash_args_job) do
|
42
55
|
job = Resque::Plugins::Approve::PendingJob.new(SecureRandom.uuid,
|
43
56
|
class_name: job_class,
|
@@ -87,36 +100,58 @@ RSpec.describe Resque::Plugins::Approve::PendingJob do
|
|
87
100
|
describe "initialize" do
|
88
101
|
it "extracts delay arguments from job with no argument" do
|
89
102
|
expect(no_args_job.args).to eq []
|
103
|
+
expect(Resque::Plugins::Approve::PendingJob.new(no_args_job.id).args).to eq []
|
90
104
|
expect(no_args_job.approve_options).to eq({}.with_indifferent_access)
|
91
105
|
end
|
92
106
|
|
93
107
|
it "extracts delay arguments from job with no hash arguments" do
|
94
108
|
expect(no_hash_args_job.args).to eq [1, "fred", "something else", 888]
|
109
|
+
expect(Resque::Plugins::Approve::PendingJob.new(no_hash_args_job.id).args).to eq [1, "fred", "something else", 888]
|
95
110
|
expect(no_hash_args_job.approve_options).to eq({}.with_indifferent_access)
|
96
111
|
end
|
97
112
|
|
98
113
|
it "extracts delay arguments from job with no approval arguments" do
|
99
114
|
expect(hash_args_job.args).to eq [1, "fred", "something else", 888, "other_arg" => 1, "something else" => "something"]
|
115
|
+
expect(Resque::Plugins::Approve::PendingJob.new(hash_args_job.id).args).
|
116
|
+
to eq [1, "fred", "something else", 888, "other_arg" => 1, "something else" => "something"]
|
100
117
|
expect(hash_args_job.approve_options).to eq({}.with_indifferent_access)
|
101
118
|
end
|
102
119
|
|
103
120
|
it "extracts delay arguments from job with no argument and approval_args" do
|
104
121
|
expect(approval_only_args_job.args).to eq []
|
122
|
+
expect(Resque::Plugins::Approve::PendingJob.new(approval_only_args_job.id).args).to eq []
|
105
123
|
expect(approval_only_args_job.approve_options).to eq("approval_key" => key)
|
106
124
|
end
|
107
125
|
|
126
|
+
it "extracts delay arguments from job with no argument and require_approval" do
|
127
|
+
expect(approval_require_approval_job.args).to eq []
|
128
|
+
expect(Resque::Plugins::Approve::PendingJob.new(approval_require_approval_job.id).args).to eq []
|
129
|
+
expect(approval_require_approval_job.approve_options).to eq("approval_key" => "Some_Queue", "requires_approval" => true)
|
130
|
+
end
|
131
|
+
|
132
|
+
it "extracts delay arguments from job with only hash arguments and approval_args" do
|
133
|
+
expect(approval_hash_only_args_job.args).to eq [{ "some_hash" => "hash" }]
|
134
|
+
expect(Resque::Plugins::Approve::PendingJob.new(approval_hash_only_args_job.id).args).to eq [{ "some_hash" => "hash" }]
|
135
|
+
expect(approval_hash_only_args_job.approve_options).to eq("approval_key" => key)
|
136
|
+
end
|
137
|
+
|
108
138
|
it "extracts delay arguments from job with no hash arguments and approval args" do
|
109
139
|
expect(approval_no_hash_args_job.args).to eq [1, "fred", "something else", 888]
|
140
|
+
expect(Resque::Plugins::Approve::PendingJob.new(approval_no_hash_args_job.id).args).to eq [1, "fred", "something else", 888]
|
110
141
|
expect(approval_no_hash_args_job.approve_options).to eq("approval_key" => key)
|
111
142
|
end
|
112
143
|
|
113
144
|
it "extracts delay arguments from job with no approval arguments and approval args" do
|
114
145
|
expect(approval_hash_args_job.args).to eq [1, "fred", "something else", 888, "other_arg" => 1, "something else" => "something"]
|
146
|
+
expect(Resque::Plugins::Approve::PendingJob.new(approval_hash_args_job.id).args).
|
147
|
+
to eq [1, "fred", "something else", 888, "other_arg" => 1, "something else" => "something"]
|
115
148
|
expect(approval_hash_args_job.approve_options).to eq("approval_key" => key)
|
116
149
|
end
|
117
150
|
|
118
151
|
it "extracts all delay arguments from job with no approval arguments and approval args" do
|
119
152
|
expect(approval_all_args_job.args).to eq [1, "fred", "something else", 888, "other_arg" => 1, "something else" => "something"]
|
153
|
+
expect(Resque::Plugins::Approve::PendingJob.new(approval_all_args_job.id).args).
|
154
|
+
to eq [1, "fred", "something else", 888, "other_arg" => 1, "something else" => "something"]
|
120
155
|
|
121
156
|
expect(approval_all_args_job.approve_options[:approval_key]).to eq key
|
122
157
|
expect(approval_all_args_job.approve_options["approval_key"]).to eq key
|
@@ -124,8 +159,8 @@ RSpec.describe Resque::Plugins::Approve::PendingJob do
|
|
124
159
|
expect(approval_all_args_job.approve_options[:approval_queue]).to eq "Another Queue"
|
125
160
|
expect(approval_all_args_job.approve_options["approval_queue"]).to eq "Another Queue"
|
126
161
|
|
127
|
-
expect(approval_all_args_job.approve_options[:approval_at]).to be_within(2.seconds).of(2.hours.from_now)
|
128
|
-
expect(approval_all_args_job.approve_options["approval_at"]).to be_within(2.seconds).of(2.hours.from_now)
|
162
|
+
expect(approval_all_args_job.approve_options[:approval_at].to_time).to be_within(2.seconds).of(2.hours.from_now)
|
163
|
+
expect(approval_all_args_job.approve_options["approval_at"].to_time).to be_within(2.seconds).of(2.hours.from_now)
|
129
164
|
end
|
130
165
|
end
|
131
166
|
|
@@ -165,6 +200,8 @@ RSpec.describe Resque::Plugins::Approve::PendingJob do
|
|
165
200
|
|
166
201
|
it "has args" do
|
167
202
|
expect(job.args).to eq [1, "fred", "something else", 888, "other_arg" => 1, "something else" => "something"]
|
203
|
+
expect(Resque::Plugins::Approve::PendingJob.new(job.id).args).
|
204
|
+
to eq [1, "fred", "something else", 888, "other_arg" => 1, "something else" => "something"]
|
168
205
|
end
|
169
206
|
|
170
207
|
it "has the approval_key" do
|
@@ -176,11 +213,11 @@ RSpec.describe Resque::Plugins::Approve::PendingJob do
|
|
176
213
|
end
|
177
214
|
|
178
215
|
it "has the approval_at" do
|
179
|
-
expect(job.approval_at).to be_within(
|
216
|
+
expect(job.approval_at).to be_within(2.seconds).of(2.hours.from_now)
|
180
217
|
end
|
181
218
|
|
182
219
|
it "has the queue_time" do
|
183
|
-
expect(job.queue_time).to be_within(
|
220
|
+
expect(job.queue_time).to be_within(2.seconds).of(2.hours.ago)
|
184
221
|
end
|
185
222
|
|
186
223
|
it "has the queue" do
|
@@ -245,6 +282,146 @@ RSpec.describe Resque::Plugins::Approve::PendingJob do
|
|
245
282
|
|
246
283
|
expect(job).not_to be_requires_approval
|
247
284
|
end
|
285
|
+
|
286
|
+
it "requires approval if requires_approval is passed" do
|
287
|
+
expect(approval_require_approval_job).to be_requires_approval
|
288
|
+
end
|
289
|
+
|
290
|
+
context "MaxActiveJob" do
|
291
|
+
let(:job_class) { MaxActiveJob }
|
292
|
+
let(:num_queue) { Resque::Plugins::Approve::PendingJobQueue.new("Some_Queue") }
|
293
|
+
|
294
|
+
before(:each) do
|
295
|
+
num_queue.reset_running
|
296
|
+
end
|
297
|
+
|
298
|
+
it "does not require approval if num jobs below max" do
|
299
|
+
expect(approval_require_approval_job).not_to be_requires_approval
|
300
|
+
|
301
|
+
expect(approval_require_approval_job.args).to eq ["approval_key" => "Some_Queue"]
|
302
|
+
expect(Resque::Plugins::Approve::PendingJob.new(approval_require_approval_job.id).args).to eq ["approval_key" => "Some_Queue"]
|
303
|
+
expect(approval_require_approval_job.approve_options).to eq("approval_key" => "Some_Queue", "requires_approval" => true)
|
304
|
+
end
|
305
|
+
|
306
|
+
it "does require approval if num jobs above max" do
|
307
|
+
10.times { num_queue.increment_running }
|
308
|
+
|
309
|
+
expect(approval_require_approval_job).to be_requires_approval
|
310
|
+
|
311
|
+
expect(approval_require_approval_job.args).to eq ["approval_key" => "Some_Queue"]
|
312
|
+
expect(Resque::Plugins::Approve::PendingJob.new(approval_require_approval_job.id).args).to eq ["approval_key" => "Some_Queue"]
|
313
|
+
expect(approval_require_approval_job.approve_options).to eq("approval_key" => "Some_Queue", "requires_approval" => true)
|
314
|
+
end
|
315
|
+
|
316
|
+
it "calls the perform function" do
|
317
|
+
allow(Resque.logger).to receive(:warn).and_call_original
|
318
|
+
|
319
|
+
MaxActiveJob.perform(*approval_require_approval_job.args)
|
320
|
+
|
321
|
+
expect(Resque.logger).to have_received(:warn).with("Args:\n[]").exactly(2).times
|
322
|
+
end
|
323
|
+
|
324
|
+
it "does not approve if number of running jobs too high" do
|
325
|
+
approval_require_approval_job
|
326
|
+
|
327
|
+
expect(Resque::Plugins::Approve::PendingJobQueue.new("Some_Queue").num_jobs).to eq 1
|
328
|
+
|
329
|
+
10.times { num_queue.increment_running }
|
330
|
+
|
331
|
+
allow(Resque.logger).to receive(:warn).and_call_original
|
332
|
+
|
333
|
+
job_class.approve_one
|
334
|
+
|
335
|
+
expect(Resque.logger).not_to have_received(:warn)
|
336
|
+
expect(Resque::Plugins::Approve::PendingJobQueue.new("Some_Queue").num_jobs).to eq 1
|
337
|
+
|
338
|
+
expect(num_queue.num_running.to_i).to eq 10
|
339
|
+
end
|
340
|
+
|
341
|
+
it "approves the next item in the queue" do
|
342
|
+
allow(Resque::Plugins::Approve).to receive(:approve_one).and_call_original
|
343
|
+
|
344
|
+
MaxActiveJob.perform(*approval_require_approval_job.args)
|
345
|
+
|
346
|
+
expect(Resque::Plugins::Approve).to have_received(:approve_one).with("Some_Queue").exactly(2).times
|
347
|
+
end
|
348
|
+
|
349
|
+
it "approves the next item in the queue even if there is an exception" do
|
350
|
+
allow(Resque.logger).to receive(:warn).with("Args:\n[]").and_raise "Error"
|
351
|
+
allow(Resque::Plugins::Approve).to receive(:approve_one).and_call_original
|
352
|
+
|
353
|
+
expect { MaxActiveJob.perform(*approval_require_approval_job.args) }.to raise_error
|
354
|
+
|
355
|
+
expect(Resque.logger).to have_received(:warn).with("Args:\n[]").exactly(2).times
|
356
|
+
expect(Resque::Plugins::Approve).to have_received(:approve_one).with("Some_Queue").exactly(2).times
|
357
|
+
end
|
358
|
+
|
359
|
+
it "approves the next item in the queue if non-default queue used" do
|
360
|
+
job = Resque::Plugins::Approve::PendingJob.new(SecureRandom.uuid, class_name: job_class, args: [approval_key: "New Key"])
|
361
|
+
|
362
|
+
key_list.add_job(job)
|
363
|
+
|
364
|
+
allow(Resque.logger).to receive(:warn).and_call_original
|
365
|
+
allow(Resque::Plugins::Approve).to receive(:approve_one).and_call_original
|
366
|
+
|
367
|
+
MaxActiveJob.perform(*job.args)
|
368
|
+
|
369
|
+
expect(Resque.logger).to have_received(:warn).with("Args:\n[]").exactly(2).times
|
370
|
+
expect(Resque::Plugins::Approve).to have_received(:approve_one).with("New Key").exactly(2).times
|
371
|
+
end
|
372
|
+
|
373
|
+
it "approves the next item in the queue if non-default queue used and queue full" do
|
374
|
+
job = Resque::Plugins::Approve::PendingJob.new(SecureRandom.uuid, class_name: job_class, args: [requires_approval: true])
|
375
|
+
|
376
|
+
10.times { num_queue.increment_running }
|
377
|
+
key_list.add_job(job)
|
378
|
+
|
379
|
+
allow(Resque.logger).to receive(:warn).and_call_original
|
380
|
+
allow(Resque::Plugins::Approve).to receive(:approve_one).and_call_original
|
381
|
+
|
382
|
+
MaxActiveJob.perform(*job.args)
|
383
|
+
|
384
|
+
expect(Resque::Plugins::Approve).to have_received(:approve_one).with("Some_Queue").exactly(2).times
|
385
|
+
expect(Resque.logger).to have_received(:warn).with("Args:\n[]").exactly(2).times
|
386
|
+
expect(num_queue.num_running.to_i).to eq 9
|
387
|
+
end
|
388
|
+
|
389
|
+
it "enqueues a job" do
|
390
|
+
allow(Resque.logger).to receive(:warn).and_call_original
|
391
|
+
allow(Resque::Plugins::Approve).to receive(:approve_one).and_call_original
|
392
|
+
|
393
|
+
Resque.enqueue MaxActiveJob, requires_approval: true
|
394
|
+
|
395
|
+
expect(Resque.logger).to have_received(:warn).with("Args:\n[]")
|
396
|
+
expect(Resque::Plugins::Approve).to have_received(:approve_one).with("Some_Queue")
|
397
|
+
end
|
398
|
+
|
399
|
+
it "enqueues a job with arguments" do
|
400
|
+
allow(Resque.logger).to receive(:warn).and_call_original
|
401
|
+
allow(Resque::Plugins::Approve).to receive(:approve_one).and_call_original
|
402
|
+
|
403
|
+
Resque.enqueue MaxActiveJob, param: "value", requires_approval: true
|
404
|
+
|
405
|
+
expect(Resque.logger).to have_received(:warn).with("Args:\n[{\"param\":\"value\"}]")
|
406
|
+
expect(Resque::Plugins::Approve).to have_received(:approve_one).with("Some_Queue")
|
407
|
+
end
|
408
|
+
|
409
|
+
it "does not enqueue a job if paused" do
|
410
|
+
num_queue.pause
|
411
|
+
|
412
|
+
expect(num_queue.num_jobs).to be_zero
|
413
|
+
|
414
|
+
allow(Resque.logger).to receive(:warn).and_call_original
|
415
|
+
allow(Resque::Plugins::Approve).to receive(:approve_one).and_call_original
|
416
|
+
|
417
|
+
Resque.enqueue MaxActiveJob, requires_approval: true
|
418
|
+
|
419
|
+
expect(Resque.logger).not_to have_received(:warn).with("Args:\n[]")
|
420
|
+
expect(Resque::Plugins::Approve).not_to have_received(:approve_one).with("Some_Queue")
|
421
|
+
|
422
|
+
expect(num_queue.num_jobs).to eq 1
|
423
|
+
end
|
424
|
+
end
|
248
425
|
end
|
249
426
|
|
250
427
|
describe "enqueue_job" do
|
@@ -322,5 +499,44 @@ RSpec.describe Resque::Plugins::Approve::PendingJob do
|
|
322
499
|
expect(Resque::Plugins::Approve::ApprovalKeyList.new.num_queues).to eq 0
|
323
500
|
end
|
324
501
|
end
|
502
|
+
|
503
|
+
describe "max_active_jobs?" do
|
504
|
+
it "returns false if not set on class" do
|
505
|
+
expect(no_args_job.max_active_jobs?).to be_falsey
|
506
|
+
end
|
507
|
+
|
508
|
+
context "MaxActiveJob" do
|
509
|
+
let(:job_class) { MaxActiveJob }
|
510
|
+
|
511
|
+
it "returns true if a max is set" do
|
512
|
+
expect(no_args_job.max_active_jobs?).to be_truthy
|
513
|
+
end
|
514
|
+
end
|
515
|
+
end
|
516
|
+
|
517
|
+
describe "requires_approval" do
|
518
|
+
context "DefaultApprovalQueue" do
|
519
|
+
let(:job_class) { DefaultApprovalQueue }
|
520
|
+
|
521
|
+
it "sets the key to the default queue" do
|
522
|
+
expect(approval_require_approval_job.args).to eq []
|
523
|
+
expect(Resque::Plugins::Approve::PendingJob.new(approval_require_approval_job.id).args).to eq []
|
524
|
+
expect(approval_require_approval_job.approve_options).to eq("approval_key" => "Default Approval Queue", "requires_approval" => true)
|
525
|
+
end
|
526
|
+
end
|
527
|
+
end
|
528
|
+
|
529
|
+
describe "max_active_jobs" do
|
530
|
+
it "returns -1 if not set on class" do
|
531
|
+
expect(no_args_job.max_active_jobs).to eq(-1)
|
532
|
+
end
|
533
|
+
|
534
|
+
context "MaxActiveJob" do
|
535
|
+
let(:job_class) { MaxActiveJob }
|
536
|
+
|
537
|
+
it "returns value if max set" do
|
538
|
+
expect(no_args_job.max_active_jobs).to eq 10
|
539
|
+
end
|
540
|
+
end
|
541
|
+
end
|
325
542
|
end
|
326
|
-
# rubocop:enable Layout/AlignHash
|
data/spec/approve_spec.rb
CHANGED
@@ -67,6 +67,14 @@ RSpec.describe Resque::Plugins::Approve do
|
|
67
67
|
expect(BasicJob.auto_delete_approval_key).to be_falsey
|
68
68
|
end
|
69
69
|
|
70
|
+
it "has max_active_jobs" do
|
71
|
+
expect(BasicJob.max_active_jobs).to eq(-1)
|
72
|
+
end
|
73
|
+
|
74
|
+
it "has default_queue_name" do
|
75
|
+
expect(BasicJob.default_queue_name).to eq "Some_Queue"
|
76
|
+
end
|
77
|
+
|
70
78
|
it "does not delay jobs that are enqueued without delay args" do
|
71
79
|
Resque.enqueue BasicJob, *test_args_with_hash
|
72
80
|
|
@@ -198,4 +206,49 @@ RSpec.describe Resque::Plugins::Approve do
|
|
198
206
|
expect { BasicJob.before_enqueue_approve(*test_args_with_hash_approve) }.not_to(change { test_args_with_hash })
|
199
207
|
end
|
200
208
|
end
|
209
|
+
|
210
|
+
describe "approval methods" do
|
211
|
+
let(:pending_job_queue) do
|
212
|
+
instance_double(Resque::Plugins::Approve::PendingJobQueue,
|
213
|
+
approve_all: nil,
|
214
|
+
approve_one: nil,
|
215
|
+
approve_num: nil,
|
216
|
+
remove_all: nil,
|
217
|
+
remove_one: nil)
|
218
|
+
end
|
219
|
+
|
220
|
+
before(:each) do
|
221
|
+
allow(Resque::Plugins::Approve::PendingJobQueue).to receive(:new).with("Some_Queue").and_return pending_job_queue
|
222
|
+
end
|
223
|
+
|
224
|
+
it "responds to approve" do
|
225
|
+
BasicJob.approve
|
226
|
+
|
227
|
+
expect(pending_job_queue).to have_received(:approve_all)
|
228
|
+
end
|
229
|
+
|
230
|
+
it "responds to approve_one" do
|
231
|
+
BasicJob.approve_one
|
232
|
+
|
233
|
+
expect(pending_job_queue).to have_received(:approve_one)
|
234
|
+
end
|
235
|
+
|
236
|
+
it "responds to approve_one" do
|
237
|
+
BasicJob.approve_num 12
|
238
|
+
|
239
|
+
expect(pending_job_queue).to have_received(:approve_num).with(12)
|
240
|
+
end
|
241
|
+
|
242
|
+
it "responds to remove" do
|
243
|
+
BasicJob.remove
|
244
|
+
|
245
|
+
expect(pending_job_queue).to have_received(:remove_all)
|
246
|
+
end
|
247
|
+
|
248
|
+
it "responds to remove_one" do
|
249
|
+
BasicJob.remove_one
|
250
|
+
|
251
|
+
expect(pending_job_queue).to have_received(:remove_one)
|
252
|
+
end
|
253
|
+
end
|
201
254
|
end
|
data/spec/examples.txt
CHANGED
@@ -1,154 +1,181 @@
|
|
1
1
|
example_id | status | run_time |
|
2
2
|
---------------------------------------------------- | ------ | --------------- |
|
3
|
-
./spec/approve/approval_key_list_spec.rb[1:1:1] | passed | 0.
|
4
|
-
./spec/approve/approval_key_list_spec.rb[1:1:2] | passed | 0.
|
5
|
-
./spec/approve/approval_key_list_spec.rb[1:1:3] | passed | 0.
|
6
|
-
./spec/approve/approval_key_list_spec.rb[1:2:1] | passed | 0.
|
7
|
-
./spec/approve/approval_key_list_spec.rb[1:2:2] | passed | 0.
|
8
|
-
./spec/approve/approval_key_list_spec.rb[1:3:1] | passed | 0.
|
9
|
-
./spec/approve/approval_key_list_spec.rb[1:3:2] | passed | 0.
|
10
|
-
./spec/approve/approval_key_list_spec.rb[1:4:1] | passed | 0.
|
11
|
-
./spec/approve/approval_key_list_spec.rb[1:4:2] | passed | 0.
|
12
|
-
./spec/approve/approval_key_list_spec.rb[1:4:3] | passed | 0.
|
13
|
-
./spec/approve/approval_key_list_spec.rb[1:5:1] | passed | 0.
|
14
|
-
./spec/approve/approval_key_list_spec.rb[1:5:2] | passed | 0.
|
15
|
-
./spec/approve/approval_key_list_spec.rb[1:5:3] | passed | 0.
|
16
|
-
./spec/approve/approval_key_list_spec.rb[1:6:1] | passed | 0.
|
17
|
-
./spec/approve/approval_key_list_spec.rb[1:6:2] | passed | 0.
|
18
|
-
./spec/approve/approval_key_list_spec.rb[1:6:3] | passed | 0.
|
19
|
-
./spec/approve/approval_key_list_spec.rb[1:7:1:1:1] | passed | 0.
|
20
|
-
./spec/approve/approval_key_list_spec.rb[1:7:1:1:2] | passed | 0.
|
21
|
-
./spec/approve/approval_key_list_spec.rb[1:7:1:1:3] | passed | 0.
|
22
|
-
./spec/approve/approval_key_list_spec.rb[1:7:1:1:4] | passed | 0.
|
23
|
-
./spec/approve/approval_key_list_spec.rb[1:7:1:1:5] | passed | 0.
|
24
|
-
./spec/approve/approval_key_list_spec.rb[1:7:1:1:6] | passed | 0.
|
25
|
-
./spec/approve/approval_key_list_spec.rb[1:7:1:1:7] | passed | 0.
|
26
|
-
./spec/approve/approval_key_list_spec.rb[1:7:2:1:1] | passed | 0.
|
27
|
-
./spec/approve/approval_key_list_spec.rb[1:7:2:1:2] | passed | 0.
|
28
|
-
./spec/approve/approval_key_list_spec.rb[1:7:2:1:3] | passed | 0.
|
29
|
-
./spec/approve/approval_key_list_spec.rb[1:7:2:1:4] | passed | 0.
|
30
|
-
./spec/approve/approval_key_list_spec.rb[1:7:2:1:5] | passed | 0.
|
31
|
-
./spec/approve/approval_key_list_spec.rb[1:7:2:1:6] | passed | 0.
|
32
|
-
./spec/approve/approval_key_list_spec.rb[1:7:2:1:7] | passed | 0.
|
33
|
-
./spec/approve/approval_key_list_spec.rb[1:7:3:1:1] | passed | 0.
|
34
|
-
./spec/approve/approval_key_list_spec.rb[1:7:3:1:2] | passed | 0.
|
35
|
-
./spec/approve/approval_key_list_spec.rb[1:7:3:1:3] | passed | 0.
|
36
|
-
./spec/approve/approval_key_list_spec.rb[1:7:3:1:4] | passed | 0.
|
37
|
-
./spec/approve/approval_key_list_spec.rb[1:7:3:1:5] | passed | 0.
|
38
|
-
./spec/approve/approval_key_list_spec.rb[1:7:3:1:6] | passed | 0.
|
39
|
-
./spec/approve/approval_key_list_spec.rb[1:7:3:1:7] | passed | 0.
|
40
|
-
./spec/approve/approval_key_list_spec.rb[1:8:1] | passed | 0.
|
41
|
-
./spec/approve/approval_key_list_spec.rb[1:9:1] | passed | 0.
|
42
|
-
./spec/approve/cleaner_spec.rb[1:1:1] | passed | 0.
|
43
|
-
./spec/approve/cleaner_spec.rb[1:1:2] | passed | 0.
|
44
|
-
./spec/approve/cleaner_spec.rb[1:1:3] | passed | 0.
|
45
|
-
./spec/approve/cleaner_spec.rb[1:2:1] | passed | 0.
|
46
|
-
./spec/approve/cleaner_spec.rb[1:2:2] | passed | 0.
|
47
|
-
./spec/approve/cleaner_spec.rb[1:3:1] | passed | 0.
|
48
|
-
./spec/approve/pending_job_queue_spec.rb[1:1:1] | passed | 0.
|
49
|
-
./spec/approve/pending_job_queue_spec.rb[1:1:2] | passed | 0.
|
50
|
-
./spec/approve/pending_job_queue_spec.rb[1:1:3] | passed | 0.
|
51
|
-
./spec/approve/pending_job_queue_spec.rb[1:1:4] | passed | 0.
|
52
|
-
./spec/approve/pending_job_queue_spec.rb[1:1:5:1] | passed | 0.
|
53
|
-
./spec/approve/pending_job_queue_spec.rb[1:2:1] | passed | 0.
|
54
|
-
./spec/approve/pending_job_queue_spec.rb[1:2:2] | passed | 0.
|
55
|
-
./spec/approve/pending_job_queue_spec.rb[1:3:1] | passed | 0.
|
56
|
-
./spec/approve/pending_job_queue_spec.rb[1:3:2] | passed | 0.
|
57
|
-
./spec/approve/pending_job_queue_spec.rb[1:4:1] | passed | 0.
|
58
|
-
./spec/approve/pending_job_queue_spec.rb[1:4:2] | passed | 0.
|
59
|
-
./spec/approve/pending_job_queue_spec.rb[1:5:1] | passed | 0.
|
60
|
-
./spec/approve/pending_job_queue_spec.rb[1:5:2] | passed | 0.
|
61
|
-
./spec/approve/pending_job_queue_spec.rb[1:6:1] | passed | 0.
|
62
|
-
./spec/approve/pending_job_queue_spec.rb[1:6:2] | passed | 0.
|
63
|
-
./spec/approve/pending_job_queue_spec.rb[1:7:1] | passed | 0.
|
64
|
-
./spec/approve/pending_job_queue_spec.rb[1:7:2] | passed | 0.
|
65
|
-
./spec/approve/pending_job_queue_spec.rb[1:8:1] | passed | 0.
|
66
|
-
./spec/approve/pending_job_queue_spec.rb[1:8:2] | passed | 0.
|
67
|
-
./spec/approve/pending_job_queue_spec.rb[1:9:1] | passed | 0.
|
68
|
-
./spec/approve/pending_job_queue_spec.rb[1:9:2] | passed | 0.
|
69
|
-
./spec/approve/pending_job_queue_spec.rb[1:10:1] | passed | 0.
|
70
|
-
./spec/approve/pending_job_queue_spec.rb[1:10:2] | passed | 0.
|
71
|
-
./spec/approve/pending_job_queue_spec.rb[1:11:1] | passed | 0.
|
72
|
-
./spec/approve/pending_job_queue_spec.rb[1:11:2] | passed | 0.
|
73
|
-
./spec/approve/pending_job_queue_spec.rb[1:11:3] | passed | 0.
|
74
|
-
./spec/approve/pending_job_queue_spec.rb[1:11:4] | passed | 0.
|
75
|
-
./spec/approve/pending_job_queue_spec.rb[1:11:5] | passed | 0.
|
76
|
-
./spec/approve/pending_job_queue_spec.rb[1:12:1] | passed | 0.
|
77
|
-
./spec/approve/pending_job_queue_spec.rb[1:13:1] | passed | 0.
|
78
|
-
./spec/approve/pending_job_queue_spec.rb[1:14:1] | passed | 0.
|
79
|
-
./spec/approve/pending_job_queue_spec.rb[1:14:2] | passed | 0.
|
80
|
-
./spec/approve/pending_job_queue_spec.rb[1:14:3] | passed | 0.
|
81
|
-
./spec/approve/pending_job_queue_spec.rb[1:14:4] | passed | 0.
|
82
|
-
./spec/approve/pending_job_spec.rb[1:1:1] | passed | 0.
|
83
|
-
./spec/approve/pending_job_spec.rb[1:1:2] | passed | 0.
|
84
|
-
./spec/approve/pending_job_spec.rb[1:1:3] | passed | 0.
|
85
|
-
./spec/approve/pending_job_spec.rb[1:1:4] | passed | 0.
|
86
|
-
./spec/approve/pending_job_spec.rb[1:1:5] | passed | 0.
|
87
|
-
./spec/approve/pending_job_spec.rb[1:1:6] | passed | 0.
|
88
|
-
./spec/approve/pending_job_spec.rb[1:1:7] | passed | 0.
|
89
|
-
./spec/approve/pending_job_spec.rb[1:
|
90
|
-
./spec/approve/pending_job_spec.rb[1:
|
91
|
-
./spec/approve/pending_job_spec.rb[1:2:
|
92
|
-
./spec/approve/pending_job_spec.rb[1:2:
|
93
|
-
./spec/approve/pending_job_spec.rb[1:2:
|
94
|
-
./spec/approve/pending_job_spec.rb[1:
|
95
|
-
./spec/approve/pending_job_spec.rb[1:
|
96
|
-
./spec/approve/pending_job_spec.rb[1:3:1:
|
97
|
-
./spec/approve/pending_job_spec.rb[1:3:1:
|
98
|
-
./spec/approve/pending_job_spec.rb[1:3:1:
|
99
|
-
./spec/approve/pending_job_spec.rb[1:3:1:
|
100
|
-
./spec/approve/pending_job_spec.rb[1:3:1:
|
101
|
-
./spec/approve/pending_job_spec.rb[1:
|
102
|
-
./spec/approve/pending_job_spec.rb[1:
|
103
|
-
./spec/approve/pending_job_spec.rb[1:4:1:
|
104
|
-
./spec/approve/pending_job_spec.rb[1:4:1:
|
105
|
-
./spec/approve/pending_job_spec.rb[1:4:1:
|
106
|
-
./spec/approve/pending_job_spec.rb[1:4:1:
|
107
|
-
./spec/approve/pending_job_spec.rb[1:4:1:
|
108
|
-
./spec/approve/pending_job_spec.rb[1:
|
109
|
-
./spec/approve/pending_job_spec.rb[1:
|
110
|
-
./spec/approve/pending_job_spec.rb[1:
|
111
|
-
./spec/approve/pending_job_spec.rb[1:
|
112
|
-
./spec/approve/pending_job_spec.rb[1:
|
113
|
-
./spec/approve/pending_job_spec.rb[1:
|
114
|
-
./spec/approve/pending_job_spec.rb[1:
|
115
|
-
./spec/approve/pending_job_spec.rb[1:
|
116
|
-
./spec/approve/pending_job_spec.rb[1:
|
117
|
-
./spec/approve/pending_job_spec.rb[1:
|
118
|
-
./spec/
|
119
|
-
./spec/
|
120
|
-
./spec/
|
121
|
-
./spec/
|
122
|
-
./spec/
|
123
|
-
./spec/
|
124
|
-
./spec/
|
125
|
-
./spec/
|
126
|
-
./spec/
|
127
|
-
./spec/
|
128
|
-
./spec/
|
129
|
-
./spec/
|
130
|
-
./spec/
|
131
|
-
./spec/
|
132
|
-
./spec/
|
133
|
-
./spec/
|
134
|
-
./spec/
|
135
|
-
./spec/
|
136
|
-
./spec/
|
137
|
-
./spec/
|
138
|
-
./spec/
|
139
|
-
./spec/
|
140
|
-
./spec/
|
141
|
-
./spec/
|
142
|
-
./spec/
|
143
|
-
./spec/
|
144
|
-
./spec/
|
145
|
-
./spec/
|
146
|
-
./spec/
|
147
|
-
./spec/
|
148
|
-
./spec/
|
149
|
-
./spec/
|
150
|
-
./spec/
|
151
|
-
./spec/
|
152
|
-
./spec/
|
153
|
-
./spec/
|
154
|
-
./spec/
|
3
|
+
./spec/approve/approval_key_list_spec.rb[1:1:1] | passed | 0.00286 seconds |
|
4
|
+
./spec/approve/approval_key_list_spec.rb[1:1:2] | passed | 0.00357 seconds |
|
5
|
+
./spec/approve/approval_key_list_spec.rb[1:1:3] | passed | 0.0026 seconds |
|
6
|
+
./spec/approve/approval_key_list_spec.rb[1:2:1] | passed | 0.01878 seconds |
|
7
|
+
./spec/approve/approval_key_list_spec.rb[1:2:2] | passed | 0.02033 seconds |
|
8
|
+
./spec/approve/approval_key_list_spec.rb[1:3:1] | passed | 0.01397 seconds |
|
9
|
+
./spec/approve/approval_key_list_spec.rb[1:3:2] | passed | 0.01649 seconds |
|
10
|
+
./spec/approve/approval_key_list_spec.rb[1:4:1] | passed | 0.02642 seconds |
|
11
|
+
./spec/approve/approval_key_list_spec.rb[1:4:2] | passed | 0.02545 seconds |
|
12
|
+
./spec/approve/approval_key_list_spec.rb[1:4:3] | passed | 0.02562 seconds |
|
13
|
+
./spec/approve/approval_key_list_spec.rb[1:5:1] | passed | 0.04104 seconds |
|
14
|
+
./spec/approve/approval_key_list_spec.rb[1:5:2] | passed | 0.02974 seconds |
|
15
|
+
./spec/approve/approval_key_list_spec.rb[1:5:3] | passed | 0.03215 seconds |
|
16
|
+
./spec/approve/approval_key_list_spec.rb[1:6:1] | passed | 0.05536 seconds |
|
17
|
+
./spec/approve/approval_key_list_spec.rb[1:6:2] | passed | 0.03721 seconds |
|
18
|
+
./spec/approve/approval_key_list_spec.rb[1:6:3] | passed | 0.0434 seconds |
|
19
|
+
./spec/approve/approval_key_list_spec.rb[1:7:1:1:1] | passed | 0.48989 seconds |
|
20
|
+
./spec/approve/approval_key_list_spec.rb[1:7:1:1:2] | passed | 0.45132 seconds |
|
21
|
+
./spec/approve/approval_key_list_spec.rb[1:7:1:1:3] | passed | 0.39613 seconds |
|
22
|
+
./spec/approve/approval_key_list_spec.rb[1:7:1:1:4] | passed | 0.42611 seconds |
|
23
|
+
./spec/approve/approval_key_list_spec.rb[1:7:1:1:5] | passed | 0.48934 seconds |
|
24
|
+
./spec/approve/approval_key_list_spec.rb[1:7:1:1:6] | passed | 0.44647 seconds |
|
25
|
+
./spec/approve/approval_key_list_spec.rb[1:7:1:1:7] | passed | 0.40658 seconds |
|
26
|
+
./spec/approve/approval_key_list_spec.rb[1:7:2:1:1] | passed | 0.41896 seconds |
|
27
|
+
./spec/approve/approval_key_list_spec.rb[1:7:2:1:2] | passed | 0.42037 seconds |
|
28
|
+
./spec/approve/approval_key_list_spec.rb[1:7:2:1:3] | passed | 0.41172 seconds |
|
29
|
+
./spec/approve/approval_key_list_spec.rb[1:7:2:1:4] | passed | 0.39889 seconds |
|
30
|
+
./spec/approve/approval_key_list_spec.rb[1:7:2:1:5] | passed | 0.41341 seconds |
|
31
|
+
./spec/approve/approval_key_list_spec.rb[1:7:2:1:6] | passed | 0.42899 seconds |
|
32
|
+
./spec/approve/approval_key_list_spec.rb[1:7:2:1:7] | passed | 0.42229 seconds |
|
33
|
+
./spec/approve/approval_key_list_spec.rb[1:7:3:1:1] | passed | 0.46174 seconds |
|
34
|
+
./spec/approve/approval_key_list_spec.rb[1:7:3:1:2] | passed | 0.48056 seconds |
|
35
|
+
./spec/approve/approval_key_list_spec.rb[1:7:3:1:3] | passed | 0.66918 seconds |
|
36
|
+
./spec/approve/approval_key_list_spec.rb[1:7:3:1:4] | passed | 0.45402 seconds |
|
37
|
+
./spec/approve/approval_key_list_spec.rb[1:7:3:1:5] | passed | 0.51656 seconds |
|
38
|
+
./spec/approve/approval_key_list_spec.rb[1:7:3:1:6] | passed | 0.48142 seconds |
|
39
|
+
./spec/approve/approval_key_list_spec.rb[1:7:3:1:7] | passed | 0.53464 seconds |
|
40
|
+
./spec/approve/approval_key_list_spec.rb[1:8:1] | passed | 0.1072 seconds |
|
41
|
+
./spec/approve/approval_key_list_spec.rb[1:9:1] | passed | 0.04227 seconds |
|
42
|
+
./spec/approve/cleaner_spec.rb[1:1:1] | passed | 0.02846 seconds |
|
43
|
+
./spec/approve/cleaner_spec.rb[1:1:2] | passed | 0.02011 seconds |
|
44
|
+
./spec/approve/cleaner_spec.rb[1:1:3] | passed | 0.02324 seconds |
|
45
|
+
./spec/approve/cleaner_spec.rb[1:2:1] | passed | 0.04258 seconds |
|
46
|
+
./spec/approve/cleaner_spec.rb[1:2:2] | passed | 0.03437 seconds |
|
47
|
+
./spec/approve/cleaner_spec.rb[1:3:1] | passed | 0.01925 seconds |
|
48
|
+
./spec/approve/pending_job_queue_spec.rb[1:1:1] | passed | 0.0443 seconds |
|
49
|
+
./spec/approve/pending_job_queue_spec.rb[1:1:2] | passed | 0.03414 seconds |
|
50
|
+
./spec/approve/pending_job_queue_spec.rb[1:1:3] | passed | 0.02279 seconds |
|
51
|
+
./spec/approve/pending_job_queue_spec.rb[1:1:4] | passed | 0.03568 seconds |
|
52
|
+
./spec/approve/pending_job_queue_spec.rb[1:1:5:1] | passed | 0.04331 seconds |
|
53
|
+
./spec/approve/pending_job_queue_spec.rb[1:2:1] | passed | 0.0437 seconds |
|
54
|
+
./spec/approve/pending_job_queue_spec.rb[1:2:2] | passed | 0.05008 seconds |
|
55
|
+
./spec/approve/pending_job_queue_spec.rb[1:3:1] | passed | 0.03219 seconds |
|
56
|
+
./spec/approve/pending_job_queue_spec.rb[1:3:2] | passed | 0.03187 seconds |
|
57
|
+
./spec/approve/pending_job_queue_spec.rb[1:4:1] | passed | 0.04032 seconds |
|
58
|
+
./spec/approve/pending_job_queue_spec.rb[1:4:2] | passed | 0.03265 seconds |
|
59
|
+
./spec/approve/pending_job_queue_spec.rb[1:5:1] | passed | 0.03382 seconds |
|
60
|
+
./spec/approve/pending_job_queue_spec.rb[1:5:2] | passed | 0.02533 seconds |
|
61
|
+
./spec/approve/pending_job_queue_spec.rb[1:6:1] | passed | 0.05578 seconds |
|
62
|
+
./spec/approve/pending_job_queue_spec.rb[1:6:2] | passed | 0.03036 seconds |
|
63
|
+
./spec/approve/pending_job_queue_spec.rb[1:7:1] | passed | 0.01786 seconds |
|
64
|
+
./spec/approve/pending_job_queue_spec.rb[1:7:2] | passed | 0.03437 seconds |
|
65
|
+
./spec/approve/pending_job_queue_spec.rb[1:8:1] | passed | 0.0295 seconds |
|
66
|
+
./spec/approve/pending_job_queue_spec.rb[1:8:2] | passed | 0.03856 seconds |
|
67
|
+
./spec/approve/pending_job_queue_spec.rb[1:9:1] | passed | 0.01575 seconds |
|
68
|
+
./spec/approve/pending_job_queue_spec.rb[1:9:2] | passed | 0.0172 seconds |
|
69
|
+
./spec/approve/pending_job_queue_spec.rb[1:10:1] | passed | 0.04352 seconds |
|
70
|
+
./spec/approve/pending_job_queue_spec.rb[1:10:2] | passed | 0.03678 seconds |
|
71
|
+
./spec/approve/pending_job_queue_spec.rb[1:11:1] | passed | 0.10915 seconds |
|
72
|
+
./spec/approve/pending_job_queue_spec.rb[1:11:2] | passed | 0.07132 seconds |
|
73
|
+
./spec/approve/pending_job_queue_spec.rb[1:11:3] | passed | 0.038 seconds |
|
74
|
+
./spec/approve/pending_job_queue_spec.rb[1:11:4] | passed | 0.09186 seconds |
|
75
|
+
./spec/approve/pending_job_queue_spec.rb[1:11:5] | passed | 0.05473 seconds |
|
76
|
+
./spec/approve/pending_job_queue_spec.rb[1:12:1] | passed | 0.02728 seconds |
|
77
|
+
./spec/approve/pending_job_queue_spec.rb[1:13:1] | passed | 0.03106 seconds |
|
78
|
+
./spec/approve/pending_job_queue_spec.rb[1:14:1] | passed | 0.02722 seconds |
|
79
|
+
./spec/approve/pending_job_queue_spec.rb[1:14:2] | passed | 0.03111 seconds |
|
80
|
+
./spec/approve/pending_job_queue_spec.rb[1:14:3] | passed | 0.03882 seconds |
|
81
|
+
./spec/approve/pending_job_queue_spec.rb[1:14:4] | passed | 0.03465 seconds |
|
82
|
+
./spec/approve/pending_job_spec.rb[1:1:1] | passed | 0.01115 seconds |
|
83
|
+
./spec/approve/pending_job_spec.rb[1:1:2] | passed | 0.01362 seconds |
|
84
|
+
./spec/approve/pending_job_spec.rb[1:1:3] | passed | 0.00766 seconds |
|
85
|
+
./spec/approve/pending_job_spec.rb[1:1:4] | passed | 0.00836 seconds |
|
86
|
+
./spec/approve/pending_job_spec.rb[1:1:5] | passed | 0.01647 seconds |
|
87
|
+
./spec/approve/pending_job_spec.rb[1:1:6] | passed | 0.01232 seconds |
|
88
|
+
./spec/approve/pending_job_spec.rb[1:1:7] | passed | 0.00659 seconds |
|
89
|
+
./spec/approve/pending_job_spec.rb[1:1:8] | passed | 0.01112 seconds |
|
90
|
+
./spec/approve/pending_job_spec.rb[1:1:9] | passed | 0.01336 seconds |
|
91
|
+
./spec/approve/pending_job_spec.rb[1:2:1] | passed | 0.00967 seconds |
|
92
|
+
./spec/approve/pending_job_spec.rb[1:2:2] | passed | 0.00336 seconds |
|
93
|
+
./spec/approve/pending_job_spec.rb[1:2:3] | passed | 0.00739 seconds |
|
94
|
+
./spec/approve/pending_job_spec.rb[1:2:4] | passed | 0.00772 seconds |
|
95
|
+
./spec/approve/pending_job_spec.rb[1:2:5] | passed | 0.00708 seconds |
|
96
|
+
./spec/approve/pending_job_spec.rb[1:3:1:1] | passed | 0.01003 seconds |
|
97
|
+
./spec/approve/pending_job_spec.rb[1:3:1:2] | passed | 0.01536 seconds |
|
98
|
+
./spec/approve/pending_job_spec.rb[1:3:1:3] | passed | 0.01478 seconds |
|
99
|
+
./spec/approve/pending_job_spec.rb[1:3:1:4] | passed | 0.00939 seconds |
|
100
|
+
./spec/approve/pending_job_spec.rb[1:3:1:5] | passed | 0.00926 seconds |
|
101
|
+
./spec/approve/pending_job_spec.rb[1:3:1:6] | passed | 0.01126 seconds |
|
102
|
+
./spec/approve/pending_job_spec.rb[1:3:1:7] | passed | 0.01056 seconds |
|
103
|
+
./spec/approve/pending_job_spec.rb[1:4:1:1] | passed | 0.01311 seconds |
|
104
|
+
./spec/approve/pending_job_spec.rb[1:4:1:2] | passed | 0.01257 seconds |
|
105
|
+
./spec/approve/pending_job_spec.rb[1:4:1:3] | passed | 0.01393 seconds |
|
106
|
+
./spec/approve/pending_job_spec.rb[1:4:1:4] | passed | 0.01018 seconds |
|
107
|
+
./spec/approve/pending_job_spec.rb[1:4:1:5] | passed | 0.01098 seconds |
|
108
|
+
./spec/approve/pending_job_spec.rb[1:4:1:6] | passed | 0.01985 seconds |
|
109
|
+
./spec/approve/pending_job_spec.rb[1:4:1:7] | passed | 0.01426 seconds |
|
110
|
+
./spec/approve/pending_job_spec.rb[1:5:1] | passed | 0.00566 seconds |
|
111
|
+
./spec/approve/pending_job_spec.rb[1:6:1] | passed | 0.0491 seconds |
|
112
|
+
./spec/approve/pending_job_spec.rb[1:6:2] | passed | 0.01188 seconds |
|
113
|
+
./spec/approve/pending_job_spec.rb[1:6:3:1] | passed | 0.01158 seconds |
|
114
|
+
./spec/approve/pending_job_spec.rb[1:6:3:2] | passed | 0.01158 seconds |
|
115
|
+
./spec/approve/pending_job_spec.rb[1:6:3:3] | passed | 0.01181 seconds |
|
116
|
+
./spec/approve/pending_job_spec.rb[1:6:3:4] | passed | 0.04864 seconds |
|
117
|
+
./spec/approve/pending_job_spec.rb[1:6:3:5] | passed | 0.01801 seconds |
|
118
|
+
./spec/approve/pending_job_spec.rb[1:6:3:6] | passed | 0.03069 seconds |
|
119
|
+
./spec/approve/pending_job_spec.rb[1:6:3:7] | passed | 0.02301 seconds |
|
120
|
+
./spec/approve/pending_job_spec.rb[1:6:3:8] | passed | 0.02396 seconds |
|
121
|
+
./spec/approve/pending_job_spec.rb[1:6:3:9] | passed | 0.01828 seconds |
|
122
|
+
./spec/approve/pending_job_spec.rb[1:6:3:10] | passed | 0.01181 seconds |
|
123
|
+
./spec/approve/pending_job_spec.rb[1:6:3:11] | passed | 0.01408 seconds |
|
124
|
+
./spec/approve/pending_job_spec.rb[1:7:1] | passed | 0.01223 seconds |
|
125
|
+
./spec/approve/pending_job_spec.rb[1:7:2] | passed | 0.02112 seconds |
|
126
|
+
./spec/approve/pending_job_spec.rb[1:7:3] | passed | 0.01638 seconds |
|
127
|
+
./spec/approve/pending_job_spec.rb[1:8:1] | passed | 0.00496 seconds |
|
128
|
+
./spec/approve/pending_job_spec.rb[1:8:2] | passed | 0.00592 seconds |
|
129
|
+
./spec/approve/pending_job_spec.rb[1:8:3] | passed | 0.01188 seconds |
|
130
|
+
./spec/approve/pending_job_spec.rb[1:8:4] | passed | 0.01338 seconds |
|
131
|
+
./spec/approve/pending_job_spec.rb[1:8:5] | passed | 0.00884 seconds |
|
132
|
+
./spec/approve/pending_job_spec.rb[1:9:1] | passed | 0.01304 seconds |
|
133
|
+
./spec/approve/pending_job_spec.rb[1:9:2:1] | passed | 0.00928 seconds |
|
134
|
+
./spec/approve/pending_job_spec.rb[1:10:1:1] | passed | 0.01481 seconds |
|
135
|
+
./spec/approve/pending_job_spec.rb[1:11:1] | passed | 0.0094 seconds |
|
136
|
+
./spec/approve/pending_job_spec.rb[1:11:2:1] | passed | 0.01366 seconds |
|
137
|
+
./spec/approve_spec.rb[1:1] | passed | 0.00466 seconds |
|
138
|
+
./spec/approve_spec.rb[1:2] | passed | 0.00173 seconds |
|
139
|
+
./spec/approve_spec.rb[1:3] | passed | 0.00568 seconds |
|
140
|
+
./spec/approve_spec.rb[1:4] | passed | 0.02587 seconds |
|
141
|
+
./spec/approve_spec.rb[1:5] | passed | 0.00706 seconds |
|
142
|
+
./spec/approve_spec.rb[1:6] | passed | 0.05263 seconds |
|
143
|
+
./spec/approve_spec.rb[1:7] | passed | 1.48 seconds |
|
144
|
+
./spec/approve_spec.rb[1:8:1] | passed | 0.02838 seconds |
|
145
|
+
./spec/approve_spec.rb[1:8:2] | passed | 0.02621 seconds |
|
146
|
+
./spec/approve_spec.rb[1:8:3] | passed | 0.02531 seconds |
|
147
|
+
./spec/approve_spec.rb[1:8:4] | passed | 0.02955 seconds |
|
148
|
+
./spec/approve_spec.rb[1:8:5] | passed | 0.06196 seconds |
|
149
|
+
./spec/approve_spec.rb[1:8:6] | passed | 0.0157 seconds |
|
150
|
+
./spec/approve_spec.rb[1:9:1] | passed | 0.02103 seconds |
|
151
|
+
./spec/approve_spec.rb[1:9:2] | passed | 0.04387 seconds |
|
152
|
+
./spec/approve_spec.rb[1:10:1] | passed | 0.00652 seconds |
|
153
|
+
./spec/approve_spec.rb[1:10:2] | passed | 0.03675 seconds |
|
154
|
+
./spec/approve_spec.rb[1:11:1] | passed | 0.0032 seconds |
|
155
|
+
./spec/approve_spec.rb[1:11:2] | passed | 0.00951 seconds |
|
156
|
+
./spec/approve_spec.rb[1:11:3] | passed | 0.00207 seconds |
|
157
|
+
./spec/approve_spec.rb[1:11:4] | passed | 0.00265 seconds |
|
158
|
+
./spec/approve_spec.rb[1:11:5] | passed | 0.00932 seconds |
|
159
|
+
./spec/server/public/approve.css_spec.rb[1:1] | passed | 0.00311 seconds |
|
160
|
+
./spec/server/views/approval_keys.erb_spec.rb[1:1:1] | passed | 0.05252 seconds |
|
161
|
+
./spec/server/views/approval_keys.erb_spec.rb[1:1:2] | passed | 0.03205 seconds |
|
162
|
+
./spec/server/views/approval_keys.erb_spec.rb[1:1:3] | passed | 0.05839 seconds |
|
163
|
+
./spec/server/views/approval_keys.erb_spec.rb[1:1:4] | passed | 0.0507 seconds |
|
164
|
+
./spec/server/views/approval_keys.erb_spec.rb[1:2] | passed | 0.10219 seconds |
|
165
|
+
./spec/server/views/approval_keys.erb_spec.rb[1:3] | passed | 0.03713 seconds |
|
166
|
+
./spec/server/views/job_details.erb_spec.rb[1:1] | passed | 0.01152 seconds |
|
167
|
+
./spec/server/views/job_details.erb_spec.rb[1:2] | passed | 0.02295 seconds |
|
168
|
+
./spec/server/views/job_details.erb_spec.rb[1:3] | passed | 0.04792 seconds |
|
169
|
+
./spec/server/views/job_details.erb_spec.rb[1:4] | passed | 0.02425 seconds |
|
170
|
+
./spec/server/views/job_details.erb_spec.rb[1:5] | passed | 0.03369 seconds |
|
171
|
+
./spec/server/views/job_details.erb_spec.rb[1:6] | passed | 0.03412 seconds |
|
172
|
+
./spec/server/views/job_list.erb_spec.rb[1:1:1] | passed | 0.04541 seconds |
|
173
|
+
./spec/server/views/job_list.erb_spec.rb[1:1:2] | passed | 0.01731 seconds |
|
174
|
+
./spec/server/views/job_list.erb_spec.rb[1:1:3] | passed | 0.03418 seconds |
|
175
|
+
./spec/server/views/job_list.erb_spec.rb[1:1:4] | passed | 0.03641 seconds |
|
176
|
+
./spec/server/views/job_list.erb_spec.rb[1:1:5] | passed | 0.04498 seconds |
|
177
|
+
./spec/server/views/job_list.erb_spec.rb[1:1:6] | passed | 0.02947 seconds |
|
178
|
+
./spec/server/views/job_list.erb_spec.rb[1:1:7] | passed | 0.06217 seconds |
|
179
|
+
./spec/server/views/job_list.erb_spec.rb[1:2] | passed | 0.02961 seconds |
|
180
|
+
./spec/server/views/job_list.erb_spec.rb[1:3] | passed | 0.04568 seconds |
|
181
|
+
./spec/server/views/job_list.erb_spec.rb[1:4] | passed | 0.12106 seconds |
|