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

matthew_swift
10.15.2009 8e5f49c8e7505710e9b1f5167ee1ab37aac2a1ba
Add test-case for issue 3638 - disabled until fix is provided.
1 files modified
119 ■■■■■ changed files
opends/tests/unit-tests-testng/src/server/org/opends/server/core/BindOperationTestCase.java 119 ●●●●● patch | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/core/BindOperationTestCase.java
@@ -22,7 +22,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Copyright 2006-2009 Sun Microsystems, Inc.
 */
package org.opends.server.core;
@@ -30,6 +30,7 @@
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
@@ -39,8 +40,6 @@
import org.opends.server.plugins.DisconnectClientPlugin;
import org.opends.server.plugins.InvocationCounterPlugin;
import org.opends.server.plugins.ShortCircuitPlugin;
import org.opends.server.protocols.asn1.ASN1Reader;
import org.opends.server.protocols.asn1.ASN1Writer;
import org.opends.server.protocols.internal.InternalClientConnection;
import org.opends.server.protocols.ldap.*;
import org.opends.server.tools.LDAPSearch;
@@ -79,45 +78,45 @@
    BindOperation[] simpleBinds = new BindOperation[]
    {
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        null, "3", ByteString.empty(),
                        ByteString.empty()),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", ByteString.empty(),
                        ByteString.empty()),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        null, "3", nullOS, ByteString.empty()),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", nullOS, ByteString.empty()),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        null, "3", ByteString.empty(), nullOS),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", ByteString.empty(), nullOS),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        null, "3", nullOS, nullOS),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", nullOS, nullOS),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3",
                        ByteString.valueOf("cn=Directory Manager"),
                        ByteString.valueOf("password")),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        null, "3", DN.nullDN(), ByteString.empty()),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", DN.nullDN(), ByteString.empty()),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        null, "3", nullDN, ByteString.empty()),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", nullDN, ByteString.empty()),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        null, "3", DN.nullDN(), nullOS),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", DN.nullDN(), nullOS),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        null, "3", nullDN, nullOS),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", nullDN, nullOS),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", DN.decode("cn=Directory Manager"),
                        ByteString.valueOf("password"))
    };
@@ -152,45 +151,45 @@
    BindOperation[] saslBinds = new BindOperation[]
    {
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        null, "3", ByteString.empty(), "EXTERNAL", null),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", ByteString.empty(), "EXTERNAL",
                        null),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        null, "3", nullOS, "EXTERNAL", null),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", nullOS, "EXTERNAL", null),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        null, "3", ByteString.empty(), "PLAIN",
                        ByteString.valueOf("\u0000u:test.user\u0000password")),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", ByteString.empty(), "PLAIN",
                        ByteString.valueOf("\u0000u:test.user\u0000password")),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        null, "3", nullOS, "PLAIN",
                        ByteString.valueOf("\u0000u:test.user\u0000password")),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", nullOS, "PLAIN",
                        ByteString.valueOf("\u0000u:test.user\u0000password")),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        null, "3", DN.nullDN(), "EXTERNAL", null),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", DN.nullDN(), "EXTERNAL", null),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        null, "3", nullDN, "EXTERNAL", null),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", nullDN, "EXTERNAL", null),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        null, "3", DN.nullDN(), "PLAIN",
                        ByteString.valueOf("\u0000u:test.user\u0000password")),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", DN.nullDN(), "PLAIN",
                        ByteString.valueOf("\u0000u:test.user\u0000password")),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        null, "3", nullDN, "PLAIN",
                        ByteString.valueOf("\u0000u:test.user\u0000password")),
      new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
      new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                        noControls, "3", nullDN, "PLAIN",
                        ByteString.valueOf("\u0000u:test.user\u0000password"))
    };
@@ -1642,7 +1641,7 @@
    requestControls.add(new LDAPControl("1.2.3.4", true));
    BindOperationBasis bindOperation =
         new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
         new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                           requestControls, "3", DN.nullDN(),
                        ByteString.empty());
    bindOperation.run();
@@ -1669,7 +1668,7 @@
         ByteString.valueOf("\u0000dn:cn=Directory Manager\u0000password");
    BindOperationBasis bindOperation =
         new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
         new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                           requestControls, "3", DN.nullDN(), "PLAIN",
                        saslCreds);
    bindOperation.run();
@@ -1693,7 +1692,7 @@
    requestControls.add(new LDAPControl("1.2.3.4", false));
    BindOperationBasis bindOperation =
         new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
         new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                           requestControls, "3", DN.nullDN(),
                           ByteString.empty());
@@ -1720,7 +1719,7 @@
         ByteString.valueOf("\u0000dn:cn=Directory Manager\u0000password");
    BindOperationBasis bindOperation =
         new BindOperationBasis(conn, conn.nextOperationID(), conn.nextMessageID(),
         new BindOperationBasis(conn, InternalClientConnection.nextOperationID(), InternalClientConnection.nextMessageID(),
                           requestControls, "3", DN.nullDN(), "PLAIN",
                           saslCreds);
    bindOperation.run();
@@ -1856,6 +1855,42 @@
  /**
   * Tests performing a simple bind operation as a user who exists on
   * another server for which a named subordinate reference exists.
   *
   * @throws  Exception  If an unexpected problem occurs.
   */
  @Test(enabled=false)
  public void testSimpleBindReferral()
         throws Exception
  {
    TestCaseUtils.initializeTestBackend(true);
    TestCaseUtils.addEntry(
         "dn: ou=people,o=test",
         "objectClass: top",
         "objectClass: referral",
         "objectClass: extensibleObject",
         "ou: people",
         "ref: ldap://example.com:1389/ou=people,o=test");
    InternalClientConnection conn =
         InternalClientConnection.getRootConnection();
    BindOperation bindOperation =
         conn.processSimpleBind(ByteString.valueOf("uid=test,ou=people,o=test"),
                                ByteString.valueOf("password"));
    assertEquals(bindOperation.getResultCode(), ResultCode.REFERRAL);
    List<String> referralURLs = bindOperation.getReferralURLs();
    assertNotNull(referralURLs);
    assertEquals(referralURLs.size(), 1);
    assertEquals(referralURLs.get(0), "ldap://example.com:1389/ou=people,o=test");
  }
  /**
   * Tests performing a simple bind operation with a valid DN but incorrect
   * password.
   */
@@ -2272,6 +2307,7 @@
  /**
   * Tests the <CODE>cancel</CODE> method to ensure that it indicates that the
   * operation cannot be cancelled.
   * @param bindOperation The bind operation.
   */
  @Test(dataProvider = "simpleBinds")
  public void testCancel(BindOperation bindOperation)
@@ -2286,6 +2322,7 @@
  /**
   * Tests the <CODE>getCancelRequest</CODE> method to ensure that it always
   * returns <CODE>null</CODE>.
   * @param bindOperation The bind operation.
   */
  @Test(dataProvider = "simpleBinds")
  public void testGetCancelRequest(BindOperation bindOperation)