BindOperationExecutor implements
        CompensatingTransactionOperationExecutor { public void rollback() { try { ldapOperations.unbind(dn); } catch (Exception e) { log.warn("Failed to rollback, dn:" + dn.toString(), e); } } BindOperationExecutor(LdapOperations ldapOperations, Name dn,
            Object originalObject, Attributes originalAttributes); void rollback(); void commit(); void performOperation();  }
@Test public void testRollback() { LdapName expectedDn = LdapUtils.newLdapName("cn=john doe"); BindOperationExecutor tested = new BindOperationExecutor( ldapOperationsMock, expectedDn, null, null); tested.rollback(); verify(ldapOperationsMock).unbind(expectedDn); }