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 2010/07/30 13:37:52 UTC

svn commit: r980741 - /directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/admin/AdministrativePointServiceIT.java

Author: elecharny
Date: Fri Jul 30 11:37:51 2010
New Revision: 980741

URL: http://svn.apache.org/viewvc?rev=980741&view=rev
Log:
o Added tests for modifications of administrative roles

Modified:
    directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/admin/AdministrativePointServiceIT.java

Modified: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/admin/AdministrativePointServiceIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/admin/AdministrativePointServiceIT.java?rev=980741&r1=980740&r2=980741&view=diff
==============================================================================
--- directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/admin/AdministrativePointServiceIT.java (original)
+++ directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/admin/AdministrativePointServiceIT.java Fri Jul 30 11:37:51 2010
@@ -42,6 +42,7 @@ import org.apache.directory.shared.ldap.
 import org.apache.directory.shared.ldap.message.ResultCodeEnum;
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
@@ -366,6 +367,183 @@ public class AdministrativePointServiceI
 
 
     /**
+     * Test the deletion of all the roles
+     * @throws Exception
+     */
+    @Test
+    public void testModifyDeleteAll() throws Exception
+    {
+        // Inject an CASA
+        Entry caArea = LdifUtils.createEntry(
+            "ou=caArea, ou=system",
+            "ObjectClass: top",
+            "ObjectClass: organizationalUnit",
+            "ou: caArea",
+            "administrativeRole: collectiveAttributeSpecificArea",
+            "administrativeRole: accessControlSpecificArea"
+            );
+
+        connection.add( caArea );
+
+        // Add another specific area
+        Modification modification = new DefaultModification(
+                                            ModificationOperation.REMOVE_ATTRIBUTE,
+                                            new DefaultEntryAttribute( "administrativeRole" ) );
+        ModifyResponse response = connection.modify( "ou=caArea, ou=system", modification );
+
+        assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
+        Entry entry = getAdminRole( "ou=caArea, ou=system" );
+
+        assertFalse( entry.contains( "administrativeRole" ) );
+    }
+
+
+    /**
+     * Test the deletion of all the roles
+     * @throws Exception
+     */
+    @Test
+    public void testModifyDeleteAll2() throws Exception
+    {
+        // Inject an CASA
+        Entry caArea = LdifUtils.createEntry(
+            "ou=caArea, ou=system",
+            "ObjectClass: top",
+            "ObjectClass: organizationalUnit",
+            "ou: caArea",
+            "administrativeRole: collectiveAttributeSpecificArea",
+            "administrativeRole: accessControlSpecificArea"
+            );
+
+        connection.add( caArea );
+
+        // Add another specific area
+        Modification modification = new DefaultModification(
+                                            ModificationOperation.REMOVE_ATTRIBUTE,
+                                            new DefaultEntryAttribute(
+                                                "administrativeRole",
+                                                    "collectiveAttributeSpecificArea", "accessControlSpecificArea" ) );
+        ModifyResponse response = connection.modify( "ou=caArea, ou=system", modification );
+
+        assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
+        Entry entry = getAdminRole( "ou=caArea, ou=system" );
+
+        assertFalse( entry.contains( "administrativeRole" ) );
+    }
+
+
+    /**
+     * Test the deletion of some role
+     * @throws Exception
+     */
+    @Test
+    public void testModifyDeleteSomeRole() throws Exception
+    {
+        // Inject an CASA
+        Entry caArea = LdifUtils.createEntry(
+            "ou=caArea, ou=system",
+            "ObjectClass: top",
+            "ObjectClass: organizationalUnit",
+            "ou: caArea",
+            "administrativeRole: collectiveAttributeSpecificArea",
+            "administrativeRole: accessControlSpecificArea"
+            );
+
+        connection.add( caArea );
+
+        // Add another specific area
+        Modification modification = new DefaultModification(
+                                            ModificationOperation.REMOVE_ATTRIBUTE,
+                                            new DefaultEntryAttribute(
+                                                "administrativeRole",
+                                                    "accessControlSpecificArea" ) );
+        ModifyResponse response = connection.modify( "ou=caArea, ou=system", modification );
+
+        assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
+        Entry entry = getAdminRole( "ou=caArea, ou=system" );
+
+        assertTrue( entry.contains( "administrativeRole" ) );
+        assertTrue( entry.contains( "administrativeRole", "collectiveAttributeSpecificArea" ) );
+        assertFalse( entry.contains( "administrativeRole", "accessControlSpecificArea" ) );
+    }
+
+
+    /**
+     * Test the deletion of some role
+     * @throws Exception
+     */
+    @Test
+    public void testModifyDeleteSomeInexistingRole() throws Exception
+    {
+        // Inject an CASA
+        Entry caArea = LdifUtils.createEntry(
+            "ou=caArea, ou=system",
+            "ObjectClass: top",
+            "ObjectClass: organizationalUnit",
+            "ou: caArea",
+            "administrativeRole: collectiveAttributeSpecificArea",
+            "administrativeRole: accessControlSpecificArea"
+            );
+
+        connection.add( caArea );
+
+        // Add another specific area
+        Modification modification = new DefaultModification(
+                                            ModificationOperation.REMOVE_ATTRIBUTE,
+                                            new DefaultEntryAttribute(
+                                                "administrativeRole",
+                                                    "triggerExecutionSpecificArea" ) );
+        ModifyResponse response = connection.modify( "ou=caArea, ou=system", modification );
+
+        assertEquals( ResultCodeEnum.NO_SUCH_ATTRIBUTE, response.getLdapResult().getResultCode() );
+    }
+
+
+    /**
+     * Test the a combined operation
+     * @throws Exception
+     */
+    @Test
+    @Ignore // Until the ExceptionInterceptor to be fixed
+    public void testModifyCombined() throws Exception
+    {
+        // Inject an CASA
+        Entry caArea = LdifUtils.createEntry(
+            "ou=caArea, ou=system",
+            "ObjectClass: top",
+            "ObjectClass: organizationalUnit",
+            "ou: caArea",
+            "administrativeRole: collectiveAttributeSpecificArea",
+            "administrativeRole: accessControlSpecificArea"
+            );
+
+        connection.add( caArea );
+
+        // Add another specific area
+        Modification modification1 = new DefaultModification(
+            ModificationOperation.ADD_ATTRIBUTE,
+            new DefaultEntryAttribute(
+                "administrativeRole",
+                    "triggerExecutionSpecificArea" ) );
+        Modification modification2 = new DefaultModification(
+            ModificationOperation.REMOVE_ATTRIBUTE,
+            new DefaultEntryAttribute(
+                "administrativeRole",
+                    "triggerExecutionSpecificArea" ) );
+
+        ModifyResponse response = connection.modify( "ou=caArea, ou=system", modification1, modification2, modification1);
+
+        assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
+        Entry entry = getAdminRole( "ou=caArea, ou=system" );
+
+        assertTrue( entry.contains( "administrativeRole" ) );
+        assertTrue( entry.contains( "administrativeRole", "collectiveAttributeSpecificArea" ) );
+        assertTrue( entry.contains( "administrativeRole", "accessControlSpecificArea" ) );
+        assertTrue( entry.contains( "administrativeRole", "triggerExecutionSpecificArea" ) );
+    }
+
+
+    /**
      * Test the replace modification : it's not supported
      * @throws Exception
      */