You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2008/07/10 18:44:07 UTC

svn commit: r675643 - /directory/apacheds/trunk/server-unit/src/test/java/org/apache/directory/server/ModifyAddTest.java

Author: elecharny
Date: Thu Jul 10 09:44:06 2008
New Revision: 675643

URL: http://svn.apache.org/viewvc?rev=675643&view=rev
Log:
Added a test for DIRSERVER-1198

Modified:
    directory/apacheds/trunk/server-unit/src/test/java/org/apache/directory/server/ModifyAddTest.java

Modified: directory/apacheds/trunk/server-unit/src/test/java/org/apache/directory/server/ModifyAddTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-unit/src/test/java/org/apache/directory/server/ModifyAddTest.java?rev=675643&r1=675642&r2=675643&view=diff
==============================================================================
--- directory/apacheds/trunk/server-unit/src/test/java/org/apache/directory/server/ModifyAddTest.java (original)
+++ directory/apacheds/trunk/server-unit/src/test/java/org/apache/directory/server/ModifyAddTest.java Thu Jul 10 09:44:06 2008
@@ -45,6 +45,9 @@
 import org.apache.directory.shared.ldap.message.AttributeImpl;
 import org.apache.directory.shared.ldap.message.AttributesImpl;
 import org.apache.directory.shared.ldap.message.ModificationItemImpl;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 
 
 /**
@@ -66,7 +69,7 @@
     /**
      * Creation of required attributes of a person entry.
      */
-    protected Attributes getPersonAttributes( String sn, String cn )
+    private Attributes getPersonAttributes( String sn, String cn )
     {
         Attributes attributes = new AttributesImpl();
         Attribute attribute = new AttributeImpl( "objectClass" );
@@ -85,6 +88,7 @@
     /**
      * Create context and a person entry.
      */
+    @Before
     protected void setUp() throws Exception
     {
         super.setUp();
@@ -114,6 +118,7 @@
     /**
      * Remove person entry and close context.
      */
+    @After
     protected void tearDown() throws Exception
     {
         ctx.unbind( RDN_TORI_AMOS );
@@ -129,6 +134,7 @@
      * 
      * @throws NamingException
      */
+    @Test
     public void testAddNewAttributeValue() throws NamingException
     {
         // Add telephoneNumber attribute
@@ -150,6 +156,7 @@
      * 
      * @throws NamingException
      */
+    @Test
     public void testAddNewAttributeValues() throws NamingException
     {
         // Add telephoneNumber attribute
@@ -177,6 +184,7 @@
      * 
      * @throws NamingException
      */
+    @Test
     public void testAddAdditionalAttributeValue() throws NamingException
     {
         // A new description attribute value
@@ -206,6 +214,7 @@
      * 
      * @throws NamingException
      */
+    @Test
     public void testAddExistingAttributeValue() throws NamingException
     {
         // Change description attribute
@@ -241,6 +250,7 @@
      * 
      * @throws NamingException
      */
+    @Test
     public void testAddExistingNthAttributesDirServer664() throws NamingException
     {
         // Change description attribute
@@ -287,6 +297,7 @@
      * 
      * @throws NamingException
      */
+    @Test
     public void testTwoDescriptionDirServer643() throws NamingException
     {
         // Change description attribute
@@ -315,6 +326,7 @@
      * 
      * @throws NamingException
      */
+    @Test
     public void testAddDuplicateValueToExistingAttribute() throws NamingException
     {
         // modify object classes, add a new value twice
@@ -347,6 +359,7 @@
      * 
      * @throws NamingException
      */
+    @Test
     public void testAddDuplicateValueToNewAttribute() throws NamingException
     {
         // add the same description value twice
@@ -374,6 +387,7 @@
      * 
      * @throws NamingException
      */
+    @Test
     public void testAddUnexistingAttribute() throws NamingException
     {
         Hashtable<String, Object> env = new Hashtable<String, Object>();
@@ -409,6 +423,7 @@
      * 
      * @throws NamingException
      */
+    @Test
     public void testSearchBadAttribute() throws NamingException
     {
         // Add a not existing attribute
@@ -436,6 +451,7 @@
      * 
      * @throws NamingException 
      */
+    @Test
     public void testAttributeValueMultiMofificationDIRSERVER_636() throws NamingException {
 
         // Create a person entry
@@ -489,6 +505,7 @@
      * 
      * @throws NamingException 
      */
+    @Test
     public void testModifyOperationalAttributeAdd() throws NamingException
     {
         ModificationItem modifyOp = new ModificationItemImpl( DirContext.ADD_ATTRIBUTE, new BasicAttribute(
@@ -520,6 +537,7 @@
      * 
      * @throws NamingException 
      */
+    @Test
      public void testDNAttributeMemberMofificationDIRSERVER_687() throws NamingException {
 
         // Create a person entry
@@ -558,6 +576,7 @@
      * @throws NamingException 
      * @see <a href="http://issues.apache.org/jira/browse/DIRSERVER-614">DIRSERVER-614</a>
      */
+    @Test
     public void testModifyAddWithInvalidNumberOfAttributeValues() throws NamingException
     {
         Attributes attrs = new AttributesImpl();
@@ -593,6 +612,7 @@
      * 
      * @throws NamingException
      */
+    @Test
     public void testAddNewBinaryAttributeValue() throws NamingException
     {
         // Add a binary attribute
@@ -609,4 +629,30 @@
         assertTrue( Arrays.equals( newValue, certificate ) );
         assertEquals( 1, attr.size() );
     }
+    
+    
+    /**
+     * Add a new ;binary attribute with bytes greater than 0x80
+     * to a person entry.
+     * Test for DIRSERVER-1146
+     *
+     * @throws NamingException
+     */
+    @Test
+    public void testAddNewBinaryAttributeValue0x80() throws NamingException
+    {
+        // Add a ;binary attribute with high-bytes
+        byte[] newValue = new byte[]{(byte)0x80, (byte)0x81, (byte)0x82, (byte)0x83};
+        Attributes attrs = new AttributesImpl( "userCertificate;binary", newValue );
+        ctx.modifyAttributes( RDN_TORI_AMOS, DirContext.ADD_ATTRIBUTE, attrs );
+        
+        // Verify, that attribute value is added
+        attrs = ctx.getAttributes( RDN_TORI_AMOS );
+        Attribute attr = attrs.get( "userCertificate" );
+        assertNotNull( attr );
+        assertTrue( attr.contains( newValue ) );
+        byte[] certificate = (byte[])attr.get();
+        assertTrue( Arrays.equals( newValue, certificate ) );
+        assertEquals( 1, attr.size() );
+    }
 }