ModifyAttributesOperationExecutor implements
        CompensatingTransactionOperationExecutor { public void performOperation() { log.debug("Performing modifyAttributes operation"); ldapOperations.modifyAttributes(dn, actualModifications); } ModifyAttributesOperationExecutor(LdapOperations ldapOperations,
            Name dn, ModificationItem[] actualModifications,
            ModificationItem[] compensatingModifications); void rollback(); void commit(); void performOperation();  }
@Test public void testPerformOperation() { ModificationItem[] expectedCompensatingItems = new ModificationItem[0]; ModificationItem[] expectedActualItems = new ModificationItem[0]; Name expectedDn = LdapUtils.newLdapName("cn=john doe"); ModifyAttributesOperationExecutor tested = new ModifyAttributesOperationExecutor(ldapOperationsMock, expectedDn, expectedActualItems, expectedCompensatingItems); tested.performOperation(); verify(ldapOperationsMock).modifyAttributes(expectedDn, expectedActualItems); }