-
Bug
-
Resolution: Done
-
Major
-
PLINK_2.5.0.Final
-
None
To simulate the issue:
- Apply PR https://github.com/picketlink/picketlink/pull/55 (LDAPIdentityStoreConfiguration to be configured via XML, Support for test of OpenDS 2.0)
- Setup OpenDS 2.0 on localhost (or other server) - LDAP attributes are took from idm/impl/src/test/resources/config/opends2-local-ldap-config.xml, so it's assuming that OpenDS 2.0 is running on localhost:1389 with adminDN="cn=Directory Manager" and AdminPW="password"
- Import LDIF file idm/impl/src/test/resources/ldap/opends2-users.ldif via CMD command:
ldapadd -h localhost -p 1389 -x -D "cn=Directory Manager" -f idm/impl/src/test/resources/ldap/opends2-users.ldif -w password
(NOTE: I will need to find a way how to import LDIF file programmaticaly. One possibility is to use CMD, but it doesn't look like proper solution and it failed for me due to space in AdminDN. Another possibility is to use ApacheDS library, but I did not find easy way how to import LDIF into existing (not-embedded) LDAP server. In IDM 1.x we used OpenDS embedded library, see method "populateLDIF" in class https://github.com/picketlink/picketlink-idm/blob/1.4/picketlink-idm-ldap/src/test/java/org/picketlink/idm/test/support/ldap/LDAPTestPOJO.java)
- Run LDAPIdentityStoreTestsuite with option "-Dplidm.xml.configuration=config/opends2-local-ldap-config.xml" which will instruct testsuite to use OpenDS 2.0 instead of default ApacheDS
Result: All tests are failing with
Caused by: javax.naming.OperationNotSupportedException: [LDAP: error code 53 - Entry cn=someRole,ou=Roles,o=plidmtest,dc=example,dc=com cannot be added because it includes attribute createTimeStamp which is defined as NO-USER-MODIFICATION in the server schema]; remaining name 'cn=someRole,ou=Roles,o=plidmtest,dc=example,dc=com'
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3140)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3013)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2820)
at com.sun.jndi.ldap.LdapCtx.c_createSubcontext(LdapCtx.java:791)
at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_createSubcontext(ComponentDirContext.java:319)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.createSubcontext(PartialCompositeDirContext.java:248)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.createSubcontext(PartialCompositeDirContext.java:236)
at javax.naming.directory.InitialDirContext.createSubcontext(InitialDirContext.java:178)
at org.picketlink.idm.ldap.internal.LDAPOperationManager.createSubContext(LDAPOperationManager.java:491)