diff options
author | Eric Wong <normalperson@yhbt.net> | 2011-09-27 19:32:38 -0700 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2011-10-03 14:48:41 -0700 |
commit | 7e8b1f6abe561e33644ca2bf30dc587e0bfac3c0 (patch) | |
tree | 7ed6f864b14a1725795c16f383562b012a3599b0 /test/test_watcher.rb | |
parent | 26d775916fd3d967a98534eda44a983ea30d0811 (diff) | |
download | raindrops-7e8b1f6abe561e33644ca2bf30dc587e0bfac3c0.tar.gz |
It could be useful to know when the first and last peak time of a maximum was.
Diffstat (limited to 'test/test_watcher.rb')
-rw-r--r-- | test/test_watcher.rb | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/test/test_watcher.rb b/test/test_watcher.rb index 11a2d86..f22a954 100644 --- a/test/test_watcher.rb +++ b/test/test_watcher.rb @@ -117,4 +117,45 @@ class TestWatcher < Test::Unit::TestCase status, headers, body = @app.call(env) assert_equal "1", headers["X-Current"], headers.inspect end + + def test_peaks + env = @req.class.env_for "/active/#@addr.txt" + status, headers, body = @app.call(env.dup) + start = headers["X-First-Peak-At"] + assert headers["X-First-Peak-At"], headers.inspect + assert headers["X-Last-Peak-At"], headers.inspect + assert_nothing_raised { Time.parse(headers["X-First-Peak-At"]) } + assert_nothing_raised { Time.parse(headers["X-Last-Peak-At"]) } + before = headers["X-Last-Peak-At"] + + env = @req.class.env_for "/queued/#@addr.txt" + status, headers, body = @app.call(env) + assert_nothing_raised { Time.parse(headers["X-First-Peak-At"]) } + assert_nothing_raised { Time.parse(headers["X-Last-Peak-At"]) } + assert_equal before, headers["X-Last-Peak-At"], "should not change" + + sleep 2 + env = @req.class.env_for "/active/#@addr.txt" + status, headers, body = @app.call(env.dup) + assert_equal before, headers["X-Last-Peak-At"], headers.inspect + + @ios << @srv.accept + assert_raises(Errno::EAGAIN) { @srv.accept_nonblock } + sleep 0.1 + status, headers, body = @app.call(env.dup) + assert headers["X-Last-Peak-At"], headers.inspect + assert_nothing_raised { Time.parse(headers["X-Last-Peak-At"]) } + assert before != headers["X-Last-Peak-At"] + + queued_before = headers["X-Last-Peak-At"] + + sleep 2 + + env = @req.class.env_for "/queued/#@addr.txt" + status, headers, body = @app.call(env) + assert_equal "0", headers["X-Current"] + assert_nothing_raised { Time.parse(headers["X-Last-Peak-At"]) } + assert_equal queued_before, headers["X-Last-Peak-At"], "should not change" + assert_equal start, headers["X-First-Peak-At"] + end end if RUBY_PLATFORM =~ /linux/ |