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 2014/05/01 20:42:36 UTC
svn commit: r1591729 -
/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientModifyDnRequestTest.java
Author: elecharny
Date: Thu May 1 18:42:36 2014
New Revision: 1591729
URL: http://svn.apache.org/r1591729
Log:
Added a test to see if we can't add a second value for a single-value attribute while doing a MODDN with deleteOldRdn to false
Modified:
directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientModifyDnRequestTest.java
Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientModifyDnRequestTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientModifyDnRequestTest.java?rev=1591729&r1=1591728&r2=1591729&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientModifyDnRequestTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientModifyDnRequestTest.java Thu May 1 18:42:36 2014
@@ -30,6 +30,7 @@ import java.util.concurrent.TimeUnit;
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.entry.DefaultEntry;
import org.apache.directory.api.ldap.model.entry.Entry;
+import org.apache.directory.api.ldap.model.exception.LdapInvalidAttributeValueException;
import org.apache.directory.api.ldap.model.message.ModifyDnRequest;
import org.apache.directory.api.ldap.model.message.ModifyDnRequestImpl;
import org.apache.directory.api.ldap.model.message.ModifyDnResponse;
@@ -57,12 +58,25 @@ import org.junit.runner.RunWith;
*/
@RunWith(FrameworkRunner.class)
@ApplyLdifs(
- { "dn: cn=modDn,ou=system", "objectClass: person", "cn: modDn", "sn: snModDn" })
+ {
+ "dn: cn=modDn,ou=system",
+ "objectClass: person",
+ "cn: modDn",
+ "sn: snModDn",
+ "",
+ "dn: employeeNumber=test,ou=system",
+ "objectClass: person",
+ "objectClass: inetorgPerson",
+ "cn: modDn",
+ "employeeNumber: test",
+ "sn: snModDn"
+ })
@CreateLdapServer(transports =
{ @CreateTransport(protocol = "LDAP"), @CreateTransport(protocol = "LDAPS") })
public class ClientModifyDnRequestTest extends AbstractLdapTestUnit
{
private static final String DN = "cn=modDn,ou=system";
+ private static final String DN_EMPLOYEE = "employeeNumber=test,ou=system";
private LdapNetworkConnection connection;
private CoreSession session;
@@ -86,7 +100,23 @@ public class ClientModifyDnRequestTest e
public void testRename() throws Exception
{
connection.rename( DN, "cn=modifyDnWithString" );
+ Entry entry = session.lookup( new Dn( "cn=modifyDnWithString,ou=system" ), "*" );
assertTrue( session.exists( new Dn( "cn=modifyDnWithString,ou=system" ) ) );
+ assertTrue( entry.contains( "cn", "modifyDnWithString" ) );
+ assertFalse( entry.contains( "cn", "modDn" ) );
+ }
+
+
+ /**
+ * Check that if we try to modify the RDN which contains a single-value attribute,
+ * and if we set the deleteOldRdn to false (leading to the injection of a new single-value
+ * attribute while we keep the old one), then we get a failure.
+ * @throws Exception
+ */
+ @Test(expected=LdapInvalidAttributeValueException.class)
+ public void testRenameSingleValue() throws Exception
+ {
+ connection.rename( DN_EMPLOYEE, "employeeNumber=newValue", false );
}