diff options
author | Jacob Vosmaer <contact@jacobvosmaer.nl> | 2016-03-10 14:52:19 +0300 |
---|---|---|
committer | Jacob Vosmaer <contact@jacobvosmaer.nl> | 2016-03-10 14:52:19 +0300 |
commit | 662c4df74826d123f354e408583f24c24cd1761b (patch) | |
tree | a13ba58ddfa955faf2c48dbebc77ace16fe2ef3f /spec/lib/gitlab/exclusive_lease_spec.rb | |
parent | e7df3f51c9cc246279da36c9488b4c591f30b866 (diff) |
Add tests for ExclusiveLease
Diffstat (limited to 'spec/lib/gitlab/exclusive_lease_spec.rb')
-rw-r--r-- | spec/lib/gitlab/exclusive_lease_spec.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/lib/gitlab/exclusive_lease_spec.rb b/spec/lib/gitlab/exclusive_lease_spec.rb new file mode 100644 index 00000000000..aacd1707165 --- /dev/null +++ b/spec/lib/gitlab/exclusive_lease_spec.rb @@ -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 |