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;
  }