Add tests for ExclusiveLease
This commit is contained in:
parent
e7df3f51c9
commit
662c4df748
|
@ -0,0 +1,21 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe Gitlab::ExclusiveLease do
|
||||||
|
it 'is exclusive' do
|
||||||
|
lease = Gitlab::ExclusiveLease.new(unique_key, timeout: 3600)
|
||||||
|
expect(lease.try_obtain).to eq(true)
|
||||||
|
expect(lease.try_obtain).to eq(false)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'expires' do
|
||||||
|
timeout = 1
|
||||||
|
lease = Gitlab::ExclusiveLease.new(unique_key, timeout: timeout)
|
||||||
|
lease.try_obtain
|
||||||
|
sleep(2 * timeout)
|
||||||
|
expect(lease.try_obtain).to eq(true)
|
||||||
|
end
|
||||||
|
|
||||||
|
def unique_key
|
||||||
|
SecureRandom.hex(10)
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue