From cf8f87d5d90ff00e0106964e95a29ee00591c89a Mon Sep 17 00:00:00 2001
From: dugan <dugan@localhost>
Date: Fri, 22 Sep 2006 22:37:40 +0000
Subject: [PATCH] Add UnbindRequestProtocolOp unit test
---
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/LdapTestCase.java | 47 +++++++++++++++--------
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestUnbindRequestProtocolOp.java | 71 +++++++++++++++++++++++++++++++++++
2 files changed, 101 insertions(+), 17 deletions(-)
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/LdapTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/LdapTestCase.java
index 54fc777..7fac489 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/LdapTestCase.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/LdapTestCase.java
@@ -27,27 +27,13 @@
package org.opends.server.protocols.ldap ;
import org.opends.server.DirectoryServerTestCase;
-import org.opends.server.api.ClientConnection;
-import org.opends.server.api.ConnectionHandler;
-import org.opends.server.api.ConnectionSecurityProvider;
-import org.opends.server.core.CancelRequest;
-import org.opends.server.core.CancelResult;
-import org.opends.server.core.Operation;
-import org.opends.server.core.SearchOperation;
import org.opends.server.protocols.asn1.ASN1Boolean;
import org.opends.server.protocols.asn1.ASN1Element;
+import org.opends.server.protocols.asn1.ASN1Long;
import org.opends.server.protocols.asn1.ASN1Sequence;
-import org.opends.server.types.DisconnectReason;
-import org.opends.server.types.IntermediateResponse;
-import org.opends.server.types.SearchResultEntry;
-import org.opends.server.types.SearchResultReference;
import org.testng.annotations.Test;
-import java.net.InetAddress;
-import java.nio.ByteBuffer;
-import java.nio.channels.SocketChannel;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.LinkedList;
import java.util.ListIterator;
@@ -94,7 +80,28 @@
return !(e1.hasNext() || e2.hasNext());
}
- static void
+ /**
+ * Generate an exception by writing a long into a integer element.
+ * @param op The op.
+ * @param type The type of sequence.
+ * @param index The index into the element to write to.
+ * @throws Exception If the protocol op decode can't write the sequence.
+ */
+static void
+ badIntegerElement(ProtocolOp op, byte type, int index) throws Exception {
+ ASN1Element element = op.encode();
+ ArrayList<ASN1Element> elements = ((ASN1Sequence)element).elements();
+ elements.set(index, new ASN1Long(Long.MAX_VALUE));
+ ProtocolOp.decode(new ASN1Sequence(type, elements));
+ }
+
+ /**
+ * Generate an exception by adding an element.
+ * @param op The op.
+ * @param type The type of sequence.
+ * @throws Exception If the protocol op decode has too many elements.
+ */
+static void
tooManyElements(ProtocolOp op, byte type) throws Exception
{
ASN1Element element = op.encode();
@@ -103,7 +110,13 @@
ProtocolOp.decode(new ASN1Sequence(type, elements));
}
- static void
+/**
+ * Generate an excepting by removing an element.
+ * @param op The op.
+ * @param type The type of sequence.
+ * @throws Exception If the protocol op decode has too few elements.
+ */
+static void
tooFewElements(ProtocolOp op, byte type) throws Exception
{
ASN1Element element = op.encode();
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestUnbindRequestProtocolOp.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestUnbindRequestProtocolOp.java
new file mode 100644
index 0000000..da452a5
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestUnbindRequestProtocolOp.java
@@ -0,0 +1,71 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.protocols.ldap;
+
+import org.opends.server.TestCaseUtils;
+import org.opends.server.protocols.asn1.ASN1Element;
+import org.opends.server.protocols.ldap.UnbindRequestProtocolOp;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+import static org.testng.Assert.*;
+
+
+public class TestUnbindRequestProtocolOp extends LdapTestCase {
+
+ /**
+ * Once-only initialization.
+ *
+ * @throws Exception
+ * If an unexpected error occurred.
+ */
+ @BeforeClass
+ public void setUp() throws Exception {
+ // This test suite depends on having the schema available, so we'll
+ // start the server.TestBindResponseProtocolOp
+ TestCaseUtils.startServer();
+ }
+
+
+ @Test()
+ public void testUnbindRequest() throws Exception {
+ UnbindRequestProtocolOp req = new UnbindRequestProtocolOp();
+ ASN1Element reqElem=req.encode();
+ ProtocolOp reqOp= ProtocolOp.decode(reqElem);
+ assertTrue(reqOp.getProtocolOpName() == req.getProtocolOpName());
+ assertTrue(reqOp.getType() == req.getType());
+ }
+
+ @Test ()
+ public void testUnbindRequestToString() throws Exception
+ {
+ UnbindRequestProtocolOp r =
+ new UnbindRequestProtocolOp();
+ StringBuilder sb = new StringBuilder();
+ r.toString(sb);
+ r.toString(sb, 1);
+ }
+}
--
Gitblit v1.10.0