package io.cattle.platform.lock.impl; import io.cattle.platform.lock.Lock; import io.cattle.platform.lock.definition.LockDefinition; import io.cattle.platform.lock.exception.FailedToAcquireLockException; import org.mockito.Mockito; public class LockTestUtils { public static Lock goodLock(LockDefinition def) { return getLock(true, def); } public static Lock badLock(LockDefinition def) { return getLock(false, def); } public static Lock getLock(boolean good, LockDefinition def) { Lock lock = Mockito.mock(Lock.class); if (def != null) { Mockito.when(lock.getLockDefinition()).thenReturn(def); } Mockito.when(lock.tryLock()).thenReturn(good); if (!good) { Mockito.doThrow(new FailedToAcquireLockException(def)).when(lock).lock(); } return lock; } }