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 2011/01/03 15:27:32 UTC
svn commit: r1054629 - in
/directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree:
AbstractSubentryUnitTest.java SubentryAddOperationIT.java
SubentryDeleteOperationIT.java SubentryLookupOperationIT.java
Author: elecharny
Date: Mon Jan 3 14:27:31 2011
New Revision: 1054629
URL: http://svn.apache.org/viewvc?rev=1054629&view=rev
Log:
o Factorized some helper method (createSubentry)
o Added some new Lookup tests
Modified:
directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/AbstractSubentryUnitTest.java
directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryAddOperationIT.java
directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryDeleteOperationIT.java
directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryLookupOperationIT.java
Modified: directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/AbstractSubentryUnitTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/AbstractSubentryUnitTest.java?rev=1054629&r1=1054628&r2=1054629&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/AbstractSubentryUnitTest.java (original)
+++ directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/AbstractSubentryUnitTest.java Mon Jan 3 14:27:31 2011
@@ -113,6 +113,52 @@ public class AbstractSubentryUnitTest ex
return Long.parseLong( attribute.getString() );
}
+
+ /**
+ * Gets the AccessControl UUIDref
+ */
+ protected String getACUuidRef( String apDn ) throws LdapException
+ {
+ Entry entry = adminConnection.lookup( apDn, "AccessControlSubentryUuid" );
+
+ if ( entry == null )
+ {
+ return null;
+ }
+
+ EntryAttribute attribute = entry.get( "AccessControlSubentryUuid");
+
+ if ( attribute == null )
+ {
+ return null;
+ }
+
+ return attribute.getString();
+ }
+
+
+ /**
+ * Gets the CollectiveAttribute UUID ref
+ */
+ protected String getCAUuidRef( String apDn ) throws LdapException
+ {
+ Entry entry = adminConnection.lookup( apDn, "CollectiveAttributeSubentryUuid" );
+
+ if ( entry == null )
+ {
+ return null;
+ }
+
+ EntryAttribute attribute = entry.get( "CollectiveAttributeSubentryUuid" );
+
+ if ( attribute == null )
+ {
+ return null;
+ }
+
+ return attribute.getString();
+ }
+
/**
* Checks that an entry is absent from the DIT
@@ -196,14 +242,14 @@ public class AbstractSubentryUnitTest ex
/**
* Creates a CollectiveAttribute subentry
*/
- protected void createCASubentry( String dn ) throws LdapException
+ protected void createCASubentry( String dn, String subtree ) throws LdapException
{
Entry subentry = LdifUtils.createEntry(
dn,
"ObjectClass: top",
"ObjectClass: subentry",
"ObjectClass: collectiveAttributeSubentry",
- "subtreeSpecification: {}",
+ "subtreeSpecification", subtree,
"c-o: Test Org" );
AddResponse response = adminConnection.add( subentry );
Modified: directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryAddOperationIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryAddOperationIT.java?rev=1054629&r1=1054628&r2=1054629&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryAddOperationIT.java (original)
+++ directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryAddOperationIT.java Mon Jan 3 14:27:31 2011
@@ -262,17 +262,7 @@ public class SubentryAddOperationIT exte
createAAP( "ou=AAP,ou=system" );
// Add a subentry now
- Entry subentry = LdifUtils.createEntry(
- "cn=test,ou=AAP,ou=system",
- "ObjectClass: top",
- "ObjectClass: subentry",
- "ObjectClass: collectiveAttributeSubentry",
- "cn: test",
- "subtreeSpecification: {}",
- "c-o: Test Org" );
-
- AddResponse response = adminConnection.add( subentry );
- assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
+ createCASubentry( "cn=test,ou=AAP,ou=system", "{}" );
Entry subentryEntry = adminConnection.lookup( "cn=test,ou=AAP,ou=system", "+", "*" );
assertNotNull( subentryEntry );
@@ -290,7 +280,7 @@ public class SubentryAddOperationIT exte
"ou: BADAP",
"administrativeRole: autonomousArea" );
- response = adminConnection.add( badAP );
+ AddResponse response = adminConnection.add( badAP );
assertEquals( ResultCodeEnum.UNWILLING_TO_PERFORM, response.getLdapResult().getResultCode() );
}
@@ -662,17 +652,7 @@ public class SubentryAddOperationIT exte
assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
// Add a subentry now
- Entry subentry = LdifUtils.createEntry(
- "cn=test,ou=SAP,ou=system",
- "ObjectClass: top",
- "ObjectClass: subentry",
- "ObjectClass: collectiveAttributeSubentry",
- "cn: test",
- "subtreeSpecification: {}",
- "c-o: Test Org" );
-
- response = adminConnection.add( subentry );
- assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
+ createCASubentry( "cn=test,ou=SAP,ou=system", "{}" );
}
@@ -768,6 +748,7 @@ public class SubentryAddOperationIT exte
"sn: entry 1" );
AddResponse response = adminConnection.add( e1 );
+ assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
assertEquals( -1L, getCASeqNumber( "cn=e1,ou=SAP,ou=system" ) );
@@ -780,21 +761,12 @@ public class SubentryAddOperationIT exte
"sn: entry 2" );
response = adminConnection.add( e2 );
+ assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
assertEquals( -1L, getCASeqNumber( "cn=e2,ou=SAP,ou=system" ) );
// Add a subentry now
- Entry subentry = LdifUtils.createEntry(
- "cn=test,ou=SAP,ou=system",
- "ObjectClass: top",
- "ObjectClass: subentry",
- "ObjectClass: collectiveAttributeSubentry",
- "cn: test",
- "subtreeSpecification: {}",
- "c-o: Test Org" );
-
- response = adminConnection.add( subentry );
- assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
+ createCASubentry( "cn=test,ou=SAP,ou=system", "{}" );
// Get back the CA SeqNumber
long caSeqNumber = getCASeqNumber( "ou=SAP,ou=system" );
@@ -810,6 +782,7 @@ public class SubentryAddOperationIT exte
"sn: entry 3" );
response = adminConnection.add( e3 );
+ assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
// The CASeqNumber for this entry must be the same than it's AP
assertEquals( caSeqNumber, getCASeqNumber( "cn=e3,ou=SAP,ou=system" ) );
@@ -852,17 +825,7 @@ public class SubentryAddOperationIT exte
assertEquals( -1L, getCASeqNumber( "cn=e2,ou=SAP,ou=system" ) );
// Add a subentry now, selecting only entries with a person AT
- Entry subentry = LdifUtils.createEntry(
- "cn=test,ou=SAP,ou=system",
- "ObjectClass: top",
- "ObjectClass: subentry",
- "ObjectClass: collectiveAttributeSubentry",
- "cn: test",
- "subtreeSpecification: { specificationFilter item:person }",
- "c-o: Test Org" );
-
- response = adminConnection.add( subentry );
- assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
+ createCASubentry( "cn=test,ou=SAP,ou=system", "{ specificationFilter item:person }" );
// Get back the CA SeqNumber
long caSeqNumber = getCASeqNumber( "ou=SAP,ou=system" );
Modified: directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryDeleteOperationIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryDeleteOperationIT.java?rev=1054629&r1=1054628&r2=1054629&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryDeleteOperationIT.java (original)
+++ directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryDeleteOperationIT.java Mon Jan 3 14:27:31 2011
@@ -69,17 +69,7 @@ public class SubentryDeleteOperationIT e
createAAP( "ou=AAP,ou=system" );
// Add a subentry now
- Entry subentry = LdifUtils.createEntry(
- "cn=test,ou=AAP,ou=system",
- "ObjectClass: top",
- "ObjectClass: subentry",
- "ObjectClass: collectiveAttributeSubentry",
- "cn: test",
- "subtreeSpecification: {}",
- "c-o: Test Org" );
-
- AddResponse response = adminConnection.add( subentry );
- assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
+ createCASubentry( "cn=test,ou=AAP,ou=system", "{}" );
assertTrue( checkIsPresent( "cn=test,ou=AAP,ou=system" ) );
@@ -214,17 +204,7 @@ public class SubentryDeleteOperationIT e
assertEquals( -1L, getCASeqNumber( "ou=AAP,ou=system" ) );
// Add a subentry now
- Entry subentry = LdifUtils.createEntry(
- "cn=test,ou=AAP,ou=system",
- "ObjectClass: top",
- "ObjectClass: subentry",
- "ObjectClass: collectiveAttributeSubentry",
- "cn: test",
- "subtreeSpecification: {}",
- "c-o: Test Org" );
-
- AddResponse response = adminConnection.add( subentry );
- assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
+ createCASubentry( "cn=test,ou=AAP,ou=system", "{}" );
long seqNumber = getCASeqNumber( "ou=AAP,ou=system" );
assertEquals( -1L, getACSeqNumber( "ou=AAP,ou=system" ) );
@@ -250,17 +230,7 @@ public class SubentryDeleteOperationIT e
assertEquals( -1L, getCASeqNumber( "ou=SAP,ou=system" ) );
// Add a subentry now
- Entry subentry = LdifUtils.createEntry(
- "cn=test,ou=SAP,ou=system",
- "ObjectClass: top",
- "ObjectClass: subentry",
- "ObjectClass: collectiveAttributeSubentry",
- "cn: test",
- "subtreeSpecification: {}",
- "c-o: Test Org" );
-
- AddResponse response = adminConnection.add( subentry );
- assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
+ createCASubentry( "cn=test,ou=SAP,ou=system", "{}");
long seqNumber = getCASeqNumber( "ou=SAP,ou=system" );
assertEquals( Long.MIN_VALUE, getACSeqNumber( "ou=SAP,ou=system" ) );
@@ -299,17 +269,7 @@ public class SubentryDeleteOperationIT e
assertEquals( -1L, getCASeqNumber( "ou=IAP,ou=SAP,ou=system" ) );
// Add a subentry now
- Entry subentry = LdifUtils.createEntry(
- "cn=test,ou=IAP,ou=SAP,ou=system",
- "ObjectClass: top",
- "ObjectClass: subentry",
- "ObjectClass: collectiveAttributeSubentry",
- "cn: test",
- "subtreeSpecification: {}",
- "c-o: Test Org" );
-
- response = adminConnection.add( subentry );
- assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
+ createCASubentry( "cn=test,ou=IAP,ou=SAP,ou=system", "{}" );
long seqNumberSAP = getCASeqNumber( "ou=SAP,ou=system" );
assertEquals( -1L, seqNumberSAP );
Modified: directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryLookupOperationIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryLookupOperationIT.java?rev=1054629&r1=1054628&r2=1054629&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryLookupOperationIT.java (original)
+++ directory/apacheds/branches/apacheds-AP/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryLookupOperationIT.java Mon Jan 3 14:27:31 2011
@@ -103,7 +103,7 @@ public class SubentryLookupOperationIT e
public void testLookupSubentry() throws Exception
{
createAAP( "ou=AAP, ou=system" );
- createCASubentry( "cn=test, ou=AAP, ou=system" );
+ createCASubentry( "cn=test, ou=AAP, ou=system", "{}" );
Entry aap = adminConnection.lookup( "ou=AAP, ou=system", "+" );
@@ -135,7 +135,7 @@ public class SubentryLookupOperationIT e
public void testLookupSubentryNotAdmin() throws Exception
{
createAAP( "ou=AAP, ou=system" );
- createCASubentry( "cn=test, ou=AAP, ou=system" );
+ createCASubentry( "cn=test, ou=AAP, ou=system", "{}" );
Entry aap = userConnection.lookup( "ou=AAP, ou=system", "+" );
@@ -206,17 +206,7 @@ public class SubentryLookupOperationIT e
assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
assertEquals( -1L, getCASeqNumber( "cn=e1,ou=AAP,ou=system" ) );
- }
-
-
- /**
- * Test the lookup of a entry when an AP with no subentry has been added. All
- * the entry SN must be set to -1, and not have any subentries reference
- */
- @Test
- public void testLookupEntryAfterApAdditionNoSubentry() throws Exception
- {
- // TODO
+ assertNull( getCAUuidRef( "cn=e1,ou=AAP,ou=system" ) );
}
@@ -228,7 +218,26 @@ public class SubentryLookupOperationIT e
@Test
public void testLookupEntryUnderApWithSubentrySelected() throws Exception
{
- // TODO
+ // Create a CA SAP and a subentry
+ createCaSAP( "ou=SAP,ou=System" );
+ createCASubentry( "cn=test,ou=SAP,ou=System", "{specificationFilter item: person}" );
+
+ // Now, created a selected entry
+ Entry e1 = LdifUtils.createEntry(
+ "cn=e1,ou=SAP,ou=system",
+ "ObjectClass: top",
+ "ObjectClass: person",
+ "cn: e1",
+ "sn: entry 1" );
+
+ AddResponse response = adminConnection.add( e1 );
+ assertEquals( ResultCodeEnum.SUCCESS, response.getLdapResult().getResultCode() );
+
+ long seqNumber = getCASeqNumber( "ou=SAP,ou=System" );
+
+ // Check that the added entry has its AP seqNumber and its subentry UUID
+ assertEquals( seqNumber, getCASeqNumber( "cn=e1,ou=SAP,ou=system" ) );
+ assertEquals( getCAUuidRef( "cn=test,ou=SAP,ou=System" ), getCAUuidRef( "cn=e1,ou=AAP,ou=system" ) );
}