|
2 | 2 |
|
3 | 3 | class QueueTest < ActiveSupport::TestCase
|
4 | 4 | setup do
|
| 5 | + freeze_time |
| 6 | + |
5 | 7 | 5.times do
|
6 | 8 | AddToBufferJob.perform_later "hey!"
|
7 | 9 | end
|
@@ -39,4 +41,35 @@ class QueueTest < ActiveSupport::TestCase
|
39 | 41 | @default_queue.resume
|
40 | 42 | end
|
41 | 43 | end
|
| 44 | + |
| 45 | + test "return latency in seconds on each queue" do |
| 46 | + travel_to 5.minutes.from_now |
| 47 | + |
| 48 | + assert_in_delta 5.minutes.to_i, @background_queue.latency, 1.second.to_i |
| 49 | + assert_equal 0, @default_queue.latency |
| 50 | + |
| 51 | + @background_queue = SolidQueue::Queue.find_by_name("background") |
| 52 | + @default_queue = SolidQueue::Queue.find_by_name("default") |
| 53 | + travel_to 10.minutes.from_now |
| 54 | + |
| 55 | + assert_in_delta 15.minutes.to_i, @background_queue.latency, 1.second.to_i |
| 56 | + assert_equal 0, @default_queue.latency |
| 57 | + end |
| 58 | + |
| 59 | + test "returns memoized latency after the first call" do |
| 60 | + travel_to 5.minutes.from_now |
| 61 | + |
| 62 | + assert_in_delta 5.minutes.to_i, @background_queue.latency, 1.second.to_i |
| 63 | + |
| 64 | + travel_to 10.minutes.from_now |
| 65 | + |
| 66 | + assert_in_delta 5.minutes.to_i, @background_queue.latency, 1.second.to_i |
| 67 | + end |
| 68 | + |
| 69 | + test "return human latency on each queue" do |
| 70 | + travel_to 5.minutes.from_now |
| 71 | + |
| 72 | + assert_match (/5 minutes/), @background_queue.human_latency |
| 73 | + assert_match (/0 seconds/), @default_queue.human_latency |
| 74 | + end |
42 | 75 | end
|
0 commit comments