public void testLockHeldByThread() throws Exception { InvocationContext localTxContext = buildLocalTxIc(new DldGlobalTransaction()); // this makes sure that we cannot acquire lock from the first try expect(lc.acquireLock("k", SPIN_DURATION, TimeUnit.MILLISECONDS)).andReturn(null); lockManager.setOwner(Thread.currentThread()); // next lock acquisition will succeed Lock mockLock = createNiceMock(Lock.class); expect(lc.acquireLock("k", SPIN_DURATION, TimeUnit.MILLISECONDS)).andReturn(mockLock); replay(lc); assert lockManager.lockAndRecord("k", localTxContext); assert lockManager.getOverlapWithNotDeadlockAwareLockOwners() == 1; }