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