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

matthew_swift
10.15.2009 54f91bc6ace046d21c5124e371ae046c07d5d222
Add test-case for issue 3638 - disabled until fix is provided.
1 files modified
119 ■■■■■ changed files
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/core/BindOperationTestCase.java 119 ●●●●● patch | view | raw | blame | history
opendj-sdk/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)