mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noel Rouvignac
09.26.2014 bd4c3f61a2252e86b1f545774f8a2f70b0f02300
Code cleanup in tests

Replaced such pattern:
Entry entry = TestCaseUtils.makeEntry(ldifLines);
AddOperation addOperation = getRootConnection().processAdd(entry);
assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
assertNotNull(DirectoryServer.getEntry(entry.getName()));

with the follwing code:
Entry entry = TestCaseUtils.addEntry(ldifLines);

and modified TestCaseUtils.addEntry() to:
1) return the added entry
2) check that DirectoryServer.getEntry() can find the newly added entry
39 files modified
2738 ■■■■ changed files
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/TestCaseUtils.java 6 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/api/PasswordValidatorTestCase.java 81 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/LDIFBackendTestCase.java 22 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/AbandonOperationTestCase.java 17 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/AddOperationTestCase.java 74 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/BackendConfigManagerTestCase.java 194 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/BindOperationTestCase.java 6 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/CompareOperationTestCase.java 8 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/DeleteOperationTestCase.java 30 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/ModifyOperationTestCase.java 141 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/SearchOperationTestCase.java 57 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/SubentryManagerTestCase.java 31 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/SubentryPasswordPolicyTestCase.java 40 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/TestModifyDNOperation.java 21 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/networkgroups/NetworkGroupTest.java 73 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/networkgroups/RequestFilteringPolicyTest.java 297 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/CRAMMD5SASLMechanismHandlerTestCase.java 58 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/CancelExtendedOperationTestCase.java 20 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/DigestMD5SASLMechanismHandlerTestCase.java 65 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/EntryUUIDVirtualAttributeProviderTestCase.java 12 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/ExactMatchIdentityMapperTestCase.java 46 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/ExternalSASLMechanismHandlerTestCase.java 44 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/PasswordModifyExtendedOperationTestCase.java 265 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/PlainSASLMechanismHandlerTestCase.java 39 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/StartTLSExtendedOperationTestCase.java 17 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/WhoAmIExtendedOperationTestCase.java 14 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/plugins/EntryUUIDPluginTestCase.java 20 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/plugins/LastModPluginTestCase.java 16 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/plugins/ReferentialIntegrityPluginTestCase.java 170 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/plugins/UniqueAttributePluginTestCase.java 32 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/protocols/internal/InternalClientConnectionTestCase.java 71 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/replication/ReplicationTestCase.java 9 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/replication/UpdateOperationTest.java 243 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPAuthenticationHandlerTestCase.java 155 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPCompareTestCase.java 47 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPDeleteTestCase.java 28 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPModifyTestCase.java 80 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPSearchTestCase.java 47 ●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/types/PrivilegeTestCase.java 142 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/TestCaseUtils.java
@@ -1359,15 +1359,17 @@
   * operation.
   *
   * @param  lines  The lines that make up the entry to be added.
   *
   * @return the added entry
   * @throws  Exception  If an unexpected problem occurs.
   */
  public static void addEntry(String... lines) throws Exception
  public static Entry addEntry(String... lines) throws Exception
  {
    Entry entry = makeEntry(lines);
    AddOperation addOperation = getRootConnection().processAdd(entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS,
        addOperation.getErrorMessage().toString());
    assertNotNull(DirectoryServer.getEntry(entry.getName()));
    return entry;
  }
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/api/PasswordValidatorTestCase.java
@@ -34,9 +34,7 @@
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.ModificationType;
import org.forgerock.opendj.ldap.ResultCode;
import org.opends.server.TestCaseUtils;
import org.opends.server.core.AddOperation;
import org.opends.server.extensions.TestPasswordValidator;
import org.opends.server.protocols.ldap.BindRequestProtocolOp;
import org.opends.server.protocols.ldap.BindResponseProtocolOp;
@@ -47,13 +45,11 @@
import org.opends.server.protocols.ldap.ModifyResponseProtocolOp;
import org.opends.server.tools.LDAPPasswordModify;
import org.opends.server.tools.LDAPWriter;
import org.opends.server.types.Entry;
import org.opends.server.types.RawModification;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.testng.Assert.*;
/**
@@ -113,8 +109,7 @@
    TestPasswordValidator.setNextInvalidReason(null);
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -128,10 +123,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "-h", "127.0.0.1",
@@ -166,8 +157,7 @@
    TestPasswordValidator.setNextInvalidReason(null);
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -181,10 +171,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    TestPasswordValidator.setNextReturnValue(false);
    String[] args =
    {
@@ -224,8 +210,7 @@
    TestPasswordValidator.setNextInvalidReason(null);
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -238,10 +223,6 @@
         "ds-privilege-name: bypass-acl",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "-h", "127.0.0.1",
@@ -275,8 +256,7 @@
    TestPasswordValidator.setNextInvalidReason(null);
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -290,10 +270,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "-h", "127.0.0.1",
@@ -331,8 +307,7 @@
    TestPasswordValidator.setNextInvalidReason(null);
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -348,10 +323,6 @@
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "-h", "127.0.0.1",
@@ -388,8 +359,7 @@
    TestPasswordValidator.setNextInvalidReason(null);
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -405,10 +375,6 @@
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "-h", "127.0.0.1",
@@ -445,8 +411,7 @@
    TestPasswordValidator.setNextInvalidReason(null);
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -460,10 +425,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    org.opends.server.tools.LDAPReader r = new org.opends.server.tools.LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
@@ -518,8 +479,7 @@
    TestPasswordValidator.setNextInvalidReason(null);
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -533,10 +493,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    org.opends.server.tools.LDAPReader r = new org.opends.server.tools.LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
@@ -595,8 +551,7 @@
    TestPasswordValidator.setNextInvalidReason(null);
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -610,10 +565,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    org.opends.server.tools.LDAPReader r = new org.opends.server.tools.LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
@@ -677,8 +628,7 @@
    TestPasswordValidator.setNextInvalidReason(null);
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -694,10 +644,6 @@
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    org.opends.server.tools.LDAPReader r = new org.opends.server.tools.LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
@@ -756,8 +702,7 @@
    TestPasswordValidator.setNextInvalidReason(null);
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -773,10 +718,6 @@
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    org.opends.server.tools.LDAPReader r = new org.opends.server.tools.LDAPReader(s);
    LDAPWriter w = new LDAPWriter(s);
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/LDIFBackendTestCase.java
@@ -30,6 +30,8 @@
import java.util.UUID;
import org.forgerock.opendj.ldap.ConditionResult;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.SearchScope;
import org.opends.server.TestCaseUtils;
import org.opends.server.api.Backend;
import org.opends.server.backends.task.Task;
@@ -45,14 +47,13 @@
import org.opends.server.tasks.TasksTestCase;
import org.opends.server.tools.LDAPModify;
import org.opends.server.tools.LDAPSearch;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.DN;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.Entry;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.SearchScope;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.testng.Assert.*;
/**
@@ -225,9 +226,7 @@
      "objectClass: organizationalUnit",
      "ou: People");
    InternalClientConnection conn =
         InternalClientConnection.getRootConnection();
    AddOperation addOperation = conn.processAdd(e);
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.ENTRY_ALREADY_EXISTS);
  }
@@ -249,9 +248,7 @@
      "objectClass: organizationalUnit",
      "ou: test");
    InternalClientConnection conn =
         InternalClientConnection.getRootConnection();
    AddOperation addOperation = conn.processAdd(e);
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.NO_SUCH_OBJECT);
    assertEquals(addOperation.getMatchedDN(), DN.valueOf("o=ldif"));
  }
@@ -291,16 +288,11 @@
    assertFalse(DirectoryServer.entryExists(
                    DN.valueOf("uid=user.1,ou=People,o=ldif")));
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
      "dn: o=ldif",
      "objectClass: top",
      "objectClass: organization",
      "o: ldif");
    InternalClientConnection conn =
         InternalClientConnection.getRootConnection();
    AddOperation addOperation = conn.processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertTrue(DirectoryServer.entryExists(DN.valueOf("o=ldif")));
    assertFalse(DirectoryServer.entryExists(
                    DN.valueOf("uid=user.1,ou=People,o=ldif")));
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/AbandonOperationTestCase.java
@@ -48,7 +48,6 @@
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.opends.server.util.ServerConstants.*;
import static org.testng.Assert.*;
@@ -395,19 +394,13 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    // Add an entry to the server that we can delete.
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=test,o=test",
         "objectClass: top",
         "objectClass: device",
         "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    // Establish a connection to the server and bind as a root user.
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -611,19 +604,13 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    // Add an entry to the server that we can rename.
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=test,o=test",
         "objectClass: top",
         "objectClass: device",
         "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    // Establish a connection to the server and bind as a root user.
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/AddOperationTestCase.java
@@ -42,12 +42,29 @@
import org.opends.server.plugins.DisconnectClientPlugin;
import org.opends.server.plugins.ShortCircuitPlugin;
import org.opends.server.plugins.UpdatePreOpPlugin;
import org.opends.server.protocols.internal.InternalClientConnection;
import org.opends.server.protocols.ldap.*;
import org.opends.server.protocols.ldap.AddRequestProtocolOp;
import org.opends.server.protocols.ldap.AddResponseProtocolOp;
import org.opends.server.protocols.ldap.BindRequestProtocolOp;
import org.opends.server.protocols.ldap.BindResponseProtocolOp;
import org.opends.server.protocols.ldap.LDAPAttribute;
import org.opends.server.protocols.ldap.LDAPMessage;
import org.opends.server.tools.LDAPModify;
import org.opends.server.tools.LDAPReader;
import org.opends.server.tools.LDAPWriter;
import org.opends.server.types.*;
import org.opends.server.types.Attribute;
import org.opends.server.types.AttributeType;
import org.opends.server.types.Attributes;
import org.opends.server.types.CancelRequest;
import org.opends.server.types.CancelResult;
import org.opends.server.types.Control;
import org.opends.server.types.DN;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.Entry;
import org.opends.server.types.LockManager;
import org.opends.server.types.ObjectClass;
import org.opends.server.types.Operation;
import org.opends.server.types.RawAttribute;
import org.opends.server.types.WritabilityMode;
import org.opends.server.util.StaticUtils;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.DataProvider;
@@ -516,8 +533,7 @@
        new LDAPAttribute("objectClass", byteStrings("top", "organizationalUnit")),
        new LDAPAttribute("ou", byteStrings("People")));
    AddOperation addOperation =
         getRootConnection().processAdd(ByteString.valueOf("ou=People,o=test"), attrs);
    AddOperation addOperation = getRootConnection().processAdd("ou=People,o=test", attrs);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    retrieveCompletedOperationElements(addOperation);
  }
@@ -561,8 +577,7 @@
        new LDAPAttribute("objectClass", byteStrings("top", "organizationalUnit")),
        new LDAPAttribute("ou", byteStrings("People")));
    AddOperation addOperation =
         getRootConnection().processAdd(ByteString.valueOf("invalid"), attrs);
    AddOperation addOperation = getRootConnection().processAdd("invalid", attrs);
    assertFalse(addOperation.getResultCode() == ResultCode.SUCCESS);
  }
@@ -583,8 +598,7 @@
        new LDAPAttribute("objectClass", byteStrings("top", "organization")),
        new LDAPAttribute("o", byteStrings("test")));
    AddOperation addOperation =
         getRootConnection().processAdd(ByteString.valueOf("o=test"), attrs);
    AddOperation addOperation = getRootConnection().processAdd("o=test", attrs);
    assertFalse(addOperation.getResultCode() == ResultCode.SUCCESS);
  }
@@ -605,8 +619,7 @@
        new LDAPAttribute("objectClass", byteStrings("top", "organization")),
        new LDAPAttribute("o", byteStrings("undefined")));
    AddOperation addOperation =
         getRootConnection().processAdd(ByteString.valueOf("o=undefined"), attrs);
    AddOperation addOperation = getRootConnection().processAdd("o=undefined", attrs);
    assertFalse(addOperation.getResultCode() == ResultCode.SUCCESS);
  }
@@ -627,10 +640,7 @@
        new LDAPAttribute("objectClass", byteStrings("top", "organizationalUnit")),
        new LDAPAttribute("ou", byteStrings("People")));
    InternalClientConnection conn = getRootConnection();
    AddOperation addOperation =
         conn.processAdd(ByteString.valueOf("ou=People,o=undefined"), attrs);
    AddOperation addOperation = getRootConnection().processAdd("ou=People,o=undefined", attrs);
    assertFalse(addOperation.getResultCode() == ResultCode.SUCCESS);
  }
@@ -651,11 +661,7 @@
        new LDAPAttribute("objectClass", byteStrings("top", "organizationalUnit")),
        new LDAPAttribute("ou", byteStrings("People")));
    InternalClientConnection conn = getRootConnection();
    AddOperation addOperation =
         conn.processAdd(ByteString.valueOf("ou=People,o=missing,o=test"),
                         attrs);
    AddOperation addOperation = getRootConnection().processAdd("ou=People,o=missing,o=test", attrs);
    assertFalse(addOperation.getResultCode() == ResultCode.SUCCESS);
  }
@@ -711,11 +717,7 @@
        new LDAPAttribute("objectClass", byteStrings("top", "undefined")),
        new LDAPAttribute("ou", byteStrings("People")));
    InternalClientConnection conn = getRootConnection();
    AddOperation addOperation =
         conn.processAdd(ByteString.valueOf("ou=People,o=test"),
                         attrs);
    AddOperation addOperation = getRootConnection().processAdd(ByteString.valueOf("ou=People,o=test"), attrs);
    assertFalse(addOperation.getResultCode() == ResultCode.SUCCESS);
  }
@@ -768,11 +770,7 @@
        new LDAPAttribute("ou", byteStrings("People")),
        new LDAPAttribute("description", byteStrings("bar")));
    InternalClientConnection conn = getRootConnection();
    AddOperation addOperation =
         conn.processAdd(ByteString.valueOf("ou=People,o=test"),
                         attrs);
    AddOperation addOperation = getRootConnection().processAdd(ByteString.valueOf("ou=People,o=test"), attrs);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
  }
@@ -793,11 +791,7 @@
        new LDAPAttribute("ou", byteStrings("People")),
        new LDAPAttribute("description;lang-en-us", byteStrings("foo")));
    InternalClientConnection conn = getRootConnection();
    AddOperation addOperation =
         conn.processAdd(ByteString.valueOf("ou=People,o=test"),
                         attrs);
    AddOperation addOperation = getRootConnection().processAdd(ByteString.valueOf("ou=People,o=test"), attrs);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
  }
@@ -819,11 +813,7 @@
        new LDAPAttribute("ou", byteStrings("People")),
        new LDAPAttribute("description;lang-en-us", byteStrings("foo")));
    InternalClientConnection conn = getRootConnection();
    AddOperation addOperation =
         conn.processAdd(ByteString.valueOf("ou=People,o=test"),
                         attrs);
    AddOperation addOperation = getRootConnection().processAdd(ByteString.valueOf("ou=People,o=test"), attrs);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
  }
@@ -876,10 +866,8 @@
        new LDAPAttribute("objectClass", byteStrings("top", "ds-root-dse", "extensibleObject")),
        new LDAPAttribute("cn", byteStrings("Root DSE")));
    InternalClientConnection conn = getRootConnection();
    AddOperation addOperation =
         conn.processAdd(ByteString.empty(), attrs);
         getRootConnection().processAdd(ByteString.empty(), attrs);
    assertFalse(addOperation.getResultCode() == ResultCode.SUCCESS);
  }
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/BackendConfigManagerTestCase.java
@@ -41,11 +41,11 @@
import org.opends.server.types.Entry;
import org.opends.server.types.Modification;
import org.opends.server.types.SearchFilter;
import org.opends.server.util.StaticUtils;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.opends.server.util.StaticUtils.*;
import static org.testng.Assert.*;
/**
@@ -135,8 +135,7 @@
    String backendID = createBackendID(baseDN);
    Entry backendEntry = createBackendEntry(backendID, false, baseDN);
    AddOperation addOperation = getRootConnection().processAdd(backendEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    processAdd(backendEntry);
    assertNull(DirectoryServer.getBackend(backendID));
    assertNull(DirectoryServer.getBackendWithBaseDN(baseDN));
@@ -159,21 +158,11 @@
    String backendID = createBackendID(baseDN);
    Entry backendEntry = createBackendEntry(backendID, true, baseDN);
    AddOperation addOperation = getRootConnection().processAdd(backendEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    processAdd(backendEntry);
    Backend<?> backend = DirectoryServer.getBackend(backendID);
    assertNotNull(backend);
    assertEquals(backend, DirectoryServer.getBackendWithBaseDN(baseDN));
    assertNull(backend.getParentBackend());
    assertTrue(backend.getSubordinateBackends().length == 0);
    assertFalse(backend.entryExists(baseDN));
    assertTrue(DirectoryServer.isNamingContext(baseDN));
    Entry e = createEntry(baseDN);
    addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertTrue(backend.entryExists(baseDN));
    assertBackend(baseDN, backend);
    createEntry(baseDN, backend);
    DeleteOperation deleteOperation = getRootConnection().processDelete(backendEntry.getName());
    assertEquals(deleteOperation.getResultCode(), ResultCode.SUCCESS);
@@ -197,8 +186,7 @@
    String backendID = createBackendID(baseDN);
    Entry backendEntry = createBackendEntry(backendID, false, baseDN);
    AddOperation addOperation = getRootConnection().processAdd(backendEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    processAdd(backendEntry);
    assertNull(DirectoryServer.getBackend(backendID));
    assertFalse(DirectoryServer.isNamingContext(baseDN));
@@ -213,17 +201,8 @@
    assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS);
    Backend<?> backend = DirectoryServer.getBackend(backendID);
    assertNotNull(backend);
    assertEquals(backend, DirectoryServer.getBackendWithBaseDN(baseDN));
    assertNull(backend.getParentBackend());
    assertTrue(backend.getSubordinateBackends().length == 0);
    assertFalse(backend.entryExists(baseDN));
    assertTrue(DirectoryServer.isNamingContext(baseDN));
    Entry e = createEntry(baseDN);
    addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertTrue(backend.entryExists(baseDN));
    assertBackend(baseDN, backend);
    createEntry(baseDN, backend);
    // Modify the backend to disable it.
@@ -257,23 +236,11 @@
    String parentBackendID = createBackendID(parentBaseDN);
    Entry parentBackendEntry = createBackendEntry(parentBackendID, true,
                                                  parentBaseDN);
    AddOperation addOperation = getRootConnection().processAdd(parentBackendEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    processAdd(parentBackendEntry);
    Backend<?> parentBackend = DirectoryServer.getBackend(parentBackendID);
    assertNotNull(parentBackend);
    assertEquals(parentBackend,
                 DirectoryServer.getBackendWithBaseDN(parentBaseDN));
    assertNull(parentBackend.getParentBackend());
    assertTrue(parentBackend.getSubordinateBackends().length == 0);
    assertFalse(parentBackend.entryExists(parentBaseDN));
    assertTrue(DirectoryServer.isNamingContext(parentBaseDN));
    Entry e = createEntry(parentBaseDN);
    addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertTrue(parentBackend.entryExists(parentBaseDN));
    assertBackend(parentBaseDN, parentBackend);
    createEntry(parentBaseDN, parentBackend);
    // Create the child backend and the corresponding base entry.
@@ -281,9 +248,7 @@
    String childBackendID = createBackendID(childBaseDN);
    Entry childBackendEntry = createBackendEntry(childBackendID, true,
                                                 childBaseDN);
    addOperation = getRootConnection().processAdd(childBackendEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    processAdd(childBackendEntry);
    Backend<?> childBackend = DirectoryServer.getBackend(childBackendID);
    assertNotNull(childBackend);
@@ -295,10 +260,7 @@
    assertFalse(childBackend.entryExists(childBaseDN));
    assertFalse(DirectoryServer.isNamingContext(childBaseDN));
    e = createEntry(childBaseDN);
    addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertTrue(childBackend.entryExists(childBaseDN));
    createEntry(childBaseDN, childBackend);
    InternalClientConnection conn = getRootConnection();
@@ -346,23 +308,11 @@
    String childBackendID = createBackendID(childBaseDN);
    Entry childBackendEntry = createBackendEntry(childBackendID, true,
                                                 childBaseDN);
    AddOperation addOperation = getRootConnection().processAdd(childBackendEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    processAdd(childBackendEntry);
    Backend<?> childBackend = DirectoryServer.getBackend(childBackendID);
    assertNotNull(childBackend);
    assertEquals(childBackend,
                 DirectoryServer.getBackendWithBaseDN(childBaseDN));
    assertFalse(childBackend.entryExists(childBaseDN));
    assertNull(childBackend.getParentBackend());
    assertTrue(childBackend.getSubordinateBackends().length == 0);
    assertFalse(childBackend.entryExists(childBaseDN));
    Entry e = createEntry(childBaseDN);
    addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertTrue(childBackend.entryExists(childBaseDN));
    assertBackend(childBaseDN, childBackend);
    createEntry(childBaseDN, childBackend);
    assertTrue(DirectoryServer.isNamingContext(childBaseDN));
@@ -372,9 +322,7 @@
    String parentBackendID = createBackendID(parentBaseDN);
    Entry parentBackendEntry = createBackendEntry(parentBackendID, true,
                                                  parentBaseDN);
    addOperation = getRootConnection().processAdd(parentBackendEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    processAdd(parentBackendEntry);
    Backend<?> parentBackend = DirectoryServer.getBackend(parentBackendID);
    assertNotNull(parentBackend);
@@ -384,10 +332,7 @@
    assertEquals(parentBackend, childBackend.getParentBackend());
    assertTrue(parentBackend.getSubordinateBackends().length == 1);
    e = createEntry(parentBaseDN);
    addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertTrue(parentBackend.entryExists(parentBaseDN));
    createEntry(parentBaseDN, parentBackend);
    assertTrue(DirectoryServer.isNamingContext(parentBaseDN));
    assertFalse(DirectoryServer.isNamingContext(childBaseDN));
@@ -413,7 +358,16 @@
    assertNull(DirectoryServer.getBackend(parentBackendID));
  }
  private void assertBackend(DN baseDN, Backend<?> backend) throws DirectoryException
  {
    assertNotNull(backend);
    assertEquals(backend, DirectoryServer.getBackendWithBaseDN(baseDN));
    assertFalse(backend.entryExists(baseDN));
    assertNull(backend.getParentBackend());
    assertTrue(backend.getSubordinateBackends().length == 0);
    assertFalse(backend.entryExists(baseDN));
    assertTrue(DirectoryServer.isNamingContext(baseDN));
  }
  /**
   * Tests the ability of the Directory Server to work properly when inserting
@@ -430,22 +384,11 @@
    String parentBackendID = createBackendID(parentBaseDN);
    Entry parentBackendEntry = createBackendEntry(parentBackendID, true,
                                                  parentBaseDN);
    AddOperation addOperation = getRootConnection().processAdd(parentBackendEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    processAdd(parentBackendEntry);
    Backend<?> parentBackend = DirectoryServer.getBackend(parentBackendID);
    assertNotNull(parentBackend);
    assertEquals(parentBackend,
                 DirectoryServer.getBackendWithBaseDN(parentBaseDN));
    assertNull(parentBackend.getParentBackend());
    assertTrue(parentBackend.getSubordinateBackends().length == 0);
    assertFalse(parentBackend.entryExists(parentBaseDN));
    Entry e = createEntry(parentBaseDN);
    addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertTrue(parentBackend.entryExists(parentBaseDN));
    assertBackend(parentBaseDN, parentBackend);
    createEntry(parentBaseDN, parentBackend);
    assertTrue(DirectoryServer.isNamingContext(parentBaseDN));
@@ -454,9 +397,7 @@
    String grandchildBackendID = createBackendID(grandchildBaseDN);
    Entry grandchildBackendEntry = createBackendEntry(grandchildBackendID, true,
                                                      grandchildBaseDN);
    addOperation = getRootConnection().processAdd(grandchildBackendEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    processAdd(grandchildBackendEntry);
    Backend<?> grandchildBackend = DirectoryServer.getBackend(grandchildBackendID);
    assertNotNull(grandchildBackend);
@@ -469,8 +410,8 @@
    // Verify that we can't create the grandchild base entry because its parent
    // doesn't exist.
    e = createEntry(grandchildBaseDN);
    addOperation = getRootConnection().processAdd(e);
    Entry e = StaticUtils.createEntry(grandchildBaseDN);
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.NO_SUCH_OBJECT);
    assertFalse(grandchildBackend.entryExists(grandchildBaseDN));
@@ -480,32 +421,14 @@
    String childBackendID = createBackendID(childBaseDN);
    Entry childBackendEntry = createBackendEntry(childBackendID, true,
                                                 childBaseDN);
    addOperation = getRootConnection().processAdd(childBackendEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    processAdd(childBackendEntry);
    Backend<?> childBackend = DirectoryServer.getBackend(childBackendID);
    assertNotNull(childBackend);
    assertEquals(childBackend,
                 DirectoryServer.getBackendWithBaseDN(childBaseDN));
    assertNotNull(childBackend.getParentBackend());
    assertEquals(parentBackend, childBackend.getParentBackend());
    assertTrue(parentBackend.getSubordinateBackends().length == 1);
    assertFalse(childBackend.entryExists(childBaseDN));
    assertTrue(childBackend.getSubordinateBackends().length == 1);
    assertEquals(childBackend.getSubordinateBackends()[0], grandchildBackend);
    assertEquals(grandchildBackend.getParentBackend(), childBackend);
    e = createEntry(childBaseDN);
    addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertTrue(childBackend.entryExists(childBaseDN));
    createBackend(childBaseDN, childBackend, parentBackend, grandchildBackend);
    createEntry(childBaseDN, childBackend);
    // Now we can create the grandchild base entry.
    e = createEntry(grandchildBaseDN);
    addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertTrue(grandchildBackend.entryExists(grandchildBaseDN));
    createEntry(grandchildBaseDN, grandchildBackend);
    InternalClientConnection conn = getRootConnection();
@@ -548,16 +471,7 @@
    // valid, and make sure that it got re-inserted back into the same place in
    // the hierarchy.
    childBackend = DirectoryServer.getBackend(childBackendID);
    assertNotNull(childBackend);
    assertEquals(childBackend,
                 DirectoryServer.getBackendWithBaseDN(childBaseDN));
    assertNotNull(childBackend.getParentBackend());
    assertEquals(parentBackend, childBackend.getParentBackend());
    assertTrue(parentBackend.getSubordinateBackends().length == 1);
    assertFalse(childBackend.entryExists(childBaseDN));
    assertTrue(childBackend.getSubordinateBackends().length == 1);
    assertEquals(childBackend.getSubordinateBackends()[0], grandchildBackend);
    assertEquals(grandchildBackend.getParentBackend(), childBackend);
    createBackend(childBaseDN, childBackend, parentBackend, grandchildBackend);
    // Since the memory backend that we're using for this test doesn't retain
@@ -573,10 +487,7 @@
    // Add the child entry back into the server to get things back to the way
    // they were before we disabled the backend.
    e = createEntry(childBaseDN);
    addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertTrue(childBackend.entryExists(childBaseDN));
    createEntry(childBaseDN, childBackend);
    // We should again be able to see all three entries when performing a
@@ -606,7 +517,32 @@
    assertNull(DirectoryServer.getBackend(parentBackendID));
  }
  private void createBackend(DN childBaseDN, Backend<?> childBackend, Backend<?> parentBackend,
      Backend<?> grandchildBackend) throws DirectoryException
  {
    assertNotNull(childBackend);
    assertEquals(childBackend, DirectoryServer.getBackendWithBaseDN(childBaseDN));
    assertNotNull(childBackend.getParentBackend());
    assertEquals(parentBackend, childBackend.getParentBackend());
    assertTrue(parentBackend.getSubordinateBackends().length == 1);
    assertFalse(childBackend.entryExists(childBaseDN));
    assertTrue(childBackend.getSubordinateBackends().length == 1);
    assertEquals(childBackend.getSubordinateBackends()[0], grandchildBackend);
    assertEquals(grandchildBackend.getParentBackend(), childBackend);
  }
  private void createEntry(DN baseDN, Backend<?> backend) throws DirectoryException
  {
    Entry e = StaticUtils.createEntry(baseDN);
    processAdd(e);
    assertTrue(backend.entryExists(baseDN));
  }
  private void processAdd(Entry e)
  {
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
  }
  /**
   * Creates an entry that may be used to add a new backend to the server.  It
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/BindOperationTestCase.java
@@ -1703,8 +1703,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1716,9 +1715,6 @@
         "cn: Test User");
    InternalClientConnection conn = getRootConnection();
    AddOperation addOperation = conn.processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    BindOperation bindOperation =
         conn.processSimpleBind(ByteString.valueOf("uid=test,o=test"),
                                ByteString.valueOf("password"));
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/CompareOperationTestCase.java
@@ -62,11 +62,8 @@
    TestCaseUtils.startServer();
    TestCaseUtils.initializeTestBackend(true);
    InternalClientConnection connection =
         InternalClientConnection.getRootConnection();
    // Add a test entry.
    entry = TestCaseUtils.makeEntry(
    entry = TestCaseUtils.addEntry(
         "dn: uid=rogasawara,o=test",
         "userpassword: password",
         "objectclass: top",
@@ -96,9 +93,6 @@
         "aci: (targetattr=\"*\")(version 3.0; acl \"Proxy Rights\"; " +
              "allow(proxy) userdn=\"ldap:///uid=proxy.user,o=test\";)"
    );
    AddOperation addOperation = connection.processAdd(entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertNotNull(DirectoryServer.getEntry(entry.getName()));
    // Add a user capable of using the proxied authorization control.
    TestCaseUtils.addEntry(
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/DeleteOperationTestCase.java
@@ -32,11 +32,12 @@
import java.util.concurrent.locks.Lock;
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.ResultCode;
import org.opends.server.TestCaseUtils;
import org.opends.server.api.Backend;
import org.opends.server.plugins.DisconnectClientPlugin;
import org.opends.server.plugins.ShortCircuitPlugin;
import org.opends.server.protocols.internal.InternalClientConnection;
import org.opends.server.protocols.ldap.BindRequestProtocolOp;
import org.opends.server.protocols.ldap.BindResponseProtocolOp;
import org.opends.server.protocols.ldap.DeleteRequestProtocolOp;
@@ -44,8 +45,6 @@
import org.opends.server.tools.LDAPDelete;
import org.opends.server.tools.LDAPWriter;
import org.opends.server.types.*;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.ByteString;
import org.opends.server.util.StaticUtils;
import org.opends.server.workflowelement.localbackend.LocalBackendDeleteOperation;
import org.testng.annotations.AfterMethod;
@@ -219,21 +218,12 @@
  private DeleteOperation processDeleteRaw(String entryDN)
  {
    InternalClientConnection conn = getRootConnection();
    return conn.processDelete(ByteString.valueOf(entryDN));
    return getRootConnection().processDelete(ByteString.valueOf(entryDN));
  }
  private DeleteOperation processDelete(String entryDN) throws DirectoryException
  {
    InternalClientConnection conn = getRootConnection();
    return conn.processDelete(DN.valueOf(entryDN));
  }
  private void processAdd(String... entryLines) throws Exception
  {
    Entry e = TestCaseUtils.makeEntry(entryLines);
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    return getRootConnection().processDelete(DN.valueOf(entryDN));
  }
  /**
@@ -319,8 +309,7 @@
  public void testDeleteWithValidRawDNLeaf() throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    processAdd("dn: cn=test,o=test",
    TestCaseUtils.addEntry("dn: cn=test,o=test",
               "objectClass: top",
               "objectClass: device",
               "cn: test");
@@ -341,8 +330,7 @@
  public void testDeleteWithValidProcessedDNLeaf() throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    processAdd("dn: cn=test,o=test",
    TestCaseUtils.addEntry("dn: cn=test,o=test",
               "objectClass: top",
               "objectClass: device",
               "cn: test");
@@ -480,8 +468,7 @@
  public void testDeleteWithNonLeafRawDN() throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    processAdd("dn: cn=test,o=test",
    TestCaseUtils.addEntry("dn: cn=test,o=test",
               "objectClass: top",
               "objectClass: device",
               "cn: test");
@@ -501,8 +488,7 @@
  public void testDeleteWithNonLeafProcessedDN() throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    processAdd("dn: cn=test,o=test",
    TestCaseUtils.addEntry("dn: cn=test,o=test",
               "objectClass: top",
               "objectClass: device",
               "cn: test");
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/ModifyOperationTestCase.java
@@ -646,7 +646,7 @@
  public void testFailAddToSingleValuedAttribute(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -677,7 +677,7 @@
  public void testFailAddToSingleValuedOperationalAttribute(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -709,7 +709,7 @@
  public void testFailReplaceSingleValuedWithMultipleValues(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -741,7 +741,7 @@
       String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -800,15 +800,6 @@
    return conn.processModify(ByteString.valueOf(entryDN), mods, requestControls);
  }
  private void processAdd(String... entryLines) throws Exception
  {
    Entry entry = TestCaseUtils.makeEntry(entryLines);
    AddOperation addOperation = getRootConnection().processAdd(entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
  }
  /**
   * Tests to ensure that a modify attempt fails if an attempt is made to add a
   * value that matches one that already exists.
@@ -819,7 +810,7 @@
  public void testFailAddDuplicateValue(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -850,7 +841,7 @@
  public void testFailReplaceWithDuplicates(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -881,7 +872,7 @@
  public void testFailReplaceWithSyntaxViolation(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -913,7 +904,7 @@
  public void testFailAddSyntaxViolation(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -944,7 +935,7 @@
  public void testFailAddDisallowedAttribute(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -977,7 +968,7 @@
       String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1009,7 +1000,7 @@
  public void testFailReplaceRDNAttribute(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1040,7 +1031,7 @@
  public void testFailRemoveRDNAttribute(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1071,7 +1062,7 @@
  public void testFailRemoveRDNValue(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1102,7 +1093,7 @@
  public void testFailReplaceOneOfMultipleRDNAttributes(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: givenName=Test+sn=User," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1133,7 +1124,7 @@
  public void testFailRemoveOneOfMultipleRDNValues(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: givenName=Test+sn=User," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1164,7 +1155,7 @@
  public void testSuccessRemoveCompleteAttribute(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1195,7 +1186,7 @@
  public void testSuccessRemoveOneOfManyValues(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1228,7 +1219,7 @@
  public void testSuccessRemoveOnlyValue(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1260,7 +1251,7 @@
  public void testSuccessRemoveAllOfManyValues(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1293,7 +1284,7 @@
  public void testFailRemoveRequiredAttribute(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1324,7 +1315,7 @@
  public void testFailRemoveRequiredAttributeValue(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1355,7 +1346,7 @@
  public void testSuccessReplaceExistingWithNew(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1387,7 +1378,7 @@
  public void testSuccessReplaceExistingWithSame(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1437,7 +1428,7 @@
  public void testSuccessDeleteAndAddSameValue(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1488,7 +1479,7 @@
  public void testSuccessDeleteAttributeWithOption(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1540,7 +1531,7 @@
  public void testSuccessReplaceExistingWithNothing(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1572,7 +1563,7 @@
  public void testSuccessReplaceNonExistingWithNothing(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1603,7 +1594,7 @@
  public void testSuccessReplaceNonExistingWithNew(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1634,7 +1625,7 @@
  public void testSuccessRemoveOnlyExistingAndAddNew(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1667,7 +1658,7 @@
  public void testSuccessRemoveOneExistingAndAddNew(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1701,7 +1692,7 @@
  public void testSuccessRemoveOneExistingAndAddMultipleNew(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1734,7 +1725,7 @@
  public void testFailRemoveNonExistentAttribute(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1764,7 +1755,7 @@
  public void testFailRemoveNonExistentValue(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1795,7 +1786,7 @@
  public void testFailRemoveAllObjectClasses(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1826,7 +1817,7 @@
  public void testFailReplaceObjectClassesWithNothing(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1857,7 +1848,7 @@
  public void testFailRemoveStructuralObjectclass(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: ou=People," + baseDN,
         "objectClass: top",
         "objectClass: organizationalUnit",
@@ -1882,7 +1873,7 @@
  public void testFailAddSecondStructuralObjectClass(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: ou=People," + baseDN,
         "objectClass: top",
         "objectClass: organizationalUnit",
@@ -1907,7 +1898,7 @@
  public void testSuccessIncrementByOne(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1946,7 +1937,7 @@
  public void testSuccessIncrementByTen(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -1985,7 +1976,7 @@
  public void testSuccessIncrementByNegativeOne(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2038,7 +2029,7 @@
  public void testFailIncrementNonNumeric(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2069,7 +2060,7 @@
  public void testFailIncrementValueNonNumeric(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2101,7 +2092,7 @@
  public void testSuccessIncrementMultiValued(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2134,7 +2125,7 @@
  public void testFailIncrementNoIncrementValues(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2166,7 +2157,7 @@
  public void testFailIncrementMultipleIncrementValues(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2198,7 +2189,7 @@
  public void testFailIncrementNonExisting(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2229,7 +2220,7 @@
  public void testSuccessRemoveUnneededAuxiliaryObjectClass(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2267,7 +2258,7 @@
  public void testSuccessAddAuxiliaryObjectClass(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2307,7 +2298,7 @@
  public void testFailAddDuplicateObjectClass(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2340,7 +2331,7 @@
  public void testFailRemoveNonExistingObjectClass(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2373,7 +2364,7 @@
  public void testFailReplaceNoUserModification(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2435,7 +2426,7 @@
  public void testFailServerCompletelyReadOnly(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2472,7 +2463,7 @@
  public void testSucceedServerInternalOnlyWritability(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2509,7 +2500,7 @@
  public void testFailServerInternalOnlyWritability(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2577,7 +2568,7 @@
  public void testFailBackendCompletelyReadOnly(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2615,7 +2606,7 @@
  public void testSucceedBackendInternalOnlyWritability(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -2653,7 +2644,7 @@
  public void testFailBackendInternalOnlyWritability(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -3259,7 +3250,7 @@
  public void testSuccessPermissiveModifyControlAddDuplicateValue(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -3296,7 +3287,7 @@
  public void testSuccessPermissiveModifyControlRemoveNonExistentValue(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -3333,7 +3324,7 @@
  public void testSuccessPermissiveModifyControlRemoveNonExistentAttribute(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=test.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -3372,7 +3363,7 @@
  public void testModifyDelAddPasswordAttribute(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=testPassword01.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -3417,7 +3408,7 @@
  public void testModifyDelOneAddOnePasswordAttribute(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=testPassword02.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -3463,7 +3454,7 @@
  public void testModifyDelEncryptedAddOnePasswordAttribute(String baseDN)
         throws Exception
  {
    processAdd(
    TestCaseUtils.addEntry(
         "dn: uid=testPassword03.user," + baseDN,
         "objectClass: top",
         "objectClass: person",
@@ -3742,7 +3733,7 @@
  {
    String baseDN = "dc=example,dc=com";
    TestCaseUtils.clearJEBackend(true, "userRoot", baseDN);
    processAdd("dn: cn=Test User," + baseDN,
    TestCaseUtils.addEntry("dn: cn=Test User," + baseDN,
        "objectClass: top", "objectClass: person",
        "objectClass: organizationalPerson", "sn: User", "cn: Test User");
@@ -3775,7 +3766,7 @@
      assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS);
      // Add new entry and modify.
      processAdd("dn: cn=Test User2," + baseDN,
      TestCaseUtils.addEntry("dn: cn=Test User2," + baseDN,
          "objectClass: top", "objectClass: person",
          "objectClass: organizationalPerson", "sn: User2", "cn: Test User2");
@@ -3800,7 +3791,7 @@
      assertEquals(result, 0, "Schema update failed");
      // Add new entry and modify (this time it should fail).
      processAdd("dn: cn=Test User3," + baseDN,
      TestCaseUtils.addEntry("dn: cn=Test User3," + baseDN,
          "objectClass: top", "objectClass: person",
          "objectClass: organizationalPerson", "sn: User3", "cn: Test User3");
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/SearchOperationTestCase.java
@@ -52,6 +52,7 @@
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.opends.server.util.ServerConstants.*;
import static org.testng.Assert.*;
@@ -70,36 +71,24 @@
    TestCaseUtils.startServer();
    TestCaseUtils.clearJEBackend(true,"userRoot","dc=example,dc=com");
    InternalClientConnection connection =
         InternalClientConnection.getRootConnection();
    // Add the suffix entry.
    DN suffixDN = DN.valueOf(SUFFIX);
    if (DirectoryServer.getEntry(suffixDN) == null)
    {
      Entry suffixEntry = StaticUtils.createEntry(suffixDN);
      AddOperation addOperation = connection.processAdd(suffixEntry);
      assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
      assertNotNull(DirectoryServer.getEntry(suffixEntry.getName()));
      processAdd(StaticUtils.createEntry(suffixDN));
    }
    // Add a search base entry.
    DN baseDN = DN.valueOf(BASE);
    if (DirectoryServer.getEntry(baseDN) == null)
    {
      Entry baseEntry = StaticUtils.createEntry(baseDN);
      AddOperation addOperation = connection.processAdd(baseEntry);
      assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
      assertNotNull(DirectoryServer.getEntry(baseEntry.getName()));
      processAdd(StaticUtils.createEntry(baseDN));
    }
    // Add a test ldapsubentry.
    Entry ldapSubentry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=subentry," + BASE,
         "objectclass: ldapsubentry");
    AddOperation addOperation = connection.processAdd(ldapSubentry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertNotNull(DirectoryServer.getEntry(ldapSubentry.getName()));
    // Add a test entry.
    testEntry = TestCaseUtils.makeEntry(
@@ -139,51 +128,45 @@
    }
    // The add operation changes the attributes, so let's duplicate the entry.
    Entry duplicateEntry = testEntry.duplicate(false);
    processAdd(testEntry.duplicate(false));
    addOperation = connection.processAdd(duplicateEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertNotNull(DirectoryServer.getEntry(testEntry.getName()));
    // Add a test referral entry.
    Entry referralEntry = TestCaseUtils.makeEntry(
    // referral entry.
    TestCaseUtils.addEntry(
         "dn: ou=People," + BASE,
         "objectclass: extensibleobject",
         "objectclass: referral",
         "ref: ldap://hostb/OU=People,O=MNN,C=US",
         "ref: ldap://hostc/OU=People,O=MNN,C=US");
    addOperation = connection.processAdd(referralEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertNotNull(DirectoryServer.getEntry(referralEntry.getName()));
    Entry level1Entry = TestCaseUtils.makeEntry(
    // level 1 entry.
    TestCaseUtils.addEntry(
        "dn: ou=level1," + BASE,
        "objectclass: top",
        "objectclass: organizationalunit",
        "ou: level1");
    addOperation = connection.processAdd(level1Entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertNotNull(DirectoryServer.getEntry(level1Entry.getName()));
    Entry level2Entry = TestCaseUtils.makeEntry(
    // level 2 entry.
    TestCaseUtils.addEntry(
        "dn: ou=level2,ou=level1," + BASE,
        "objectclass: top",
        "objectclass: organizationalunit",
        "ou: level2");
    addOperation = connection.processAdd(level2Entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertNotNull(DirectoryServer.getEntry(level2Entry.getName()));
    Entry referral2Entry = TestCaseUtils.makeEntry(
    // referral 2 entry.
    TestCaseUtils.addEntry(
        "dn: ou=level3,ou=level2,ou=level1," + BASE,
        "objectclass: extensibleobject",
        "objectclass: referral",
        "ref: ldap://hostb/OU=People,O=MNN,C=US",
        "ref: ldap://hostc/OU=People,O=MNN,C=US",
        "ref: ldap://hostd/OU=People,O=MNN,C=US");
    addOperation = connection.processAdd(referral2Entry);
   assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
   assertNotNull(DirectoryServer.getEntry(referral2Entry.getName()));
  }
  private void processAdd(Entry e) throws DirectoryException
  {
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertNotNull(DirectoryServer.getEntry(e.getName()));
  }
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/SubentryManagerTestCase.java
@@ -259,7 +259,7 @@
  public void testInheritedCollectiveAttributes() throws Exception
  {
    // Add test inherited from DN collective subentry.
    Entry collectiveDNInheritedSubentry = TestCaseUtils.makeEntry(
    Entry collectiveDNInheritedSubentry = addEntry(
         "dn: cn=Inherited From DN Collective Subentry," + SUFFIX,
         "objectClass: top",
         "objectclass: subentry",
@@ -269,10 +269,9 @@
         "inheritAttribute: postalAddress",
         "subtreeSpecification: {base \"ou=Test SubEntry Manager\"}",
         "cn: Inherited From DN Collective Subentry");
    addEntry(collectiveDNInheritedSubentry);
    // Add test inherited from RDN collective subentry.
    Entry collectiveRDNInheritedSubentry = TestCaseUtils.makeEntry(
    Entry collectiveRDNInheritedSubentry = addEntry(
         "dn: cn=Inherited From RDN Collective Subentry," + SUFFIX,
         "objectClass: top",
         "objectclass: subentry",
@@ -284,7 +283,6 @@
         "inheritAttribute: telephoneNumber",
         "subtreeSpecification: {base \"ou=Test SubEntry Manager\"}",
         "cn: Inherited From RDN Collective Subentry");
    addEntry(collectiveRDNInheritedSubentry);
    // Test Inherited Collective Attributes on test entry.
    hasValues(testEntry.getName(), "postaladdress", "Sub City, Collective Street, AK 47");
@@ -519,13 +517,12 @@
    }
    // Add Relative Spec test subentry.
    Entry relativeSubentry = TestCaseUtils.makeEntry(
    Entry relativeSubentry = addEntry(
         "dn: cn=Relative Subentry," + SUFFIX,
         "objectClass: top",
         "objectclass: subentry",
         "subtreeSpecification: {base \"ou=Test SubEntry Manager\", specificationFilter \"(objectClass=*)\"}",
         "cn: Subentry");
    addEntry(relativeSubentry);
    List<SubEntry> relativeSubList =
            DirectoryServer.getSubentryManager().getSubentries();
@@ -559,7 +556,7 @@
    }
    // Add role entry.
    Entry roleEntry = TestCaseUtils.makeEntry(
    addEntry(
         "dn: cn=Sales," + BASE,
         "objectclass: top",
         "objectclass: organizationalRole",
@@ -567,10 +564,9 @@
         "telephoneNumber: +1 999 999 9999",
         "cn: Sales"
    );
    addEntry(roleEntry);
    // Add test entry.
    testEntry = TestCaseUtils.makeEntry(
    testEntry = addEntry(
         "dn: uid=rogasawara," + BASE,
         "objectclass: top",
         "objectclass: person",
@@ -585,27 +581,24 @@
         "manager: cn=Sales," + BASE,
         "title: Sales"
    );
    addEntry(testEntry);
    // Add test subentry.
    ldapSubentry = TestCaseUtils.makeEntry(
    ldapSubentry = addEntry(
         "dn: cn=Subentry," + SUFFIX,
         "objectClass: top",
         "objectclass: subentry",
         "subtreeSpecification: {base \"ou=Test SubEntry Manager\"}",
         "cn: Subentry");
    addEntry(ldapSubentry);
    // Add test legacy subentry.
    legacyLdapSubentry = TestCaseUtils.makeEntry(
    legacyLdapSubentry = addEntry(
         "dn: cn=Legacy Subentry," + SUFFIX,
         "objectClass: top",
         "objectclass: ldapSubentry",
         "cn: Legacy Subentry");
    addEntry(legacyLdapSubentry);
    // Add test collective subentry.
    collectiveSubentry = TestCaseUtils.makeEntry(
    collectiveSubentry = addEntry(
         "dn: cn=Collective Subentry," + SUFFIX,
         "objectClass: top",
         "objectclass: subentry",
@@ -615,13 +608,5 @@
         "preferredLanguage;collective: fr",
         "subtreeSpecification: {base \"ou=Test SubEntry Manager\"}",
         "cn: Collective Subentry");
    addEntry(collectiveSubentry);
  }
  private void addEntry(Entry e) throws DirectoryException
  {
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertNotNull(DirectoryServer.getEntry(e.getName()));
  }
}
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/SubentryPasswordPolicyTestCase.java
@@ -66,24 +66,17 @@
    DN suffixDN = DN.valueOf(SUFFIX);
    if (DirectoryServer.getEntry(suffixDN) == null)
    {
      Entry suffixEntry = StaticUtils.createEntry(suffixDN);
      AddOperation addOperation = getRootConnection().processAdd(suffixEntry);
      assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
      assertNotNull(DirectoryServer.getEntry(suffixEntry.getName()));
      createEntry(suffixDN);
    }
    // Add base entry.
    DN baseDN = DN.valueOf(BASE);
    if (DirectoryServer.getEntry(baseDN) == null)
    {
      Entry baseEntry = StaticUtils.createEntry(baseDN);
      AddOperation addOperation = getRootConnection().processAdd(baseEntry);
      assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
      assertNotNull(DirectoryServer.getEntry(baseEntry.getName()));
      createEntry(baseDN);
    }
    // Add test entry.
    Entry testEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=rogasawara," + BASE,
         "objectclass: top",
         "objectclass: person",
@@ -97,9 +90,14 @@
         "cn: Rodney Ogasawara",
         "title: Sales, Director"
    );
    AddOperation addOperation = getRootConnection().processAdd(testEntry);
  }
  private void createEntry(DN suffixDN) throws Exception
  {
    Entry e = StaticUtils.createEntry(suffixDN);
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertNotNull(DirectoryServer.getEntry(testEntry.getName()));
    assertNotNull(DirectoryServer.getEntry(e.getName()));
  }
  @AfterClass
@@ -260,7 +258,7 @@
    // The values are selected on a basis that they
    // should differ from default password policy.
    Entry policyEntry = TestCaseUtils.makeEntry(
    Entry policyEntry = TestCaseUtils.addEntry(
         "dn: cn=Temp Policy," + SUFFIX,
         "objectClass: top",
         "objectClass: pwdPolicy",
@@ -281,10 +279,6 @@
         "pwdSafeModify: TRUE"
    );
    AddOperation addOperation = getRootConnection().processAdd(policyEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertNotNull(DirectoryServer.getEntry(policyEntry.getName()));
    PasswordPolicy policy = (PasswordPolicy) DirectoryServer.getAuthenticationPolicy(
            DN.valueOf("cn=Temp Policy," + SUFFIX));
    assertNotNull(policy);
@@ -353,7 +347,7 @@
    // The values are selected on a basis that they
    // should differ from default password policy.
    Entry policyEntry = TestCaseUtils.makeEntry(
    Entry policyEntry = TestCaseUtils.addEntry(
        "dn: cn=Temp Validator Policy," + SUFFIX,
        "objectClass: top",
        "objectClass: pwdPolicy",
@@ -377,10 +371,6 @@
        "ds-cfg-password-validator: cn=Length-Based Password Validator,cn=Password Validators,cn=config"
    );
    AddOperation addOperation = getRootConnection().processAdd(policyEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertNotNull(DirectoryServer.getEntry(policyEntry.getName()));
    PasswordPolicy policy = (PasswordPolicy) DirectoryServer.getAuthenticationPolicy(
        DN.valueOf("cn=Temp Validator Policy," + SUFFIX));
    assertNotNull(policy);
@@ -439,7 +429,7 @@
    // Add new subentry policy with the
    // scope to apply to the user entry.
    Entry policyEntry = TestCaseUtils.makeEntry(
    Entry policyEntry = TestCaseUtils.addEntry(
         "dn: cn=Temp Policy," + SUFFIX,
         "objectClass: top",
         "objectClass: pwdPolicy",
@@ -452,10 +442,6 @@
         "pwdAttribute: userPassword"
        );
    AddOperation addOperation = getRootConnection().processAdd(policyEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertNotNull(DirectoryServer.getEntry(policyEntry.getName()));
    // Make sure just added policy is in effect.
    testEntry = DirectoryServer.getEntry(DN.valueOf(
            "uid=rogasawara," + BASE));
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/TestModifyDNOperation.java
@@ -73,11 +73,8 @@
    TestCaseUtils.initializeTestBackend(true);
    TestCaseUtils.clearJEBackend(false, "userRoot", "dc=example,dc=com");
    InternalClientConnection connection =
         InternalClientConnection.getRootConnection();
    // Add the example.com entry
    Entry exampleCom = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
      "dn: dc=example,dc=com",
      "objectclass: top",
      "objectclass: domain",
@@ -87,7 +84,7 @@
    );
    // Add the people entry
    Entry people = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
      "dn: ou=People,dc=example,dc=com",
      "objectclass: top",
      "objectclass: organizationalUnit",
@@ -95,7 +92,7 @@
    );
    // Add a test entry.
    entry = TestCaseUtils.makeEntry(
    entry = TestCaseUtils.addEntry(
      "dn: uid=user.0,ou=People,dc=example,dc=com",
      "objectClass: top",
      "objectClass: person",
@@ -121,18 +118,6 @@
      "description: This is the description for Aaccf Amar."
    );
    AddOperation addOperation = connection.processAdd(exampleCom);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertNotNull(DirectoryServer.getEntry(exampleCom.getName()));
    addOperation = connection.processAdd(people);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertNotNull(DirectoryServer.getEntry(people.getName()));
    addOperation = connection.processAdd(entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    assertNotNull(DirectoryServer.getEntry(entry.getName()));
    // Add a user capable of using the proxied authorization control.
    TestCaseUtils.addEntry(
         "dn: uid=proxy.user,o=test",
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/networkgroups/NetworkGroupTest.java
@@ -47,6 +47,7 @@
import static org.opends.messages.CoreMessages.*;
import static org.opends.server.config.ConfigConstants.*;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.testng.Assert.*;
/**
@@ -547,56 +548,44 @@
    // Initialize a backend with a base entry.
    TestCaseUtils.clearJEBackend(true, "userRoot", suffix);
    // Create a client connection for the test.
    InternalClientConnection connection =
      InternalClientConnection.getRootConnection();
    // Check that suffix is accessible while suffix2 is not.
    searchEntry(connection, suffix,  true);
    searchEntry(connection, suffix2, false);
    searchEntry(suffix, true);
    searchEntry(suffix2, false);
    // Add a new suffix in the backend and create a base entry for the
    // new suffix.
    String backendConfigDN = "ds-cfg-backend-id=userRoot," + DN_BACKEND_BASE;
    modifyAttribute(
        connection, backendConfigDN,
        ModificationType.ADD, backendBaseDNName, suffix2);
    addBaseEntry(connection, suffix2, "networkgroup suffix");
    modifyAttribute(backendConfigDN, ModificationType.ADD, backendBaseDNName, suffix2);
    addBaseEntry(suffix2, "networkgroup suffix");
    // Both old and new suffix should be accessible.
    searchEntry(connection, suffix,  true);
    searchEntry(connection, suffix2, true);
    searchEntry(suffix, true);
    searchEntry(suffix2, true);
    // Remove the new suffix...
    modifyAttribute(
        connection, backendConfigDN,
        ModificationType.DELETE, backendBaseDNName, suffix2);
    modifyAttribute(backendConfigDN, ModificationType.DELETE, backendBaseDNName, suffix2);
    // ...and check that the removed suffix is no more accessible.
    searchEntry(connection, suffix,  true);
    searchEntry(connection, suffix2, false);
    searchEntry(suffix, true);
    searchEntry(suffix2, false);
    // Replace the suffix with suffix2 in the backend
    modifyAttribute(
        connection, backendConfigDN,
        ModificationType.REPLACE, backendBaseDNName, suffix2);
    modifyAttribute(backendConfigDN, ModificationType.REPLACE, backendBaseDNName, suffix2);
    // Now none of the suffixes are accessible: this means the entries
    // under the old suffix are not moved to the new suffix.
    searchEntry(connection, suffix,  false);
    searchEntry(connection, suffix2, false);
    searchEntry(suffix, false);
    searchEntry(suffix2, false);
    // Add a base entry for the new suffix
    addBaseEntry(connection, suffix2, "networkgroup suffix");
    addBaseEntry(suffix2, "networkgroup suffix");
    // The new suffix is accessible while the old one is not.
    searchEntry(connection, suffix,  false);
    searchEntry(connection, suffix2, true);
    searchEntry(suffix, false);
    searchEntry(suffix2, true);
    // Reset the configuration with previous suffix
    modifyAttribute(
        connection, backendConfigDN,
        ModificationType.REPLACE, backendBaseDNName, suffix);
    modifyAttribute(backendConfigDN, ModificationType.REPLACE, backendBaseDNName, suffix);
  }
@@ -1066,17 +1055,12 @@
  /**
   * Searches an entry on a given connection.
   *
   * @param connection    the connection to use for the search request
   * @param baseDN        the request base DN string
   * @param shouldExist   if true the searched entry is expected to be found
   */
  private void searchEntry(
      InternalClientConnection connection,
      String  baseDN,
      boolean shouldExist
      ) throws Exception
  private void searchEntry(String baseDN, boolean shouldExist) throws Exception
  {
    SearchOperation search = connection.processSearch(baseDN, SearchScope.BASE_OBJECT, "(objectClass=*)");
    SearchOperation search = getRootConnection().processSearch(baseDN, SearchScope.BASE_OBJECT, "(objectClass=*)");
    // Compare the result code with the expected one
    assertEquals(search.getResultCode(), shouldExist ? ResultCode.SUCCESS : ResultCode.NO_SUCH_OBJECT);
@@ -1086,38 +1070,28 @@
  /**
   * Creates a base entry for the given suffix.
   *
   * @param connection  the connection to use for the add request
   * @param suffix      the suffix for which the base entry is to be created
   */
  private void addBaseEntry(
      InternalClientConnection connection,
      String  suffix,
      String  namingAttribute
      ) throws Exception
  private void addBaseEntry(String suffix, String namingAttribute) throws Exception
  {
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
        "dn: " + suffix,
        "objectClass: top",
        "objectClass: organization",
        "o: " + namingAttribute);
   AddOperation addOperation = connection.processAdd(e);
   assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
  }
  /**
   * Adds/Deletes/Replaces an attribute in a given entry.
   *
   * @param connection      the connection to use for the modify request
   * @param baseDN          the request base DN string
   * @param modType         the modification type (add/delete/replace)
   * @param attributeName   the name  of the attribute to add/delete/replace
   * @param attributeValue  the value of the attribute to add/delete/replace
   */
  private void modifyAttribute(
      InternalClientConnection connection,
      String  baseDN,
      String baseDN,
      ModificationType modType,
      String  attributeName,
      String  attributeValue
@@ -1127,8 +1101,7 @@
    Attribute attributeToModify =
      Attributes.create(attributeName, attributeValue);
    mods.add(new Modification(modType, attributeToModify));
    ModifyOperation modifyOperation = connection.processModify(
        DN.valueOf(baseDN), mods);
    ModifyOperation modifyOperation = getRootConnection().processModify(DN.valueOf(baseDN), mods);
    assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS);
  }
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/core/networkgroups/RequestFilteringPolicyTest.java
@@ -26,28 +26,28 @@
 */
package org.opends.server.core.networkgroups;
import java.util.ArrayList;
import java.util.Collections;
import java.util.EnumSet;
import java.util.SortedSet;
import java.util.TreeSet;
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.opendj.ldap.ModificationType;
import org.forgerock.opendj.ldap.SearchScope;
import org.opends.server.DirectoryServerTestCase;
import org.opends.server.TestCaseUtils;
import org.opends.server.admin.std.meta.RequestFilteringQOSPolicyCfgDefn.AllowedOperations;
import org.opends.server.admin.std.meta.RequestFilteringQOSPolicyCfgDefn.AllowedSearchScopes;
import org.opends.server.protocols.internal.InternalClientConnection;
import org.opends.server.protocols.internal.InternalSearchOperation;
import org.opends.server.protocols.ldap.LDAPFilter;
import org.opends.server.types.Attribute;
import org.opends.server.types.Attributes;
import org.opends.server.types.DN;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.Entry;
import org.opends.server.types.Modification;
import org.forgerock.opendj.ldap.ModificationType;
import org.opends.server.types.OperationType;
import org.forgerock.opendj.ldap.SearchScope;
import org.opends.server.types.operation.PreParseAddOperation;
import org.opends.server.types.operation.PreParseBindOperation;
import org.opends.server.types.operation.PreParseCompareOperation;
@@ -60,19 +60,20 @@
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import static org.forgerock.opendj.ldap.SearchScope.*;
import static org.opends.server.admin.std.meta.RequestFilteringQOSPolicyCfgDefn.AllowedOperations.*;
import static org.opends.server.admin.std.meta.RequestFilteringQOSPolicyCfgDefn.AllowedSearchScopes.*;
import static org.opends.server.util.CollectionUtils.*;
import static org.opends.server.util.ServerConstants.*;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue;
import static org.testng.Assert.*;
/*
/**
 * This set of tests test the resource limits.
 */
@SuppressWarnings("javadoc")
public class RequestFilteringPolicyTest extends DirectoryServerTestCase {
  //===========================================================================
  //
  //                      B E F O R E    C L A S S
  //
  //===========================================================================
  /**
@@ -81,8 +82,7 @@
   * @throws Exception if the environment could not be set up.
   */
  @BeforeClass
  public void setUp()
    throws Exception
  public void setUp() throws Exception
  {
    // This test suite depends on having the schema available,
    // so we'll start the server.
@@ -91,28 +91,18 @@
  //===========================================================================
  //
  //                      D A T A    P R O V I D E R
  //
  //===========================================================================
  /* Provides information to create an allowedAttribute policy and a filter
   * to test.
   */
  /** Provides information to create an allowedAttribute policy and a filter to test. */
  @DataProvider (name = "AllowedAttributesSet")
  public Object[][] initAllowedAttributesSet()
  {
    TreeSet<String> allowedAttr_uid_cn = new TreeSet<String>();
    allowedAttr_uid_cn.add("uid");
    allowedAttr_uid_cn.add("cn");
    TreeSet<String> allowedAttr_uid_cn = newTreeSet("uid", "cn");
    TreeSet<String> allowedAttr_cn = newTreeSet("cn");
    TreeSet<String> allowedAttr_uid = newTreeSet("uid");
    TreeSet<String> allowedAttr_cn = new TreeSet<String>();
    allowedAttr_cn.add("cn");
    TreeSet<String> allowedAttr_uid = new TreeSet<String>();
    allowedAttr_uid.add("uid");
    Object[][] myData = {
    return new Object[][] {
      // allowed attributes, attribute to test, success
      {allowedAttr_uid_cn, "uid=*", true},
      {allowedAttr_uid_cn, "cn=*", true},
@@ -124,62 +114,34 @@
      {allowedAttr_uid, "uid=*", true},
      {allowedAttr_uid, "(&(uid=user.1)(cn=*))", false}
    };
    return myData;
  }
  /* Provides information to create a prohibitedAttribute policy and a filter
   * to test.
   */
  /** Provides information to create a prohibitedAttribute policy and a filter to test. */
  @DataProvider (name = "ProhibitedAttributesSet")
  public Object[][] initProhibitedAttributesSet()
  {
    TreeSet<String> prohibitedAttr_uid = new TreeSet<String>();
    prohibitedAttr_uid.add("uid");
    TreeSet<String> prohibitedAttr_uid = newTreeSet("uid");
    TreeSet<String> prohibitedAttr_cn = newTreeSet("cn");
    TreeSet<String> prohibitedAttr_cn = new TreeSet<String>();
    prohibitedAttr_cn.add("cn");
    Object[][] myData = {
    return new Object[][] {
      // prohibited attributes, attribute to test, success
      {prohibitedAttr_uid, "uid=*", false},
      {prohibitedAttr_cn, "uid=*", true},
      {prohibitedAttr_cn, "(&(uid=user.1)(cn=*))", false}
    };
    return myData;
  }
  /* Provides information to create an allowedSearchScopes policy and a
   * scope to test.
   */
  /** Provides information to create an allowedSearchScopes policy and a scope to test. */
  @DataProvider (name = "AllowedSearchScopesSet")
  public Object[][] initAllowedSearchScopesSet()
  {
    TreeSet<AllowedSearchScopes> scopes_all =
            new TreeSet<AllowedSearchScopes>();
    scopes_all.add(AllowedSearchScopes.BASE);
    scopes_all.add(AllowedSearchScopes.CHILDREN);
    scopes_all.add(AllowedSearchScopes.ONE);
    scopes_all.add(AllowedSearchScopes.SUB);
    TreeSet<AllowedSearchScopes> scopes_all = newTreeSet2(BASE, CHILDREN, ONE, SUB);
    TreeSet<AllowedSearchScopes> scope_base = newTreeSet2(BASE);
    TreeSet<AllowedSearchScopes> scope_children = newTreeSet2(CHILDREN);
    TreeSet<AllowedSearchScopes> scope_one = newTreeSet2(ONE);
    TreeSet<AllowedSearchScopes> scope_sub = newTreeSet2(SUB);
    TreeSet<AllowedSearchScopes> scope_base =
            new TreeSet<AllowedSearchScopes>();
    scope_base.add(AllowedSearchScopes.BASE);
    TreeSet<AllowedSearchScopes> scope_children =
            new TreeSet<AllowedSearchScopes>();
    scope_children.add(AllowedSearchScopes.CHILDREN);
    TreeSet<AllowedSearchScopes> scope_one =
            new TreeSet<AllowedSearchScopes>();
    scope_one.add(AllowedSearchScopes.ONE);
    TreeSet<AllowedSearchScopes> scope_sub =
            new TreeSet<AllowedSearchScopes>();
    scope_sub.add(AllowedSearchScopes.SUB);
    Object[][] myData = {
    return new Object[][] {
      // allowed search scopes, scope to test, success
      {scopes_all, SearchScope.BASE_OBJECT, true},
      {scope_base, SearchScope.BASE_OBJECT, true},
@@ -199,31 +161,24 @@
      {scope_sub, SearchScope.SUBORDINATES, false},
      {scope_sub, SearchScope.WHOLE_SUBTREE, true}
    };
    return myData;
  }
  /* Provides information to create a allowedSubtree policy and
  /**
   * Provides information to create a allowedSubtree policy and
   * a subtree search to test.
   */
  @DataProvider (name = "AllowedSubtreesSet")
  public Object[][] initAllowedSubtreesSet()
          throws DirectoryException
  {
    TreeSet<DN> subtrees1 = new TreeSet<DN>();
    subtrees1.add(DN.valueOf("ou=people,dc=example,dc=com"));
    TreeSet<DN> subtrees1 = newTreeSet(DN.valueOf("ou=people,dc=example,dc=com"));
    TreeSet<DN> subtrees2 = newTreeSet(DN.valueOf("ou=test,dc=example,dc=com"));
    TreeSet<DN> subtrees3 = newTreeSet(DN.valueOf("dc=example,dc=com"));
    TreeSet<DN> subtrees4 = newTreeSet(
        DN.valueOf("dc=example,dc=com"),
        DN.valueOf("dc=test,dc=com"));
    TreeSet<DN> subtrees2 = new TreeSet<DN>();
    subtrees2.add(DN.valueOf("ou=test,dc=example,dc=com"));
    TreeSet<DN> subtrees3 = new TreeSet<DN>();
    subtrees3.add(DN.valueOf("dc=example,dc=com"));
    TreeSet<DN> subtrees4 = new TreeSet<DN>();
    subtrees4.add(DN.valueOf("dc=example,dc=com"));
    subtrees4.add(DN.valueOf("dc=test,dc=com"));
    Object[][] myData = {
    return new Object[][] {
      // allowed subtrees, subtree to test, success
      {subtrees1, "ou=people,dc=example,dc=com", true},
      {subtrees2, "ou=people,dc=example,dc=com", false},
@@ -232,30 +187,22 @@
      {subtrees4, "dc=example,dc=com", true},
      {subtrees4, "ou=people,dc=example,dc=com", true}
    };
    return myData;
  }
  /* Provides information to create a prohibitedSubtree policy and
  /** Provides information to create a prohibitedSubtree policy and
   * a subtree search to test.
   */
  @DataProvider (name = "ProhibitedSubtreesSet")
  public Object[][] initProhibitedSubtreesSet() throws DirectoryException
  {
    TreeSet<DN> subtrees1 = new TreeSet<DN>();
    subtrees1.add(DN.valueOf("ou=people,dc=example,dc=com"));
    TreeSet<DN> subtrees1 = newTreeSet(DN.valueOf("ou=people,dc=example,dc=com"));
    TreeSet<DN> subtrees2 = newTreeSet(DN.valueOf("ou=test,dc=example,dc=com"));
    TreeSet<DN> subtrees3 = newTreeSet(DN.valueOf("dc=example,dc=com"));
    TreeSet<DN> subtrees4 = newTreeSet(
        DN.valueOf("dc=example,dc=com"),
        DN.valueOf("dc=test,dc=com"));
    TreeSet<DN> subtrees2 = new TreeSet<DN>();
    subtrees2.add(DN.valueOf("ou=test,dc=example,dc=com"));
    TreeSet<DN> subtrees3 = new TreeSet<DN>();
    subtrees3.add(DN.valueOf("dc=example,dc=com"));
    TreeSet<DN> subtrees4 = new TreeSet<DN>();
    subtrees4.add(DN.valueOf("dc=example,dc=com"));
    subtrees4.add(DN.valueOf("dc=test,dc=com"));
    Object[][] myData = {
    return new Object[][] {
      // prohibited subtrees, subtree to test, success
      {subtrees1, "ou=people,dc=example,dc=com", false},
      {subtrees2, "ou=people,dc=example,dc=com", true},
@@ -263,28 +210,20 @@
      {subtrees1, "dc=example,dc=com", true},
      {subtrees4, "ou=people,dc=example,dc=com", false}
    };
    return myData;
  }
  /* Provides information to create a complex subtree policy and a
  /** Provides information to create a complex subtree policy and a
   * subtree search to test.
   */
  @DataProvider (name = "ComplexSubtreesSet")
  public Object[][] initComplexSubtreesSet() throws DirectoryException
  {
    TreeSet<DN> subtrees_empty = new TreeSet<DN>();
    TreeSet<DN> subtrees_empty = newTreeSet();
    TreeSet<DN> subtrees_root = newTreeSet(DN.valueOf("dc=example,dc=com"));
    TreeSet<DN> subtrees_people = newTreeSet(DN.valueOf("ou=people,dc=example,dc=com"));
    TreeSet<DN> subtrees_entry = newTreeSet(DN.valueOf("uid=user.1,ou=people,dc=example,dc=com"));
    TreeSet<DN> subtrees_root = new TreeSet<DN>();
    subtrees_root.add(DN.valueOf("dc=example,dc=com"));
    TreeSet<DN> subtrees_people = new TreeSet<DN>();
    subtrees_people.add(DN.valueOf("ou=people,dc=example,dc=com"));
    TreeSet<DN> subtrees_entry = new TreeSet<DN>();
    subtrees_entry.add(DN.valueOf("uid=user.1,ou=people,dc=example,dc=com"));
    Object[][] myData = {
    return new Object[][] {
      // allowed subtree, prohibited subtree, subtree to test, success
      {subtrees_root, subtrees_people, "dc=example,dc=com", true},
      {subtrees_root, subtrees_people, "ou=people,dc=example,dc=com", false},
@@ -292,34 +231,18 @@
      {subtrees_empty, subtrees_people, "dc=example,dc=com", true},
      {subtrees_empty, subtrees_people, "ou=people,dc=example,dc=com", false}
    };
    return myData;
  }
  /* Provides information to create an allowed operations policy.
   */
  /** Provides information to create an allowed operations policy. */
  @DataProvider (name = "AllowedOperationsSet")
  public Object[][] initAllowedOperationsSet()
  {
    TreeSet<AllowedOperations> ops_all = new TreeSet<AllowedOperations>();
    ops_all.add(AllowedOperations.ADD);
    ops_all.add(AllowedOperations.BIND);
    ops_all.add(AllowedOperations.COMPARE);
    ops_all.add(AllowedOperations.DELETE);
    ops_all.add(AllowedOperations.EXTENDED);
    ops_all.add(AllowedOperations.INEQUALITY_SEARCH);
    ops_all.add(AllowedOperations.MODIFY);
    ops_all.add(AllowedOperations.RENAME);
    ops_all.add(AllowedOperations.SEARCH);
    TreeSet<AllowedOperations> ops_all = newTreeSet2(
        ADD, BIND, COMPARE, DELETE, EXTENDED, INEQUALITY_SEARCH, MODIFY, RENAME, SEARCH);
    TreeSet<AllowedOperations> ops_search = newTreeSet2(INEQUALITY_SEARCH, SEARCH);
    TreeSet<AllowedOperations> ops_add_del = newTreeSet2(ADD, DELETE);
    TreeSet<AllowedOperations> ops_search = new TreeSet<AllowedOperations>();
    ops_search.add(AllowedOperations.INEQUALITY_SEARCH);
    ops_search.add(AllowedOperations.SEARCH);
    TreeSet<AllowedOperations> ops_add_del = new TreeSet<AllowedOperations>();
    ops_add_del.add(AllowedOperations.ADD);
    ops_add_del.add(AllowedOperations.DELETE);
    Object[][] myData = {
    return new Object[][] {
      // allowed operations, operation to test, success
      {ops_all, OperationType.ABANDON, true},
      {ops_all, OperationType.ADD, true},
@@ -338,18 +261,18 @@
      {ops_add_del, OperationType.DELETE, true},
      {ops_add_del, OperationType.EXTENDED, false}
    };
    return myData;
  }
  //===========================================================================
  //
  //                        T E S T   C A S E S
  //
  //===========================================================================
  /**
   * Tests the "allowed attributes" policy
   */
  private <T extends java.lang.Enum<T>> TreeSet<T> newTreeSet2(T op1, T... ops)
  {
    return new TreeSet<T>(EnumSet.of(op1, ops));
  }
  /** Tests the "allowed attributes" policy. */
  @Test (dataProvider = "AllowedAttributesSet", groups = "virtual")
  public void testAllowedAttributes(
          final SortedSet<String> allowedAttributes,
@@ -371,22 +294,11 @@
    });
    InternalClientConnection conn = new InternalClientConnection(DN.NULL_DN);
    InternalSearchOperation search = conn.processSearch(
        DN.valueOf("dc=example,dc=com"),
        SearchScope.BASE_OBJECT,
        LDAPFilter.decode(searchFilter).toSearchFilter());
    boolean check = policy.isAllowed(search, messages);
    if (success) {
      assertTrue(check);
    } else {
      assertFalse(check);
    }
    InternalSearchOperation search = conn.processSearch("dc=example,dc=com", BASE_OBJECT, searchFilter);
    assertEquals(policy.isAllowed(search, messages), success);
  }
  /**
   * Tests the "prohibited operations" policy
   */
  /** Tests the "prohibited operations" policy. */
  @Test (dataProvider = "ProhibitedAttributesSet", groups = "virtual")
  public void testProhibitedAttributes(
          final SortedSet<String> prohibitedAttributes,
@@ -408,17 +320,8 @@
    });
    InternalClientConnection conn = new InternalClientConnection(DN.NULL_DN);
    InternalSearchOperation search = conn.processSearch(
        DN.valueOf("dc=example,dc=com"),
        SearchScope.BASE_OBJECT,
        LDAPFilter.decode(searchFilter).toSearchFilter());
    boolean check = policy.isAllowed(search, messages);
    if (success) {
      assertTrue(check);
    } else {
      assertFalse(check);
    }
    InternalSearchOperation search = conn.processSearch("dc=example,dc=com", BASE_OBJECT, searchFilter);
    assertEquals(policy.isAllowed(search, messages), success);
  }
  /**
@@ -445,17 +348,8 @@
    });
    InternalClientConnection conn = new InternalClientConnection(DN.NULL_DN);
    InternalSearchOperation search = conn.processSearch(
            DN.valueOf("dc=example,dc=com"),
            searchScope,
            LDAPFilter.decode("objectclass=*").toSearchFilter());
    boolean check = policy.isAllowed(search, messages);
    if (success) {
      assertTrue(check);
    } else {
      assertFalse(check);
    }
    InternalSearchOperation search = conn.processSearch("dc=example,dc=com", searchScope, "objectclass=*");
    assertEquals(policy.isAllowed(search, messages), success);
  }
  /**
@@ -482,17 +376,8 @@
    });
    InternalClientConnection conn = new InternalClientConnection(DN.NULL_DN);
    InternalSearchOperation search = conn.processSearch(
            DN.valueOf(searchSubtree),
            SearchScope.WHOLE_SUBTREE,
            LDAPFilter.decode("objectclass=*").toSearchFilter());
    boolean check = policy.isAllowed(search, messages);
    if (success) {
      assertTrue(check);
    } else {
      assertFalse(check);
    }
    InternalSearchOperation search = conn.processSearch(searchSubtree, WHOLE_SUBTREE, "objectclass=*");
    assertEquals(policy.isAllowed(search, messages), success);
  }
  /**
@@ -519,17 +404,8 @@
    });
    InternalClientConnection conn = new InternalClientConnection(DN.NULL_DN);
    InternalSearchOperation search = conn.processSearch(
            DN.valueOf(searchSubtree),
            SearchScope.WHOLE_SUBTREE,
            LDAPFilter.decode("objectclass=*").toSearchFilter());
    boolean check = policy.isAllowed(search, messages);
    if (success) {
      assertTrue(check);
    } else {
      assertFalse(check);
    }
    InternalSearchOperation search = conn.processSearch(searchSubtree, WHOLE_SUBTREE, "objectclass=*");
    assertEquals(policy.isAllowed(search, messages), success);
  }
  /**
@@ -563,19 +439,11 @@
    });
    InternalClientConnection conn = new InternalClientConnection(DN.NULL_DN);
    InternalSearchOperation search = conn.processSearch(
            DN.valueOf(searchSubtree),
            SearchScope.WHOLE_SUBTREE,
            LDAPFilter.decode("objectclass=*").toSearchFilter());
    boolean check = policy.isAllowed(search, messages);
    if (success) {
      assertTrue(check);
    } else {
      assertFalse(check);
    }
    InternalSearchOperation search = conn.processSearch(searchSubtree, WHOLE_SUBTREE, "objectclass=*");
    assertEquals(policy.isAllowed(search, messages), success);
  }
  /**
   * Tests the allowed operations policy.
   */
@@ -643,19 +511,12 @@
                 "uid=usr.1,ou=people,dc=example,dc=com", true);
         break;
       case SEARCH:
         op = conn.processSearch(DN.valueOf("dc=example,dc=com"),
            SearchScope.WHOLE_SUBTREE,
            LDAPFilter.decode("uid>=user.1").toSearchFilter());
         op = conn.processSearch("dc=example,dc=com", WHOLE_SUBTREE, "uid>=user.1");
         break;
       case UNBIND:
         return;
     }
     boolean check = policy.isAllowed(op, messages);
     if (success) {
       assertTrue(check);
     } else {
       assertFalse(check);
     }
     assertEquals(policy.isAllowed(op, messages), success);
   }
}
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/CRAMMD5SASLMechanismHandlerTestCase.java
@@ -35,7 +35,6 @@
import org.opends.server.admin.server.AdminTestCaseUtils;
import org.opends.server.admin.std.meta.CramMD5SASLMechanismHandlerCfgDefn;
import org.opends.server.admin.std.server.CramMD5SASLMechanismHandlerCfg;
import org.opends.server.core.AddOperation;
import org.opends.server.core.BindOperation;
import org.opends.server.core.DirectoryServer;
import org.opends.server.protocols.internal.InternalClientConnection;
@@ -45,7 +44,6 @@
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.opends.server.util.ServerConstants.*;
import static org.testng.Assert.*;
@@ -187,8 +185,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -202,9 +199,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -233,8 +227,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -248,9 +241,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -278,12 +268,11 @@
  public void testLDAPBindSuccessWithDNAndLongPassword()
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    String password =
         "reallyreallyreallyreallyreallyreallyreallyreallyreallylongpassword";
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.initializeTestBackend(true);
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -297,9 +286,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -328,8 +314,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -343,9 +328,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -374,8 +356,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -389,9 +370,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -420,8 +398,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -433,9 +410,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -464,8 +438,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -477,9 +450,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -508,8 +478,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -521,9 +490,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -552,8 +518,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -565,9 +530,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/CancelExtendedOperationTestCase.java
@@ -26,8 +26,6 @@
 */
package org.opends.server.extensions;
import java.net.Socket;
import java.util.ArrayList;
import java.util.LinkedHashSet;
@@ -38,10 +36,8 @@
import org.forgerock.opendj.ldap.ByteStringBuilder;
import org.forgerock.opendj.ldap.DereferenceAliasesPolicy;
import org.forgerock.opendj.ldap.ModificationType;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.SearchScope;
import org.opends.server.TestCaseUtils;
import org.opends.server.core.AddOperation;
import org.opends.server.plugins.DelayPreOpPlugin;
import org.opends.server.protocols.ldap.AddRequestProtocolOp;
import org.opends.server.protocols.ldap.AddResponseProtocolOp;
@@ -64,13 +60,11 @@
import org.opends.server.protocols.ldap.ModifyResponseProtocolOp;
import org.opends.server.protocols.ldap.SearchRequestProtocolOp;
import org.opends.server.protocols.ldap.SearchResultDoneProtocolOp;
import org.opends.server.types.Entry;
import org.opends.server.types.RawAttribute;
import org.opends.server.types.RawModification;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.opends.server.protocols.ldap.LDAPConstants.*;
import static org.opends.server.util.ServerConstants.*;
import static org.testng.Assert.*;
@@ -282,17 +276,12 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    // Add an entry to the server that we can delete.
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=test,o=test",
         "objectClass: top",
         "objectClass: device",
         "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    // Create a new connection to the Directory Server and authenticate as
    // the Directory Manager.
@@ -533,17 +522,12 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    // Add an entry to the server that we can rename.
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=test,o=test",
         "objectClass: top",
         "objectClass: device",
         "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    // Create a new connection to the Directory Server and authenticate as
    // the Directory Manager.
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/DigestMD5SASLMechanismHandlerTestCase.java
@@ -26,8 +26,6 @@
 */
package org.opends.server.extensions;
import java.util.List;
import org.forgerock.opendj.config.server.ConfigException;
@@ -37,7 +35,6 @@
import org.opends.server.admin.server.AdminTestCaseUtils;
import org.opends.server.admin.std.meta.DigestMD5SASLMechanismHandlerCfgDefn;
import org.opends.server.admin.std.server.DigestMD5SASLMechanismHandlerCfg;
import org.opends.server.core.AddOperation;
import org.opends.server.core.BindOperation;
import org.opends.server.core.DeleteOperation;
import org.opends.server.core.DirectoryServer;
@@ -142,8 +139,7 @@
  /**
   * Tests the process of initializing the handler with invalid configurations.
   *
   * @param  entry  The configuration entry to use for the initialization.
   *
   * @param  e  The configuration entry to use for the initialization.
   * @throws  Exception  If an unexpected problem occurs.
   */
  @Test(dataProvider = "invalidConfigs",
@@ -210,8 +206,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -225,9 +220,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -257,8 +249,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -272,9 +263,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -304,8 +292,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -319,9 +306,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -351,8 +335,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -366,9 +349,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -398,8 +378,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -411,9 +390,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -443,8 +419,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -456,9 +431,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -488,8 +460,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -501,9 +472,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -533,8 +501,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -546,9 +513,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -578,8 +542,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -591,9 +554,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -786,7 +746,7 @@
  public void testSuccessfulBindReversiblePasswordWithRootDN()
         throws Exception
  {
    Entry e = TestCaseUtils.makeEntry(
    Entry e = TestCaseUtils.addEntry(
         "dn: cn=Second Root DN,cn=Root DNs,cn=config",
         "objectClass: top",
         "objectClass: person",
@@ -801,9 +761,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/EntryUUIDVirtualAttributeProviderTestCase.java
@@ -34,11 +34,9 @@
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.DereferenceAliasesPolicy;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.SearchScope;
import org.opends.server.TestCaseUtils;
import org.opends.server.admin.std.meta.VirtualAttributeCfgDefn;
import org.opends.server.core.AddOperation;
import org.opends.server.core.DirectoryServer;
import org.opends.server.protocols.internal.InternalClientConnection;
import org.opends.server.protocols.internal.InternalSearchOperation;
@@ -155,19 +153,11 @@
    TestCaseUtils.clearJEBackend(false, "userRoot", "dc=example,dc=com");
    Entry e = TestCaseUtils.makeEntry(
    Entry e = TestCaseUtils.addEntry(
      "dn: dc=example,dc=com",
      "objectClass: top",
      "objectClass: domain",
      "dc: example");
    InternalClientConnection conn =
         InternalClientConnection.getRootConnection();
    AddOperation addOperation = conn.processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    e = DirectoryServer.getEntry(e.getName());
    assertNotNull(e);
    assertTrue(e.hasAttribute(entryUUIDType));
    List<Attribute> attrList = e.getAttribute(entryUUIDType);
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/ExactMatchIdentityMapperTestCase.java
@@ -38,7 +38,6 @@
import org.opends.server.admin.std.meta.ExactMatchIdentityMapperCfgDefn;
import org.opends.server.admin.std.server.ExactMatchIdentityMapperCfg;
import org.opends.server.api.IdentityMapper;
import org.opends.server.core.AddOperation;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.ModifyOperation;
import org.opends.server.protocols.internal.InternalClientConnection;
@@ -316,7 +315,7 @@
    // Create a user entry and add it to the directory.
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -327,8 +326,6 @@
         "sn: Test",
         "cn: Test",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    // Ensure that the identity mapper is able to establish the mapping
@@ -377,7 +374,7 @@
    // Create a user entry and add it to the directory.
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -388,8 +385,6 @@
         "sn: Test",
         "cn: Test",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    // Ensure that the identity mapper is able to establish the mapping
@@ -439,7 +434,7 @@
    // Create a user entry and add it to the directory.
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -450,8 +445,6 @@
         "sn: Test",
         "cn: Test",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    // Ensure that the identity mapper is able to establish the mapping
@@ -497,7 +490,7 @@
    // Create a user entry and add it to the directory.
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -508,8 +501,6 @@
         "sn: Test",
         "cn: Test",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    // Ensure that the identity mapper is able to establish the mapping
@@ -555,7 +546,7 @@
    // Create two user entries and add them to the directory.
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -566,10 +557,8 @@
         "sn: Test",
         "cn: Test",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test2,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -580,8 +569,6 @@
         "sn: Test",
         "cn: Test",
         "userPassword: password");
    addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    // Ensure that the identity mapper is able to establish the mapping
@@ -632,7 +619,7 @@
    // Create a user entry and add it to the directory.
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=foo,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -643,8 +630,6 @@
         "sn: Bar",
         "cn: Bar",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    // Ensure that the identity mapper is able to establish the mapping
@@ -693,7 +678,7 @@
    // Create a user entry and add it to the directory.
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=foo,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -704,8 +689,6 @@
         "sn: Bar",
         "cn: Bar",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    // Ensure that the identity mapper is able to establish the mapping
@@ -754,7 +737,7 @@
    // Create a user entry and add it to the directory.
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=foo,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -765,9 +748,6 @@
         "sn: Bar",
         "cn: Bar",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    // Ensure that the identity mapper is able to establish the mapping
    // successfully.
@@ -799,7 +779,7 @@
    // Create a user entry and add it to the directory.
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -810,8 +790,6 @@
         "sn: User",
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    // Verify that "test" works for the initial configuration but "test user"
@@ -884,7 +862,7 @@
    // Create a user entry and add it to the directory.
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -895,8 +873,6 @@
         "sn: User",
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    // Verify that we can retrieve the user.
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/ExternalSASLMechanismHandlerTestCase.java
@@ -43,7 +43,6 @@
import org.opends.server.admin.server.AdminTestCaseUtils;
import org.opends.server.admin.std.meta.ExternalSASLMechanismHandlerCfgDefn;
import org.opends.server.admin.std.server.ExternalSASLMechanismHandlerCfg;
import org.opends.server.core.AddOperation;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.ModifyOperation;
import org.opends.server.protocols.internal.InternalClientConnection;
@@ -194,8 +193,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -205,10 +203,6 @@
         "givenName: Test",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath = DirectoryServer.getInstanceRoot() + File.separator +
                          "config" + File.separator + "client.keystore";
    String trustStorePath = DirectoryServer.getInstanceRoot() + File.separator +
@@ -246,8 +240,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -257,10 +250,6 @@
         "givenName: Test",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath = DirectoryServer.getInstanceRoot() + File.separator +
                          "config" + File.separator + "client.keystore";
@@ -364,8 +353,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -375,10 +363,6 @@
         "givenName: Test",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    String dnStr    = "cn=EXTERNAL,cn=SASL Mechanisms,cn=config";
    String attrName = "ds-cfg-certificate-validation-policy";
@@ -443,7 +427,7 @@
    inputStream.close();
    byte[] certBytes = ks.getCertificate("client-cert").getEncoded();
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -454,9 +438,6 @@
         "sn: User",
         "userCertificate;binary:: " + Base64.encode(certBytes));
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
@@ -509,7 +490,7 @@
      "axuJ8LFNbZtsp1ldW3i84+F5+SYT+xI67ZcoAtwx/VFVI9s5I/Gkmu9f9nxjPpK7" +
      "1AIUXiE3Qcck";
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -520,9 +501,6 @@
         "sn: User",
         "userCertificate;binary:: " + Certificate);
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath = DirectoryServer.getInstanceRoot() + File.separator +
                          "config" + File.separator + "client.keystore";
@@ -570,7 +548,7 @@
    inputStream.close();
    byte[] certBytes = ks.getCertificate("client-cert").getEncoded();
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -582,10 +560,6 @@
         "userCertificate;binary:: " + Base64.encode(certBytes));
    InternalClientConnection conn = getRootConnection();
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String dnStr    = "cn=EXTERNAL,cn=SASL Mechanisms,cn=config";
    String attrName = "ds-cfg-certificate-validation-policy";
    ArrayList<Modification> mods = new ArrayList<Modification>();
@@ -654,7 +628,7 @@
      "axuJ8LFNbZtsp1ldW3i84+F5+SYT+xI67ZcoAtwx/VFVI9s5I/Gkmu9f9nxjPpK7" +
      "1AIUXiE3Qcck";
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -666,10 +640,6 @@
         "userCertificate;binary:: " + Certificate);
    InternalClientConnection conn = getRootConnection();
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String dnStr    = "cn=EXTERNAL,cn=SASL Mechanisms,cn=config";
    String attrName = "ds-cfg-certificate-validation-policy";
    ArrayList<Modification> mods = new ArrayList<Modification>();
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/PasswordModifyExtendedOperationTestCase.java
@@ -335,8 +335,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    Entry userEntry = TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -350,10 +349,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -395,8 +390,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    Entry userEntry = TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -410,10 +404,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -454,8 +444,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -469,10 +458,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -505,8 +490,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    Entry userEntry = TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -520,10 +504,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -565,8 +545,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    Entry userEntry = TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -580,10 +559,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -625,8 +600,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    Entry userEntry = TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -640,10 +614,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -685,8 +655,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    Entry userEntry = TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -700,10 +669,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -745,8 +710,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    Entry userEntry = TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -759,11 +723,6 @@
         "ds-privilege-name: bypass-acl",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -804,8 +763,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    Entry userEntry = TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -818,11 +776,6 @@
         "ds-privilege-name: bypass-acl",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -863,8 +816,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    Entry userEntry = TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -877,11 +829,6 @@
         "ds-privilege-name: bypass-acl",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -1106,8 +1053,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1119,11 +1065,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "--noPropertiesFile",
@@ -1155,8 +1096,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1168,11 +1108,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr  = "ds-cfg-allow-pre-encoded-passwords";
@@ -1221,8 +1156,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1234,10 +1168,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    /* Make sure preEncoded passwords are rejected */
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr  = "ds-cfg-allow-pre-encoded-passwords";
@@ -1277,8 +1207,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1290,10 +1219,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    /* Make sure preEncoded passwords are rejected */
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr  = "ds-cfg-allow-pre-encoded-passwords";
@@ -1399,8 +1324,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1413,10 +1337,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr  = "ds-cfg-allow-user-password-changes";
@@ -1463,8 +1383,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1477,10 +1396,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr  = "ds-cfg-allow-user-password-changes";
@@ -1528,8 +1443,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1541,10 +1455,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr  = "ds-cfg-password-change-requires-current-password";
@@ -1592,8 +1502,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1606,10 +1515,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr  = "ds-cfg-require-secure-authentication";
@@ -1656,8 +1561,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1670,10 +1574,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr  = "ds-cfg-require-secure-password-changes";
@@ -1720,8 +1620,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1734,10 +1633,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr  = "ds-cfg-require-secure-password-changes";
@@ -1785,8 +1680,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1799,10 +1693,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr  = "ds-cfg-min-password-age";
@@ -1848,8 +1738,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1862,10 +1751,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr  = "ds-cfg-min-password-age";
@@ -1913,8 +1798,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    Entry userEntry = TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1926,10 +1810,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr1 = "ds-cfg-max-password-age";
@@ -1988,8 +1868,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    Entry userEntry = TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -2002,11 +1881,6 @@
         "ds-privilege-name: bypass-acl",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr1 = "ds-cfg-max-password-age";
@@ -2072,8 +1946,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -2086,10 +1959,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr = "ds-cfg-password-generator";
@@ -2137,8 +2006,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -2151,10 +2019,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr = "ds-cfg-password-generator";
@@ -2201,8 +2065,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -2215,10 +2078,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr = "ds-cfg-password-validator";
@@ -2266,8 +2125,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -2280,10 +2138,6 @@
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    String dnStr = "cn=Default Password Policy,cn=Password Policies,cn=config";
    String attr = "ds-cfg-password-validator";
@@ -2333,19 +2187,6 @@
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
         "objectClass: organizationalPerson",
         "objectClass: inetOrgPerson",
         "uid: test.user",
         "givenName: Test",
         "sn: User",
         "cn: Test User",
         "userPassword: password",
         "userPassword: password2");
    InternalClientConnection conn =
         InternalClientConnection.getRootConnection();
@@ -2358,9 +2199,18 @@
         conn.processModify(DN.valueOf(dnStr), mods);
    assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS);
    AddOperation addOperation = conn.processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    TestCaseUtils.addEntry(
        "dn: uid=test.user,o=test",
        "objectClass: top",
        "objectClass: person",
        "objectClass: organizationalPerson",
        "objectClass: inetOrgPerson",
        "uid: test.user",
        "givenName: Test",
        "sn: User",
        "cn: Test User",
        "userPassword: password",
        "userPassword: password2");
    String[] args =
@@ -2402,23 +2252,6 @@
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry userEntry = TestCaseUtils.makeEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
         "objectClass: organizationalPerson",
         "objectClass: inetOrgPerson",
         "objectClass: authPasswordObject",
         "uid: test.user",
         "givenName: Test",
         "sn: User",
         "cn: Test User",
         "authPassword: password",
         "authPassword: password2",
         "ds-pwp-password-policy-dn: cn=SHA1 AuthPassword Policy," +
              "cn=Password Policies,cn=config");
    InternalClientConnection conn =
         InternalClientConnection.getRootConnection();
    String dnStr = "cn=SHA1 AuthPassword Policy,cn=Password Policies,cn=config";
@@ -2430,9 +2263,21 @@
         conn.processModify(DN.valueOf(dnStr), mods);
    assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS);
    AddOperation addOperation = conn.processAdd(userEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    TestCaseUtils.addEntry(
        "dn: uid=test.user,o=test",
        "objectClass: top",
        "objectClass: person",
        "objectClass: organizationalPerson",
        "objectClass: inetOrgPerson",
        "objectClass: authPasswordObject",
        "uid: test.user",
        "givenName: Test",
        "sn: User",
        "cn: Test User",
        "authPassword: password",
        "authPassword: password2",
        "ds-pwp-password-policy-dn: cn=SHA1 AuthPassword Policy," +
        "cn=Password Policies,cn=config");
    String[] args =
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/PlainSASLMechanismHandlerTestCase.java
@@ -32,7 +32,6 @@
import org.forgerock.opendj.ldap.SearchScope;
import org.opends.server.TestCaseUtils;
import org.opends.server.api.SASLMechanismHandler;
import org.opends.server.core.AddOperation;
import org.opends.server.core.BindOperation;
import org.opends.server.core.DirectoryServer;
import org.opends.server.protocols.internal.InternalClientConnection;
@@ -144,8 +143,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
                   "dn: uid=test.user,o=test",
                   "objectClass: top",
                   "objectClass: person",
@@ -157,9 +155,6 @@
                   "cn: Test User",
                   "userPassword: " + password);
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    ByteStringBuilder saslCredBytes = new ByteStringBuilder();
    saslCredBytes.append((byte)0);
@@ -189,8 +184,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
                   "dn: uid=test.user,o=test",
                   "objectClass: top",
                   "objectClass: person",
@@ -202,9 +196,6 @@
                   "cn: Test User",
                   "userPassword: " + password);
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    ByteStringBuilder saslCredBytes = new ByteStringBuilder();
    saslCredBytes.append((byte)0);
@@ -235,8 +226,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
                   "dn: uid=test.user,o=test",
                   "objectClass: top",
                   "objectClass: person",
@@ -248,9 +238,6 @@
                   "cn: Test User",
                   "userPassword: " + password);
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    ByteStringBuilder saslCredBytes = new ByteStringBuilder();
    saslCredBytes.append("u:test.user");
@@ -281,8 +268,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    Entry e = TestCaseUtils.addEntry(
                   "dn: uid=test.user,o=test",
                   "objectClass: top",
                   "objectClass: person",
@@ -294,9 +280,6 @@
                   "cn: Test User",
                   "userPassword: " + password);
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    ByteStringBuilder saslCredBytes = new ByteStringBuilder();
    saslCredBytes.append((byte)0);
@@ -328,8 +311,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    Entry e = TestCaseUtils.addEntry(
                   "dn: uid=test.user,o=test",
                   "objectClass: top",
                   "objectClass: person",
@@ -341,9 +323,6 @@
                   "cn: Test User",
                   "userPassword: " + password);
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    ByteStringBuilder saslCredBytes = new ByteStringBuilder();
    saslCredBytes.append("dn:");
@@ -461,8 +440,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
                   "dn: uid=test.user,o=test",
                   "objectClass: top",
                   "objectClass: person",
@@ -474,11 +452,6 @@
                   "cn: Test User",
                   "userPassword: password");
    InternalClientConnection.getRootConnection();
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection anonymousConn =
         new InternalClientConnection(new AuthenticationInfo());
    BindOperation bindOperation =
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/StartTLSExtendedOperationTestCase.java
@@ -28,16 +28,12 @@
import java.io.File;
import org.forgerock.opendj.ldap.ResultCode;
import org.opends.server.TestCaseUtils;
import org.opends.server.core.AddOperation;
import org.opends.server.core.DirectoryServer;
import org.opends.server.tools.LDAPSearch;
import org.opends.server.types.Entry;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.testng.Assert.*;
/**
@@ -180,8 +176,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -191,10 +186,6 @@
         "givenName: Test",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath = DirectoryServer.getInstanceRoot() + File.separator +
                          "config" + File.separator + "client.keystore";
    String trustStorePath = DirectoryServer.getInstanceRoot() + File.separator +
@@ -232,8 +223,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -243,9 +233,6 @@
         "givenName: Test",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath = DirectoryServer.getInstanceRoot() + File.separator +
                          "config" + File.separator + "client.keystore";
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/extensions/WhoAmIExtendedOperationTestCase.java
@@ -36,7 +36,6 @@
import org.forgerock.opendj.ldap.ResultCode;
import org.opends.server.TestCaseUtils;
import org.opends.server.controls.ProxiedAuthV2Control;
import org.opends.server.core.AddOperation;
import org.opends.server.core.ExtendedOperation;
import org.opends.server.protocols.internal.InternalClientConnection;
import org.opends.server.protocols.ldap.ExtendedRequestProtocolOp;
@@ -54,7 +53,6 @@
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.opends.server.util.ServerConstants.*;
import static org.testng.Assert.*;
@@ -125,8 +123,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    Entry e = TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -138,9 +135,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOp = getRootConnection().processAdd(e);
    assertEquals(addOp.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = new InternalClientConnection(new AuthenticationInfo(e, false));
    ExtendedOperation extOp =
@@ -224,8 +218,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -237,9 +230,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOp = getRootConnection().processAdd(e);
    assertEquals(addOp.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader reader = new LDAPReader(s);
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/plugins/EntryUUIDPluginTestCase.java
@@ -35,13 +35,11 @@
import java.util.UUID;
import org.forgerock.opendj.config.server.ConfigException;
import org.forgerock.opendj.ldap.ResultCode;
import org.opends.server.TestCaseUtils;
import org.opends.server.admin.server.AdminTestCaseUtils;
import org.opends.server.admin.std.meta.EntryUUIDPluginCfgDefn;
import org.opends.server.admin.std.server.EntryUUIDPluginCfg;
import org.opends.server.api.plugin.PluginType;
import org.opends.server.core.AddOperation;
import org.opends.server.core.DirectoryServer;
import org.opends.server.types.AttributeType;
import org.opends.server.types.DN;
@@ -52,7 +50,6 @@
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.testng.Assert.*;
/**
@@ -335,17 +332,10 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry("dn: cn=test,o=test",
    Entry e = TestCaseUtils.addEntry("dn: cn=test,o=test",
                                      "objectClass: top",
                                      "objectClass: device",
                                      "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    e = DirectoryConfig.getEntry(e.getName());
    assertNotNull(e);
    assertNotNull(e.getAttribute("entryuuid"));
  }
@@ -363,17 +353,11 @@
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry("dn: cn=test,o=test",
    Entry e = TestCaseUtils.addEntry("dn: cn=test,o=test",
                                      "objectClass: top",
                                      "objectClass: device",
                                      "cn: test",
                                      "entryUUID: " + UUID.randomUUID());
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    e = DirectoryConfig.getEntry(e.getName());
    assertNotNull(e);
    assertNotNull(e.getAttribute("entryuuid"));
  }
}
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/plugins/LastModPluginTestCase.java
@@ -38,7 +38,6 @@
import org.opends.server.admin.std.meta.LastModPluginCfgDefn;
import org.opends.server.admin.std.server.LastModPluginCfg;
import org.opends.server.api.plugin.PluginType;
import org.opends.server.core.AddOperation;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.ModifyDNOperation;
import org.opends.server.core.ModifyOperation;
@@ -282,17 +281,10 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry("dn: cn=test,o=test",
    Entry e = TestCaseUtils.addEntry("dn: cn=test,o=test",
                                      "objectClass: top",
                                      "objectClass: device",
                                      "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    e = DirectoryConfig.getEntry(e.getName());
    assertNotNull(e);
    assertNotNull(e.getAttribute("creatorsname"));
    assertNotNull(e.getAttribute("createtimestamp"));
  }
@@ -338,15 +330,11 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry("dn: cn=test,o=test",
    Entry e = TestCaseUtils.addEntry("dn: cn=test,o=test",
                                      "objectClass: top",
                                      "objectClass: device",
                                      "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    ModifyDNOperation modifyDNOperation =
        getRootConnection().processModifyDN(e.getName(), RDN.decode("cn=test2"), false);
    assertEquals(modifyDNOperation.getResultCode(), ResultCode.SUCCESS);
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/plugins/ReferentialIntegrityPluginTestCase.java
@@ -56,11 +56,13 @@
import org.opends.server.types.RDN;
import org.testng.annotations.*;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.testng.Assert.*;
/**
 * Unit test to test Referential Integrity plugin.
 */
@SuppressWarnings("javadoc")
public class ReferentialIntegrityPluginTestCase extends PluginTestCase  {
  //Config DNs and attributes.
@@ -1045,9 +1047,7 @@
      builder.add(valString);
    }
    mods.add(new Modification(ModificationType.ADD, builder.toAttribute()));
    InternalClientConnection conn =
            InternalClientConnection.getRootConnection();
    return conn.processModify(dn, mods);
    return getRootConnection().processModify(dn, mods);
  }
/**
@@ -1069,9 +1069,7 @@
      builder.add(valString);
    }
    mods.add(new Modification(ModificationType.REPLACE, builder.toAttribute()));
    InternalClientConnection conn =
            InternalClientConnection.getRootConnection();
    return conn.processModify(dn, mods);
    return getRootConnection().processModify(dn, mods);
  }
@@ -1095,9 +1093,7 @@
      mods.add(new Modification(ModificationType.DELETE,
          Attributes.empty(attrType)));
    }
    InternalClientConnection conn =
            InternalClientConnection.getRootConnection();
    conn.processModify(dn, mods);
    getRootConnection().processModify(dn, mods);
  }
  /**
@@ -1117,8 +1113,7 @@
  }
  private void deleteEntries(String... dns) throws Exception{
    InternalClientConnection conn =
                                 InternalClientConnection.getRootConnection();
    InternalClientConnection conn = getRootConnection();
    for(String dn : dns) {
         DeleteOperation op=conn.processDelete(DN.valueOf(dn));
       assertEquals(op.getResultCode(), ResultCode.SUCCESS);
@@ -1129,8 +1124,7 @@
  private void deleteSubtree(String... dns) throws Exception
  {
    InternalClientConnection conn = InternalClientConnection
        .getRootConnection();
    InternalClientConnection conn = getRootConnection();
    SubtreeDeleteControl control = new SubtreeDeleteControl(true);
    List<Control> controls = new ArrayList<Control>(1);
@@ -1172,8 +1166,7 @@
          throws Exception {
    AttributeType type= getAttrType(attr);
    String filterStr="(" + attr + "=*)";
    InternalClientConnection conn =
            InternalClientConnection.getRootConnection();
    InternalClientConnection conn = getRootConnection();
    InternalSearchOperation operation = conn.processSearch(DN.valueOf(entryDN),
            SearchScope.BASE_OBJECT,
            DereferenceAliasesPolicy.NEVER, 0, 0, false,
@@ -1196,12 +1189,8 @@
   *
   */
  private void addEntries(String... dns) throws Exception {
        InternalClientConnection conn =
         InternalClientConnection.getRootConnection();
    for(String dn : dns) {
      Entry e=makeEntry(dn);
      AddOperation op=conn.processAdd(e);
      assertEquals(op.getResultCode(), ResultCode.SUCCESS);
      addEntry(dn);
    }
  }
@@ -1212,8 +1201,8 @@
   * @return The created entry.
   * @throws Exception  If the entry can't be created.
   */
  private Entry makeEntry(String dn) throws Exception {
      return TestCaseUtils.makeEntry(
  private Entry addEntry(String dn) throws Exception {
    return TestCaseUtils.addEntry(
            "dn: " + dn,
            "objectClass: top",
            "objectClass: person",
@@ -1240,8 +1229,7 @@
   */
  private void
  doModDN(String dn, String rdn, String newSuperior) throws Exception {
    InternalClientConnection conn =
            InternalClientConnection.getRootConnection();
    InternalClientConnection conn = getRootConnection();
    ModifyDNOperation modDNop;
    if(newSuperior != null)
        modDNop = conn.processModifyDN(DN.valueOf(dn), RDN.decode(rdn), true,
@@ -1282,18 +1270,9 @@
                           "manager:(objectclass=person)");
    replaceAttrEntry(configDN, "ds-cfg-enabled", "true");
    Entry entry = null;
    AddOperation addOperation = null;
    addEntry("uid=manager,ou=people,ou=dept,o=test");
    InternalClientConnection conn =
      InternalClientConnection.getRootConnection();
    entry = makeEntry("uid=manager,ou=people,ou=dept,o=test");
    addOperation = conn.processAdd(entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    entry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
      "dn: uid=employee,ou=people,ou=dept,dc=example,dc=com",
      "objectclass: top",
      "objectclass: person",
@@ -1304,9 +1283,6 @@
      "sn: employee",
      "givenname: employee",
      "manager: uid=manager,ou=people,ou=dept,o=test");
    addOperation = conn.processAdd(entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
  }
  /**
@@ -1339,18 +1315,9 @@
                           "manager:(objectclass=person)");
    replaceAttrEntry(configDN, "ds-cfg-enabled", "true");
    Entry entry = null;
    AddOperation addOperation = null;
    addEntry("uid=manager,ou=people,ou=dept,dc=example,dc=com");
    InternalClientConnection conn =
      InternalClientConnection.getRootConnection();
    entry = makeEntry("uid=manager,ou=people,ou=dept,dc=example,dc=com");
    addOperation = conn.processAdd(entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    entry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
      "dn: uid=employee,ou=people,ou=dept,dc=example,dc=com",
      "objectclass: top",
      "objectclass: person",
@@ -1361,9 +1328,6 @@
      "sn: employee",
      "givenname: employee",
      "manager: uid=manager,ou=people,ou=dept,dc=example,dc=com");
    addOperation = conn.processAdd(entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
  }
    /**
@@ -1395,13 +1359,7 @@
                           "manager:(objectclass=person)");
    replaceAttrEntry(configDN, "ds-cfg-enabled", "true");
    Entry entry = null;
    AddOperation addOperation = null;
    InternalClientConnection conn =
      InternalClientConnection.getRootConnection();
    entry = TestCaseUtils.makeEntry(
    Entry entry = TestCaseUtils.makeEntry(
      "dn: uid=employee,ou=people,ou=dept,dc=example,dc=com",
      "objectclass: top",
      "objectclass: person",
@@ -1413,7 +1371,7 @@
      "givenname: employee",
      "manager: uid=bad,ou=people,ou=dept,dc=example,dc=com");
    addOperation = conn.processAdd(entry);
    AddOperation addOperation = getRootConnection().processAdd(entry);
    assertEquals(addOperation.getResultCode(),
                 ResultCode.CONSTRAINT_VIOLATION);
  }
@@ -1449,18 +1407,9 @@
                           "manager:(objectclass=gropuOfNames)");
    replaceAttrEntry(configDN, "ds-cfg-enabled", "true");
    Entry entry = null;
    AddOperation addOperation = null;
    addEntry("uid=manager,ou=people,ou=dept,dc=example,dc=com");
    InternalClientConnection conn =
      InternalClientConnection.getRootConnection();
    entry = makeEntry("uid=manager,ou=people,ou=dept,dc=example,dc=com");
    addOperation = conn.processAdd(entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    entry = TestCaseUtils.makeEntry(
    Entry entry = TestCaseUtils.makeEntry(
      "dn: uid=employee,ou=people,ou=dept,dc=example,dc=com",
      "objectclass: top",
      "objectclass: person",
@@ -1472,7 +1421,7 @@
      "givenname: employee",
      "manager: uid=manager,ou=people,ou=dept,dc=example,dc=com");
    addOperation = conn.processAdd(entry);
    AddOperation addOperation = getRootConnection().processAdd(entry);
    assertEquals(addOperation.getResultCode(),
                 ResultCode.CONSTRAINT_VIOLATION);
  }
@@ -1509,18 +1458,9 @@
                           "manager:(objectclass=person)");
    replaceAttrEntry(configDN, "ds-cfg-enabled", "true");
    Entry entry = null;
    AddOperation addOperation = null;
    addEntry("uid=manager,ou=people,ou=dept,o=test");
    InternalClientConnection conn =
      InternalClientConnection.getRootConnection();
    entry = makeEntry("uid=manager,ou=people,ou=dept,o=test");
    addOperation = conn.processAdd(entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    entry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
      "dn: uid=employee,ou=people,ou=dept,dc=example,dc=com",
      "objectclass: top",
      "objectclass: person",
@@ -1531,10 +1471,6 @@
      "sn: employee",
      "givenname: employee",
      "manager: uid=manager,ou=people,ou=dept,o=test");
    addOperation = conn.processAdd(entry);
    assertEquals(addOperation.getResultCode(),
                 ResultCode.SUCCESS);
  }
  /**
@@ -1566,10 +1502,7 @@
                           "member:(objectclass=person)");
    replaceAttrEntry(configDN, "ds-cfg-enabled", "true");
    InternalClientConnection conn =
      InternalClientConnection.getRootConnection();
    Entry entry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
      "dn: cn=referent group,ou=groups,dc=example,dc=com",
      "objectclass: top",
      "objectclass: groupofnames",
@@ -1580,9 +1513,6 @@
      "member: uid=user.4,ou=people,ou=dept,dc=example,dc=com",
      "member: uid=user.5,ou=people,ou=dept,dc=example,dc=com"
      );
    AddOperation addOperation = conn.processAdd(entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
  }
  /**
@@ -1614,10 +1544,6 @@
                           "member:(objectclass=person)");
    replaceAttrEntry(configDN, "ds-cfg-enabled", "true");
    InternalClientConnection conn =
      InternalClientConnection.getRootConnection();
    Entry entry = TestCaseUtils.makeEntry(
      "dn: cn=referent group,ou=groups,dc=example,dc=com",
      "objectclass: top",
@@ -1630,7 +1556,7 @@
      "member: uid=user.5,ou=people,ou=dept,dc=example,dc=com"
      );
    AddOperation addOperation = conn.processAdd(entry);
    AddOperation addOperation = getRootConnection().processAdd(entry);
    assertEquals(addOperation.getResultCode(),
                 ResultCode.CONSTRAINT_VIOLATION);
  }
@@ -1665,9 +1591,6 @@
                           "member:(objectclass=person)");
    replaceAttrEntry(configDN, "ds-cfg-enabled", "true");
    InternalClientConnection conn =
      InternalClientConnection.getRootConnection();
    Entry entry = TestCaseUtils.makeEntry(
      "dn: cn=referent group,ou=groups,dc=example,dc=com",
      "objectclass: top",
@@ -1680,7 +1603,7 @@
      "member: uid=user.5,ou=people,ou=dept,dc=example,dc=com"
      );
    AddOperation addOperation = conn.processAdd(entry);
    AddOperation addOperation = getRootConnection().processAdd(entry);
    assertEquals(addOperation.getResultCode(),
                 ResultCode.CONSTRAINT_VIOLATION);
  }
@@ -1717,10 +1640,7 @@
                           "member:(objectclass=person)");
    replaceAttrEntry(configDN, "ds-cfg-enabled", "true");
    InternalClientConnection conn =
      InternalClientConnection.getRootConnection();
    Entry entry = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
      "dn: cn=referent group,ou=groups,dc=example,dc=com",
      "objectclass: top",
      "objectclass: groupofnames",
@@ -1731,10 +1651,6 @@
      "member: uid=user.4,ou=people,ou=dept,dc=example,dc=com",
      "member: uid=user.5,ou=people,ou=dept,dc=example,dc=com"
      );
    AddOperation addOperation = conn.processAdd(entry);
    assertEquals(addOperation.getResultCode(),
                 ResultCode.SUCCESS);
  }
  /**
@@ -1763,13 +1679,7 @@
                           "manager:(objectclass=person)");
    replaceAttrEntry(configDN, "ds-cfg-enabled", "true");
    InternalClientConnection conn =
      InternalClientConnection.getRootConnection();
    Entry entry = makeEntry("uid=manager,ou=people,ou=dept,dc=example,dc=com");
    AddOperation addOperation = conn.processAdd(entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    addEntry("uid=manager,ou=people,ou=dept,dc=example,dc=com");
    ModifyOperation modOperation = addAttrEntry(DN.valueOf(user1),
     "manager", "uid=manager,ou=people,ou=dept,dc=example,dc=com");
@@ -1804,13 +1714,7 @@
                           "manager:(objectclass=person)");
    replaceAttrEntry(configDN, "ds-cfg-enabled", "true");
    InternalClientConnection conn =
      InternalClientConnection.getRootConnection();
    Entry entry = makeEntry("uid=manager,ou=people,ou=dept,dc=example,dc=com");
    AddOperation addOperation = conn.processAdd(entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    addEntry("uid=manager,ou=people,ou=dept,dc=example,dc=com");
    ModifyOperation modOperation = addAttrEntry(DN.valueOf(user1),
     "manager", "uid=manager,ou=people,ou=dept,dc=example,dc=com");
@@ -1849,13 +1753,7 @@
                           "manager:(objectclass=posixAccount)");
    replaceAttrEntry(configDN, "ds-cfg-enabled", "true");
    InternalClientConnection conn =
      InternalClientConnection.getRootConnection();
    Entry entry = makeEntry("uid=manager,ou=people,ou=dept,dc=example,dc=com");
    AddOperation addOperation = conn.processAdd(entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    addEntry("uid=manager,ou=people,ou=dept,dc=example,dc=com");
    ModifyOperation modOperation = addAttrEntry(DN.valueOf(user1),
     "manager", "uid=manager,ou=people,ou=dept,dc=example,dc=com");
@@ -1893,13 +1791,7 @@
                           "manager:(objectclass=person)");
    replaceAttrEntry(configDN, "ds-cfg-enabled", "true");
    InternalClientConnection conn =
      InternalClientConnection.getRootConnection();
    Entry entry = makeEntry("uid=manager,ou=people,ou=dept,o=test");
    AddOperation addOperation = conn.processAdd(entry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    addEntry("uid=manager,ou=people,ou=dept,o=test");
    ModifyOperation modOperation = addAttrEntry(DN.valueOf(user1),
     "manager", "uid=manager,ou=people,ou=dept,o=test");
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/plugins/UniqueAttributePluginTestCase.java
@@ -42,10 +42,10 @@
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.ModifyDNOperation;
import org.opends.server.core.ModifyOperation;
import org.opends.server.protocols.internal.InternalClientConnection;
import org.opends.server.types.*;
import org.testng.annotations.*;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.testng.Assert.*;
/**
@@ -736,9 +736,7 @@
     mods.add(new Modification(ModificationType.DELETE,
         Attributes.empty(attrType)));
    }
    InternalClientConnection conn =
            InternalClientConnection.getRootConnection();
    conn.processModify(dn, mods);
    getRootConnection().processModify(dn, mods);
  }
@@ -752,9 +750,7 @@
      builder.add(valString);
    }
    mods.add(new Modification(ModificationType.REPLACE, builder.toAttribute()));
    InternalClientConnection conn =
            InternalClientConnection.getRootConnection();
    conn.processModify(dn, mods);
    getRootConnection().processModify(dn, mods);
  }
@@ -767,9 +763,7 @@
   * @throws Exception If an error occurs.
   */
  private void addEntry(Entry e, ResultCode rc) throws Exception {
        InternalClientConnection conn =
         InternalClientConnection.getRootConnection();
    AddOperation addOperation = conn.processAdd(e);
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), rc);
  }
@@ -865,12 +859,8 @@
   * @param dn The DN of the entry to modify.
   * @param rc The expected return code.
   */
  private void
  doMods(LinkedList<Modification> mods, DN dn, ResultCode rc ) {
    InternalClientConnection conn =
            InternalClientConnection.getRootConnection();
    ModifyOperation modifyOperation =
            conn.processModify(dn, mods);
  private void doMods(LinkedList<Modification> mods, DN dn, ResultCode rc) {
    ModifyOperation modifyOperation = getRootConnection().processModify(dn, mods);
    assertEquals(modifyOperation.getResultCode(),  rc);
  }
@@ -883,12 +873,8 @@
   * @param newSuperior New superior to move to.
   * @param rc Expected return code from operation.
   */
  private void
  doModDN(DN dn, RDN rdn, boolean delOld, DN newSuperior, ResultCode rc) {
        InternalClientConnection conn =
            InternalClientConnection.getRootConnection();
    ModifyDNOperation modifyDNOperation =
            conn.processModifyDN(dn, rdn, delOld, newSuperior);
    assertEquals(modifyDNOperation.getResultCode(),  rc);
  private void doModDN(DN dn, RDN rdn, boolean delOld, DN newSuperior, ResultCode rc) {
    ModifyDNOperation modifyDNOperation = getRootConnection().processModifyDN(dn, rdn, delOld, newSuperior);
    assertEquals(modifyDNOperation.getResultCode(), rc);
  }
}
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/protocols/internal/InternalClientConnectionTestCase.java
@@ -331,14 +331,10 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry("dn: cn=test,o=test",
    TestCaseUtils.addEntry("dn: cn=test,o=test",
                                      "objectClass: top",
                                      "objectClass: device",
                                      "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
  }
@@ -434,15 +430,11 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry("dn: cn=test,o=test",
    TestCaseUtils.addEntry("dn: cn=test,o=test",
                                      "objectClass: top",
                                      "objectClass: device",
                                      "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    CompareOperation compareOperation =
@@ -464,16 +456,11 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry("dn: cn=test,o=test",
    TestCaseUtils.addEntry("dn: cn=test,o=test",
                                      "objectClass: top",
                                      "objectClass: device",
                                      "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    CompareOperation compareOperation =
         conn.processCompare(DN.valueOf("cn=test,o=test"),
@@ -495,16 +482,11 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry("dn: cn=test,o=test",
    TestCaseUtils.addEntry("dn: cn=test,o=test",
                                      "objectClass: top",
                                      "objectClass: device",
                                      "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    DeleteOperation deleteOperation =
         getRootConnection().processDelete(ByteString.valueOf("cn=test,o=test"));
    assertEquals(deleteOperation.getResultCode(), ResultCode.SUCCESS);
@@ -523,15 +505,11 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry("dn: cn=test,o=test",
    TestCaseUtils.addEntry("dn: cn=test,o=test",
                                      "objectClass: top",
                                      "objectClass: device",
                                      "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    DeleteOperation deleteOperation =
         getRootConnection().processDelete(DN.valueOf("cn=test,o=test"));
    assertEquals(deleteOperation.getResultCode(), ResultCode.SUCCESS);
@@ -567,16 +545,11 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry("dn: cn=test,o=test",
    TestCaseUtils.addEntry("dn: cn=test,o=test",
                                      "objectClass: top",
                                      "objectClass: device",
                                      "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    ArrayList<ByteString> values = new ArrayList<ByteString>();
    values.add(ByteString.valueOf("This is a test"));
@@ -603,15 +576,11 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry("dn: cn=test,o=test",
    TestCaseUtils.addEntry("dn: cn=test,o=test",
                                      "objectClass: top",
                                      "objectClass: device",
                                      "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    ArrayList<Modification> mods = new ArrayList<Modification>();
    mods.add(new Modification(ModificationType.REPLACE,
        Attributes.create("description", "This is a test")));
@@ -635,15 +604,11 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry("dn: cn=test,o=test",
    TestCaseUtils.addEntry("dn: cn=test,o=test",
                                      "objectClass: top",
                                      "objectClass: device",
                                      "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    ModifyDNOperation modifyDNOperation =
         conn.processModifyDN(ByteString.valueOf("cn=test,o=test"),
@@ -664,15 +629,11 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry("dn: cn=test,o=test",
    TestCaseUtils.addEntry("dn: cn=test,o=test",
                                      "objectClass: top",
                                      "objectClass: device",
                                      "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    InternalClientConnection conn = getRootConnection();
    ModifyDNOperation modifyDNOperation =
         conn.processModifyDN(ByteString.valueOf("cn=test,o=test"),
@@ -695,17 +656,12 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry("dn: cn=test,o=test",
    TestCaseUtils.addEntry("dn: cn=test,o=test",
                                      "objectClass: top",
                                      "objectClass: device",
                                      "cn: test");
    InternalClientConnection conn = getRootConnection();
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    ModifyDNOperation modifyDNOperation =
         conn.processModifyDN(DN.valueOf("cn=test,o=test"),
                              RDN.decode("cn=test2"), true);
@@ -725,17 +681,12 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry("dn: cn=test,o=test",
    TestCaseUtils.addEntry("dn: cn=test,o=test",
                                      "objectClass: top",
                                      "objectClass: device",
                                      "cn: test");
    InternalClientConnection conn = getRootConnection();
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    ModifyDNOperation modifyDNOperation =
         conn.processModifyDN(DN.valueOf("cn=test,o=test"),
                              RDN.decode("cn=test2"), true,
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/replication/ReplicationTestCase.java
@@ -632,12 +632,7 @@
   */
  protected void task(String task) throws Exception
  {
    Entry taskEntry = TestCaseUtils.makeEntry(task);
    // Add the task.
    AddOperation addOperation = connection.processAdd(taskEntry);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS,
                 "Add of the task definition was not successful");
    Entry taskEntry = TestCaseUtils.addEntry(task);
    // Wait until the task completes.
    SearchFilter filter = SearchFilter.createFilterFromString("(objectclass=*)");
@@ -938,7 +933,7 @@
  /**
   * Performs an internal search, waiting for at most 3 seconds for expected result code and expected
   * number of entries.
   * number of entries.
   */
  protected InternalSearchOperation waitForSearchResult(String dn, SearchScope scope, String filter,
      ResultCode expectedResultCode, int expectedNbEntries) throws Exception
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/replication/UpdateOperationTest.java
@@ -114,11 +114,11 @@
    baseDN = DN.valueOf("ou=People," + TEST_ROOT_DN_STRING);
    // Create necessary backend top level entry
    String topEntry = "dn: " + baseDN + "\n"
        + "objectClass: top\n"
        + "objectClass: organizationalUnit\n"
        + "entryUUID: 11111111-1111-1111-1111-111111111111\n";
    addEntry(TestCaseUtils.entryFromLdifString(topEntry));
    TestCaseUtils.addEntry(
        "dn: " + baseDN,
        "objectClass: top",
        "objectClass: organizationalUnit",
        "entryUUID: 11111111-1111-1111-1111-111111111111");
    baseUUID = getEntryUUID(baseDN);
@@ -152,20 +152,30 @@
  private void testSetUp(String tc) throws Exception
  {
    personEntry = TestCaseUtils.entryFromLdifString("dn: uid=user.1." + tc + "," + baseDN + "\n"
        + "objectClass: top\n" + "objectClass: person\n"
        + "objectClass: organizationalPerson\n"
        + "objectClass: inetOrgPerson\n" + "uid: user.1\n"
        + "homePhone: 951-245-7634\n"
        + "description: This is the description for Aaccf Amar.\n" + "st: NC\n"
        + "mobile: 027-085-0537\n"
        + "postalAddress: Aaccf Amar$17984 Thirteenth Street"
        + "$Rockford, NC  85762\n" + "mail: user.1@example.com\n"
        + "cn: Aaccf Amar\n" + "l: Rockford\n" + "pager: 508-763-4246\n"
        + "street: 17984 Thirteenth Street\n"
        + "telephoneNumber: 216-564-6748\n" + "employeeNumber: 1\n"
        + "sn: Amar\n" + "givenName: Aaccf\n" + "postalCode: 85762\n"
        + "userPassword: password\n" + "initials: AA\n");
    personEntry = TestCaseUtils.makeEntry(
        "dn: uid=user.1." + tc + "," + baseDN + "",
        "objectClass: top",
        "objectClass: person",
        "objectClass: organizationalPerson",
        "objectClass: inetOrgPerson",
        "uid: user.1",
        "homePhone: 951-245-7634",
        "description: This is the description for Aaccf Amar.",
        "st: NC",
        "mobile: 027-085-0537",
        "postalAddress: Aaccf Amar$17984 Thirteenth Street $Rockford, NC  85762",
        "mail: user.1@example.com",
        "cn: Aaccf Amar",
        "l: Rockford",
        "pager: 508-763-4246",
        "street: 17984 Thirteenth Street",
        "telephoneNumber: 216-564-6748",
        "employeeNumber: 1",
        "sn: Amar",
        "givenName: Aaccf",
        "postalCode: 85762",
        "userPassword: password",
        "initials: AA");
    /*
     * The 2 entries defined in the following code are used for the naming
@@ -175,71 +185,90 @@
    user1entryUUID = "33333333-3333-3333-3333-333333333333";
    user1entrysecondUUID = "22222222-2222-2222-2222-222222222222";
    user1dn = DN.valueOf("uid=user1" + tc + "," + baseDN);
    personWithUUIDEntry = TestCaseUtils.entryFromLdifString("dn: "+ user1dn + "\n"
      + "objectClass: top\n" + "objectClass: person\n"
      + "objectClass: organizationalPerson\n"
      + "objectClass: inetOrgPerson\n" + "uid: user.1\n"
      + "homePhone: 951-245-7634\n"
      + "description: This is the description for Aaccf Amar.\n" + "st: NC\n"
      + "mobile: 027-085-0537\n"
      + "postalAddress: Aaccf Amar$17984 Thirteenth Street"
      + "$Rockford, NC  85762\n" + "mail: user.1@example.com\n"
      + "cn: Aaccf Amar\n" + "l: Rockford\n" + "pager: 508-763-4246\n"
      + "street: 17984 Thirteenth Street\n"
      + "telephoneNumber: 216-564-6748\n" + "employeeNumber: 1\n"
      + "sn: Amar\n" + "givenName: Aaccf\n" + "postalCode: 85762\n"
      + "userPassword: password\n" + "initials: AA\n"
      + "entryUUID: " + user1entryUUID + "\n");
    personWithUUIDEntry = TestCaseUtils.makeEntry(
        "dn: "+ user1dn + "",
        "objectClass: top", "objectClass: person",
        "objectClass: organizationalPerson",
        "objectClass: inetOrgPerson", "uid: user.1",
        "homePhone: 951-245-7634",
        "description: This is the description for Aaccf Amar.", "st: NC",
        "mobile: 027-085-0537",
        "postalAddress: Aaccf Amar$17984 Thirteenth Street $Rockford, NC  85762", "mail: user.1@example.com",
        "cn: Aaccf Amar", "l: Rockford", "pager: 508-763-4246",
        "street: 17984 Thirteenth Street",
        "telephoneNumber: 216-564-6748", "employeeNumber: 1",
        "sn: Amar", "givenName: Aaccf", "postalCode: 85762",
        "userPassword: password", "initials: AA",
        "entryUUID: " + user1entryUUID + "\n");
    personWithSecondUniqueID = TestCaseUtils.entryFromLdifString("dn: "+ user1dn + "\n"
      + "objectClass: top\n" + "objectClass: person\n"
      + "objectClass: organizationalPerson\n"
      + "objectClass: inetOrgPerson\n" + "uid: user.1\n"
      + "homePhone: 951-245-7634\n"
      + "description: This is the description for Aaccf Amar.\n" + "st: NC\n"
      + "mobile: 027-085-0537\n"
      + "postalAddress: Aaccf Amar$17984 Thirteenth Street"
      + "$Rockford, NC  85762\n" + "mail: user.1@example.com\n"
      + "cn: Aaccf Amar\n" + "l: Rockford\n" + "pager: 508-763-4246\n"
      + "street: 17984 Thirteenth Street\n"
      + "telephoneNumber: 216-564-6748\n" + "employeeNumber: 1\n"
      + "sn: Amar\n" + "givenName: Aaccf\n" + "postalCode: 85762\n"
      + "userPassword: password\n" + "initials: AA\n"
      + "entryUUID: "+ user1entrysecondUUID + "\n");
    personWithSecondUniqueID = TestCaseUtils.makeEntry(
        "dn: "+ user1dn,
        "objectClass: top",
        "objectClass: person",
        "objectClass: organizationalPerson",
        "objectClass: inetOrgPerson",
        "uid: user.1",
        "homePhone: 951-245-7634",
        "description: This is the description for Aaccf Amar.",
        "st: NC",
        "mobile: 027-085-0537",
        "postalAddress: Aaccf Amar$17984 Thirteenth Street $Rockford, NC  85762",
        "mail: user.1@example.com",
        "cn: Aaccf Amar",
        "l: Rockford",
        "pager: 508-763-4246",
        "street: 17984 Thirteenth Street",
        "telephoneNumber: 216-564-6748",
        "employeeNumber: 1",
        "sn: Amar",
        "givenName: Aaccf",
        "postalCode: 85762",
        "userPassword: password",
        "initials: AA",
        "entryUUID: "+ user1entrysecondUUID);
    user3UUID = "44444444-4444-4444-4444-444444444444";
    user3dn = DN.valueOf("uid=user3" + tc + "," + baseDN);
    user3Entry = TestCaseUtils.entryFromLdifString("dn: "+ user3dn + "\n"
      + "objectClass: top\n" + "objectClass: person\n"
      + "objectClass: organizationalPerson\n"
      + "objectClass: inetOrgPerson\n" + "uid: user.1\n"
      + "homePhone: 951-245-7634\n"
      + "description: This is the description for Aaccf Amar.\n" + "st: NC\n"
      + "mobile: 027-085-0537\n"
      + "postalAddress: Aaccf Amar$17984 Thirteenth Street"
      + "$Rockford, NC  85762\n" + "mail: user.3@example.com\n"
      + "cn: Aaccf Amar\n" + "l: Rockford\n" + "pager: 508-763-4246\n"
      + "street: 17984 Thirteenth Street\n"
      + "telephoneNumber: 216-564-6748\n" + "employeeNumber: 1\n"
      + "sn: Amar\n" + "givenName: Aaccf\n" + "postalCode: 85762\n"
      + "userPassword: password\n" + "initials: AA\n"
      + "entryUUID: " + user3UUID + "\n");
    user3Entry = TestCaseUtils.makeEntry("dn: "+ user3dn,
        "objectClass: top",
        "objectClass: person",
        "objectClass: organizationalPerson",
        "objectClass: inetOrgPerson",
        "uid: user.1",
        "homePhone: 951-245-7634",
        "description: This is the description for Aaccf Amar.",
        "st: NC",
        "mobile: 027-085-0537",
        "postalAddress: Aaccf Amar$17984 Thirteenth Street $Rockford, NC  85762",
        "mail: user.3@example.com",
        "cn: Aaccf Amar",
        "l: Rockford",
        "pager: 508-763-4246",
        "street: 17984 Thirteenth Street",
        "telephoneNumber: 216-564-6748",
        "employeeNumber: 1",
        "sn: Amar",
        "givenName: Aaccf",
        "postalCode: 85762",
        "userPassword: password",
        "initials: AA",
        "entryUUID: " + user3UUID);
    domain1dn = DN.valueOf("dc=domain1," + baseDN);
    domain2dn = DN.valueOf("dc=domain2,dc=domain1," + baseDN);
    domain3dn = DN.valueOf("dc=domain3,dc=domain1," + baseDN);
    domain1 = TestCaseUtils.entryFromLdifString(
        "dn:" + domain1dn + "\n"
        + "objectClass:domain\n"
        + "dc:domain1");
    domain2 = TestCaseUtils.entryFromLdifString(
        "dn:" + domain2dn + "\n"
        + "objectClass:domain\n"
        + "dc:domain2");
    domain3 = TestCaseUtils.entryFromLdifString(
        "dn:" + domain3dn + "\n"
        + "objectClass:domain\n"
        + "dc:domain3");
    domain1 = TestCaseUtils.makeEntry(
        "dn:" + domain1dn,
        "objectClass:domain",
        "dc:domain1");
    domain2 = TestCaseUtils.makeEntry(
        "dn:" + domain2dn,
        "objectClass:domain",
        "dc:domain2");
    domain3 = TestCaseUtils.makeEntry(
        "dn:" + domain3dn,
        "objectClass:domain",
        "dc:domain3");
  }
  /**
@@ -845,11 +874,11 @@
      DN baseDN2 = DN.valueOf("ou=baseDn2," + baseDN);
      // - create parent entry 1 with baseDn1
      connection.processAdd(TestCaseUtils.entryFromLdifString(
          "dn: " + baseDN1 + "\n"
              + "objectClass: top\n"
              + "objectClass: organizationalUnit\n"
              + "entryUUID: 55555555-5555-5555-5555-555555555555\n"));
      connection.processAdd(TestCaseUtils.makeEntry(
          "dn: " + baseDN1,
          "objectClass: top",
          "objectClass: organizationalUnit",
          "entryUUID: 55555555-5555-5555-5555-555555555555"));
      assertNotNull(getEntry(baseDN1, 10000, true),
          "Entry not added: " + baseDN1);
@@ -871,11 +900,11 @@
          "Entry not moved from " + baseDN1 + " to " + baseDN2);
      // - add new parent entry 2 with baseDn1
      connection.processAdd(TestCaseUtils.entryFromLdifString(
          "dn: " + baseDN1 + "\n"
              + "objectClass: top\n"
              + "objectClass: organizationalUnit\n"
              + "entryUUID: 66666666-6666-6666-6666-666666666666\n"));
      connection.processAdd(TestCaseUtils.makeEntry(
          "dn: " + baseDN1,
          "objectClass: top",
          "objectClass: organizationalUnit",
          "entryUUID: 66666666-6666-6666-6666-666666666666"));
      // - publish msg
      updateMonitorCount(baseDN, resolvedMonitorAttr);
@@ -1290,24 +1319,30 @@
      CSNGenerator gen = new CSNGenerator(serverId, 0);
      // Create a test entry.
      Entry tmp = TestCaseUtils.entryFromLdifString(
      "dn: uid=user.2," + baseDN + "\n"
          + "objectClass: top\n" + "objectClass: person\n"
          + "objectClass: organizationalPerson\n"
          + "objectClass: inetOrgPerson\n" + "uid: user.2\n"
          + "homePhone: 951-245-7634\n"
          + "description: This is the description for Aaccf Amar.\n"
          + "st: NC\n"
          + "mobile: 027-085-0537\n"
          + "postalAddress: Aaccf Amar$17984 Thirteenth Street"
          + "$Rockford, NC  85762\n" + "mail: user.1@example.com\n"
          + "cn: Aaccf Amar\n" + "l: Rockford\n" + "pager: 508-763-4246\n"
          + "street: 17984 Thirteenth Street\n"
          + "telephoneNumber: 216-564-6748\n" + "employeeNumber: 1\n"
          + "sn: Amar\n" + "givenName: Aaccf\n" + "postalCode: 85762\n"
          + "userPassword: password\n" + "initials: AA\n");
      AddOperation addOp = connection.processAdd(tmp);
      assertEquals(addOp.getResultCode(), ResultCode.SUCCESS);
      Entry tmp = TestCaseUtils.addEntry(
          "dn: uid=user.2," + baseDN,
          "objectClass: top",
          "objectClass: person",
          "objectClass: organizationalPerson",
          "objectClass: inetOrgPerson",
          "uid: user.2",
          "homePhone: 951-245-7634",
          "description: This is the description for Aaccf Amar.",
          "st: NC",
          "mobile: 027-085-0537",
          "postalAddress: Aaccf Amar$17984 Thirteenth Street $Rockford, NC  85762",
          "mail: user.1@example.com",
          "cn: Aaccf Amar",
          "l: Rockford",
          "pager: 508-763-4246",
          "street: 17984 Thirteenth Street",
          "telephoneNumber: 216-564-6748",
          "employeeNumber: 1",
          "sn: Amar",
          "givenName: Aaccf",
          "postalCode: 85762",
          "userPassword: password",
          "initials: AA");
      long initialCount = getMonitorAttrValue(baseDN, "replayed-updates");
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPAuthenticationHandlerTestCase.java
@@ -37,15 +37,12 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.ResultCode;
import org.opends.server.TestCaseUtils;
import org.opends.server.api.SASLMechanismHandler;
import org.opends.server.controls.PasswordPolicyRequestControl;
import org.opends.server.core.AddOperation;
import org.opends.server.core.DirectoryServer;
import org.opends.server.extensions.AnonymousSASLMechanismHandler;
import org.opends.server.types.Control;
import org.opends.server.types.Entry;
import org.opends.server.types.LDAPException;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
@@ -53,7 +50,6 @@
import com.forgerock.opendj.cli.ClientException;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.testng.Assert.*;
/**
@@ -716,8 +712,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -731,10 +726,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    SASLMechanismHandler<?> cramMD5Handler =
         DirectoryServer.getSASLMechanismHandler("CRAM-MD5");
    DirectoryServer.deregisterSASLMechanismHandler("CRAM-MD5");
@@ -784,8 +775,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -799,9 +789,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -928,8 +915,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -943,9 +929,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -990,8 +973,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1003,9 +985,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -1221,8 +1200,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1236,9 +1214,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -1279,8 +1254,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1294,9 +1268,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    SASLMechanismHandler<?> digestMD5Handler =
         DirectoryServer.getSASLMechanismHandler("DIGEST-MD5");
@@ -1352,8 +1323,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1367,9 +1337,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -1410,8 +1377,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1425,9 +1391,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -1720,8 +1683,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1735,9 +1697,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -2189,8 +2148,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -2204,9 +2162,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -2256,8 +2211,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -2269,9 +2223,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -2322,8 +2273,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -2337,9 +2287,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -2382,8 +2329,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -2394,9 +2340,6 @@
         "sn: User",
         "cn: Test User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    SASLMechanismHandler<?> externalHandler =
         DirectoryServer.getSASLMechanismHandler("EXTERNAL");
@@ -2454,8 +2397,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -2466,9 +2408,6 @@
         "sn: User",
         "cn: Test User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath   = DirectoryServer.getInstanceRoot() + File.separator +
                            "config" + File.separator + "client.keystore";
@@ -2514,8 +2453,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -2526,9 +2464,6 @@
         "sn: User",
         "cn: Test User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    SASLMechanismHandler<?> externalHandler =
         DirectoryServer.getSASLMechanismHandler("EXTERNAL");
@@ -2590,8 +2525,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -2602,9 +2536,6 @@
         "sn: User",
         "cn: Test User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath   = DirectoryServer.getInstanceRoot() + File.separator +
                            "config" + File.separator + "client.keystore";
@@ -3229,8 +3160,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -3242,9 +3172,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    SASLMechanismHandler<?> plainHandler =
         DirectoryServer.getSASLMechanismHandler("PLAIN");
@@ -3295,8 +3222,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -3308,9 +3234,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -3681,8 +3604,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -3694,9 +3616,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -3735,8 +3654,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -3748,9 +3666,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -3873,8 +3788,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -3886,9 +3800,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -3962,8 +3873,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -3977,9 +3887,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -4020,8 +3927,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -4035,9 +3941,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
@@ -4079,8 +3982,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -4091,9 +3993,6 @@
         "sn: User",
         "cn: Test User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath   = DirectoryServer.getInstanceRoot() + File.separator +
                            "config" + File.separator + "client.keystore";
@@ -4140,8 +4039,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -4153,9 +4051,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort());
    LDAPReader r = new LDAPReader(s);
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPCompareTestCase.java
@@ -31,13 +31,10 @@
import java.util.ArrayList;
import java.util.concurrent.atomic.AtomicInteger;
import org.forgerock.opendj.ldap.ResultCode;
import org.opends.server.TestCaseUtils;
import org.opends.server.api.Backend;
import org.opends.server.core.AddOperation;
import org.opends.server.core.DirectoryServer;
import org.opends.server.types.DN;
import org.opends.server.types.Entry;
import org.opends.server.util.Base64;
import org.opends.server.util.StaticUtils;
import org.testng.annotations.AfterClass;
@@ -45,13 +42,13 @@
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.opends.server.protocols.ldap.LDAPResultCode.*;
import static org.testng.Assert.*;
/**
 * A set of test cases for the LDAPCompare tool.
 */
@SuppressWarnings("javadoc")
public class LDAPCompareTestCase
       extends ToolsTestCase
{
@@ -887,8 +884,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -899,9 +895,6 @@
         "ds-privilege-name: bypass-acl",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath   = DirectoryServer.getInstanceRoot() + File.separator +
                            "config" + File.separator + "client.keystore";
@@ -956,8 +949,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -968,9 +960,6 @@
         "ds-privilege-name: bypass-acl",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath   = DirectoryServer.getInstanceRoot() + File.separator +
                            "config" + File.separator + "client.keystore";
@@ -1027,8 +1016,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1039,9 +1027,6 @@
         "ds-privilege-name: bypass-acl",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath   = DirectoryServer.getInstanceRoot() + File.separator +
                            "config" + File.separator + "client.keystore";
@@ -1079,8 +1064,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1091,9 +1075,6 @@
         "ds-privilege-name: bypass-acl",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath   = DirectoryServer.getInstanceRoot() + File.separator +
                            "config" + File.separator + "client.keystore";
@@ -1147,8 +1128,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1163,9 +1143,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
@@ -1210,8 +1187,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1227,9 +1203,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
@@ -1276,8 +1249,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -1289,9 +1261,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPDeleteTestCase.java
@@ -30,17 +30,13 @@
import java.io.FileWriter;
import java.util.ArrayList;
import org.forgerock.opendj.ldap.ResultCode;
import org.opends.server.TestCaseUtils;
import org.opends.server.core.AddOperation;
import org.opends.server.core.DirectoryServer;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.Entry;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.opends.server.util.ServerConstants.*;
import static org.testng.Assert.*;
@@ -582,8 +578,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -595,9 +590,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
@@ -705,8 +697,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -718,9 +709,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String path = TestCaseUtils.createTempFile(
         "o=test",
@@ -757,8 +745,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -770,9 +757,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
@@ -800,8 +784,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -813,9 +796,6 @@
         "cn: Test User",
         "userPassword: password");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPModifyTestCase.java
@@ -26,41 +26,35 @@
 */
package org.opends.server.tools;
import java.io.File;
import java.io.FileWriter;
import java.util.ArrayList;
import org.forgerock.opendj.ldap.ResultCode;
import org.opends.server.TestCaseUtils;
import org.opends.server.core.AddOperation;
import org.opends.server.core.DirectoryServer;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.Entry;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.opends.server.util.ServerConstants.*;
import static org.testng.Assert.*;
/**
 * A set of test cases for the LDAPModify tool.
 */
@SuppressWarnings("javadoc")
public class LDAPModifyTestCase
       extends ToolsTestCase
{
  // The path to a file containing an invalid bind password.
  /** The path to a file containing an invalid bind password. */
  private String invalidPasswordFile;
  // The path to a file containing a valid bind password.
  /** The path to a file containing a valid bind password. */
  private String validPasswordFile;
  // The path to a file containing a simple, valid modification.
  /** The path to a file containing a simple, valid modification. */
  private String modifyFilePath;
@@ -537,8 +531,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -549,9 +542,6 @@
         "ds-privilege-name: bypass-acl",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath   = DirectoryServer.getInstanceRoot() + File.separator +
                            "config" + File.separator + "client.keystore";
@@ -587,8 +577,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -599,9 +588,6 @@
         "ds-privilege-name: bypass-acl",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath   = DirectoryServer.getInstanceRoot() + File.separator +
                            "config" + File.separator + "client.keystore";
@@ -638,8 +624,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -650,9 +635,6 @@
         "ds-privilege-name: bypass-acl",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath   = DirectoryServer.getInstanceRoot() + File.separator +
                            "config" + File.separator + "client.keystore";
@@ -689,8 +671,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -701,9 +682,6 @@
         "ds-privilege-name: bypass-acl",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath   = DirectoryServer.getInstanceRoot() + File.separator +
                            "config" + File.separator + "client.keystore";
@@ -738,8 +716,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -754,9 +731,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
@@ -784,8 +758,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -800,9 +773,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
@@ -1176,16 +1146,12 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: ou=People,o=test",
         "objectClass: top",
         "objectClass: organizationalUnit",
         "ou: People");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String path = TestCaseUtils.createTempFile(
         "dn: ou=People,o=test",
         "changetype: moddn",
@@ -1220,16 +1186,12 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: ou=People,o=test",
         "objectClass: top",
         "objectClass: organizationalUnit",
         "ou: People");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String path = TestCaseUtils.createTempFile(
         "dn: ou=People,o=test",
         "changetype: moddn",
@@ -1351,16 +1313,12 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: ou=People,o=test",
         "objectClass: top",
         "objectClass: organizationalUnit",
         "ou: People");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String path = TestCaseUtils.createTempFile("dn: ou=People,o=test",
                                               "changetype: moddn",
                                               "newRDN: ou=Users",
@@ -1480,16 +1438,12 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: ou=People,o=test",
         "objectClass: top",
         "objectClass: organizationalUnit",
         "ou: People");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String path = TestCaseUtils.createTempFile("dn: ou=People,o=test",
                                               "changetype: moddn",
                                               "newRDN: ou=Users",
@@ -1613,16 +1567,12 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: ou=People,o=test",
         "objectClass: top",
         "objectClass: organizationalUnit",
         "ou: People");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String path = TestCaseUtils.createTempFile("dn: ou=People,o=test",
                                               "changetype: moddn",
                                               "newRDN: ou=Users",
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPSearchTestCase.java
@@ -32,23 +32,20 @@
import java.util.Arrays;
import java.util.List;
import org.forgerock.opendj.ldap.ResultCode;
import org.opends.server.TestCaseUtils;
import org.opends.server.core.AddOperation;
import org.opends.server.core.DirectoryServer;
import org.opends.server.types.Entry;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.opends.server.util.ServerConstants.*;
import static org.testng.Assert.*;
/**
 * A set of test cases for the LDAPSearch tool.
 */
@SuppressWarnings("javadoc")
public class LDAPSearchTestCase
       extends ToolsTestCase
{
@@ -619,8 +616,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -630,9 +626,6 @@
         "givenName: Test",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath   = DirectoryServer.getInstanceRoot() + File.separator +
                            "config" + File.separator + "client.keystore";
@@ -670,8 +663,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -681,9 +673,6 @@
         "givenName: Test",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath   = DirectoryServer.getInstanceRoot() + File.separator +
                            "config" + File.separator + "client.keystore";
@@ -722,8 +711,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -733,9 +721,6 @@
         "givenName: Test",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath   = DirectoryServer.getInstanceRoot() + File.separator +
                            "config" + File.separator + "client.keystore";
@@ -774,8 +759,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: cn=Test User,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -785,9 +769,6 @@
         "givenName: Test",
         "sn: User");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String keyStorePath   = DirectoryServer.getInstanceRoot() + File.separator +
                            "config" + File.separator + "client.keystore";
@@ -824,8 +805,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -839,9 +819,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
@@ -871,8 +848,7 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry(
    TestCaseUtils.addEntry(
         "dn: uid=test.user,o=test",
         "objectClass: top",
         "objectClass: person",
@@ -886,9 +862,6 @@
         "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
              "cn=Password Policies,cn=config");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
@@ -1445,15 +1418,11 @@
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    Entry e = TestCaseUtils.makeEntry("dn: cn=test,o=test",
    TestCaseUtils.addEntry("dn: cn=test,o=test",
                                      "objectClass: top",
                                      "objectClass: ldapSubEntry",
                                      "cn: test");
    AddOperation addOperation = getRootConnection().processAdd(e);
    assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
    String[] args =
    {
      "-D", "cn=Directory Manager",
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/types/PrivilegeTestCase.java
@@ -30,7 +30,13 @@
import java.io.File;
import java.io.FileWriter;
import java.net.Socket;
import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.CopyOnWriteArraySet;
import org.forgerock.opendj.ldap.ByteString;
@@ -47,13 +53,28 @@
import org.opends.server.backends.task.TaskState;
import org.opends.server.controls.ProxiedAuthV1Control;
import org.opends.server.controls.ProxiedAuthV2Control;
import org.opends.server.core.*;
import org.opends.server.core.AddOperation;
import org.opends.server.core.AddOperationBasis;
import org.opends.server.core.CompareOperation;
import org.opends.server.core.CompareOperationBasis;
import org.opends.server.core.DeleteOperation;
import org.opends.server.core.DeleteOperationBasis;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.ModifyDNOperation;
import org.opends.server.core.ModifyDNOperationBasis;
import org.opends.server.core.ModifyOperation;
import org.opends.server.core.ModifyOperationBasis;
import org.opends.server.core.SchemaConfigManager;
import org.opends.server.protocols.internal.InternalClientConnection;
import org.opends.server.protocols.internal.InternalSearchOperation;
import org.opends.server.protocols.ldap.BindRequestProtocolOp;
import org.opends.server.protocols.ldap.BindResponseProtocolOp;
import org.opends.server.protocols.ldap.LDAPMessage;
import org.opends.server.tools.*;
import org.opends.server.tools.LDAPModify;
import org.opends.server.tools.LDAPPasswordModify;
import org.opends.server.tools.LDAPReader;
import org.opends.server.tools.LDAPSearch;
import org.opends.server.tools.LDAPWriter;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
@@ -381,26 +402,12 @@
  private void assertPrivilege(ResultCode actual, boolean hasPrivilege)
  {
    if (hasPrivilege)
    {
      assertEquals(actual, ResultCode.SUCCESS);
    }
    else
    {
      assertEquals(actual, ResultCode.INSUFFICIENT_ACCESS_RIGHTS);
    }
    assertEquals(actual, hasPrivilege ? SUCCESS : INSUFFICIENT_ACCESS_RIGHTS);
  }
  private void assertProxyPrivilege(ResultCode actual, boolean hasProxyPrivilege)
  {
    if (hasProxyPrivilege)
    {
      assertEquals(actual, ResultCode.SUCCESS);
    }
    else
    {
      assertEquals(actual, ResultCode.AUTHORIZATION_DENIED);
    }
    assertEquals(actual, hasProxyPrivilege ? SUCCESS : AUTHORIZATION_DENIED);
  }
  /**
@@ -428,12 +435,11 @@
             ByteString.valueOf("config"));
    if (hasPrivilege)
    {
      assertEquals(compareOperation.getResultCode(), ResultCode.COMPARE_TRUE);
      assertEquals(compareOperation.getResultCode(), COMPARE_TRUE);
    }
    else
    {
      assertEquals(compareOperation.getResultCode(),
                   ResultCode.INSUFFICIENT_ACCESS_RIGHTS);
      assertEquals(compareOperation.getResultCode(), INSUFFICIENT_ACCESS_RIGHTS);
    }
  }
@@ -553,13 +559,11 @@
    {
      // We don't support modify DN operations in the server configuration, but
      // at least we need to make sure we're getting past the privilege check.
      assertEquals(modifyDNOperation.getResultCode(),
                   ResultCode.UNWILLING_TO_PERFORM);
      assertEquals(modifyDNOperation.getResultCode(), UNWILLING_TO_PERFORM);
    }
    else
    {
      assertEquals(modifyDNOperation.getResultCode(),
                   ResultCode.INSUFFICIENT_ACCESS_RIGHTS);
      assertEquals(modifyDNOperation.getResultCode(), INSUFFICIENT_ACCESS_RIGHTS);
    }
  }
@@ -945,13 +949,18 @@
    }
    writer.close();
    Entry taskEntry = TestCaseUtils.makeEntry(
    assertPrivilege(conn, hasPrivilege,
      "dn: ds-task-id=" + UUID.randomUUID() + ",cn=Scheduled Tasks,cn=Tasks",
      "objectClass: top",
      "objectClass: ds-task",
      "objectClass: ds-task-add-schema-file",
      "ds-task-class-name: org.opends.server.tasks.AddSchemaFileTask",
      "ds-task-schema-file-name: 05-" + identifier + ".ldif");
  }
  private void assertPrivilege(InternalClientConnection conn, boolean hasPrivilege, String... lines) throws Exception
  {
    Entry taskEntry = TestCaseUtils.makeEntry(lines);
    AddOperation addOperation = conn.processAdd(taskEntry);
    assertPrivilege(addOperation.getResultCode(), hasPrivilege);
@@ -989,7 +998,7 @@
    assertEquals(conn.hasPrivilege(Privilege.BACKEND_BACKUP, null),
                 hasPrivilege);
    Entry taskEntry = TestCaseUtils.makeEntry(
    assertPrivilege(conn, hasPrivilege,
      "dn: ds-task-id=" + UUID.randomUUID() + ",cn=Scheduled Tasks,cn=Tasks",
      "objectclass: top",
      "objectclass: ds-task",
@@ -997,16 +1006,6 @@
      "ds-task-class-name: org.opends.server.tasks.BackupTask",
      "ds-backup-directory-path: bak",
      "ds-task-backup-all: TRUE");
    AddOperation addOperation = conn.processAdd(taskEntry);
    assertPrivilege(addOperation.getResultCode(), hasPrivilege);
    if (hasPrivilege)
    {
      Task task = getCompletedTask(taskEntry.getName());
      assertNotNull(task);
      assertTrue(TaskState.isSuccessful(task.getTaskState()));
    }
  }
@@ -1031,23 +1030,13 @@
    assertEquals(conn.hasPrivilege(Privilege.BACKEND_RESTORE, null),
                 hasPrivilege);
    Entry taskEntry = TestCaseUtils.makeEntry(
    assertPrivilege(conn, hasPrivilege,
      "dn: ds-task-id=" + UUID.randomUUID() + ",cn=Scheduled Tasks,cn=Tasks",
      "objectclass: top",
      "objectclass: ds-task",
      "objectclass: ds-task-restore",
      "ds-task-class-name: org.opends.server.tasks.RestoreTask",
      "ds-backup-directory-path: bak" + File.separator + "userRoot");
    AddOperation addOperation = conn.processAdd(taskEntry);
    assertPrivilege(addOperation.getResultCode(), hasPrivilege);
    if (hasPrivilege)
    {
      Task task = getCompletedTask(taskEntry.getName());
      assertNotNull(task);
      assertTrue(TaskState.isSuccessful(task.getTaskState()));
    }
  }
@@ -1074,24 +1063,19 @@
    String tempFilePath = tempFile.getAbsolutePath();
    tempFile.delete();
    Entry taskEntry = TestCaseUtils.makeEntry(
      "dn: ds-task-id=" + UUID.randomUUID() + ",cn=Scheduled Tasks,cn=Tasks",
      "objectclass: top",
      "objectclass: ds-task",
      "objectclass: ds-task-export",
      "ds-task-class-name: org.opends.server.tasks.ExportTask",
      "ds-task-export-backend-id: userRoot",
      "ds-task-export-ldif-file: " + tempFilePath);
    AddOperation addOperation = conn.processAdd(taskEntry);
    assertPrivilege(addOperation.getResultCode(), hasPrivilege);
    if (hasPrivilege)
    try
    {
      Task task = getCompletedTask(taskEntry.getName());
      assertNotNull(task);
      assertTrue(TaskState.isSuccessful(task.getTaskState()));
      assertPrivilege(conn, hasPrivilege,
          "dn: ds-task-id=" + UUID.randomUUID() + ",cn=Scheduled Tasks,cn=Tasks",
          "objectclass: top",
          "objectclass: ds-task",
          "objectclass: ds-task-export",
          "ds-task-class-name: org.opends.server.tasks.ExportTask",
          "ds-task-export-backend-id: userRoot",
          "ds-task-export-ldif-file: " + tempFilePath);
    }
    finally
    {
      tempFile.delete();
    }
  }
@@ -1122,7 +1106,7 @@
      "objectClass: domain",
      "dc: example");
    Entry taskEntry = TestCaseUtils.makeEntry(
    assertPrivilege(conn, hasPrivilege,
      "dn: ds-task-id=" + UUID.randomUUID() + ",cn=Scheduled Tasks,cn=Tasks",
      "objectclass: top",
      "objectclass: ds-task",
@@ -1130,16 +1114,6 @@
      "ds-task-class-name: org.opends.server.tasks.ImportTask",
      "ds-task-import-backend-id: userRoot",
      "ds-task-import-ldif-file: " + path);
    AddOperation addOperation = conn.processAdd(taskEntry);
    assertPrivilege(addOperation.getResultCode(), hasPrivilege);
    if (hasPrivilege)
    {
      Task task = getCompletedTask(taskEntry.getName());
      assertNotNull(task);
      assertTrue(TaskState.isSuccessful(task.getTaskState()));
    }
  }
  /**
@@ -1159,7 +1133,7 @@
  {
    assertEquals(conn.hasPrivilege(Privilege.LDIF_IMPORT, null), hasPrivilege);
    Entry taskEntry = TestCaseUtils.makeEntry(
    assertPrivilege(conn, hasPrivilege,
      "dn: ds-task-id=" + UUID.randomUUID() + ",cn=Scheduled Tasks,cn=Tasks",
      "objectclass: top",
      "objectclass: ds-task",
@@ -1167,16 +1141,6 @@
      "ds-task-class-name: org.opends.server.tasks.RebuildTask",
      "ds-task-rebuild-base-dn: dc=example,dc=com",
      "ds-task-rebuild-index: cn");
    AddOperation addOperation = conn.processAdd(taskEntry);
    assertPrivilege(addOperation.getResultCode(), hasPrivilege);
    if (hasPrivilege)
    {
      Task task = getCompletedTask(taskEntry.getName());
      assertNotNull(task);
      assertTrue(TaskState.isSuccessful(task.getTaskState()));
    }
  }
@@ -1308,7 +1272,6 @@
                              DirectoryServer.getAttributeType("cn", true),
                              ByteString.valueOf("PWReset Target"));
    compareOperation.run();
    if (hasProxyPrivilege)
    {
      assertEquals(compareOperation.getResultCode(), COMPARE_TRUE);
@@ -1460,7 +1423,6 @@
                              DirectoryServer.getAttributeType("cn", true),
             ByteString.valueOf("PWReset Target"));
    compareOperation.run();
    if (hasProxyPrivilege)
    {
      assertEquals(compareOperation.getResultCode(), COMPARE_TRUE);