fix documentation and add another test for refresh

This commit is contained in:
Nick Elser
2015-04-13 21:21:45 -07:00
parent c8a972da31
commit 185327f59c
2 changed files with 55 additions and 4 deletions

View File

@@ -191,6 +191,38 @@ module ClientTests
end
def test_refresh
client = client(stale_lock_expiration: 0.5)
lock1 = client.lock(TEST_KEY)
assert_equal true, client.locked?(TEST_KEY)
client.refresh(TEST_KEY, lock1)
assert_equal true, client.locked?(TEST_KEY)
sleep 0.55
assert_equal false, client.locked?(TEST_KEY)
lock2 = client.lock(TEST_KEY)
client.refresh(TEST_KEY, lock1)
assert_equal true, client.locked?(TEST_KEY)
client.unlock(TEST_KEY, lock1)
# edge case with refresh lock in the middle
assert_equal true, client.locked?(TEST_KEY)
client.unlock(TEST_KEY, lock2)
# now finally unlocked
assert_equal false, client.locked?(TEST_KEY)
end
def test_block_refresh
success_counter = Queue.new
failure_counter = Queue.new