resque-approve 0.0.7 → 0.0.11
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.
- 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 |
|