Example #1
0
 /**
  * Sets the new DN for this node
  *
  * This is an offline method.
  *
  * @param  \Zend\LDAP\DN|string|array $newDn
  * @throws \Zend\LDAP\Exception
  * @return \Zend\LDAP\Node\Node Provides a fluid interface
  */
 public function setDn($newDn)
 {
     if ($newDn instanceof LDAP\DN) {
         $this->_newDn = clone $newDn;
     } else {
         $this->_newDn = LDAP\DN::factory($newDn);
     }
     $this->_ensureRdnAttributeValues();
     return $this;
 }
Example #2
0
 public function testDnCreation()
 {
     LDAP\DN::setDefaultCaseFold(LDAP\DN::ATTR_CASEFOLD_NONE);
     $dnString1 = 'CN=Baker\\, Alice,CN=Users+OU=Lab,DC=example,DC=com';
     $dnArray1 = array(array('CN' => 'Baker, Alice'), array('CN' => 'Users', 'OU' => 'Lab'), array('DC' => 'example'), array('DC' => 'com'));
     $dnString2 = 'cn=Baker\\, Alice,cn=Users+ou=Lab,dc=example,dc=com';
     $dnArray2 = array(array('cn' => 'Baker, Alice'), array('cn' => 'Users', 'ou' => 'Lab'), array('dc' => 'example'), array('dc' => 'com'));
     $dnString3 = 'Cn=Baker\\, Alice,Cn=Users+Ou=Lab,Dc=example,Dc=com';
     $dnArray3 = array(array('Cn' => 'Baker, Alice'), array('Cn' => 'Users', 'Ou' => 'Lab'), array('Dc' => 'example'), array('Dc' => 'com'));
     $dn11 = LDAP\DN::fromString($dnString1);
     $dn12 = LDAP\DN::fromArray($dnArray1);
     $dn13 = LDAP\DN::factory($dnString1);
     $dn14 = LDAP\DN::factory($dnArray1);
     $this->assertEquals($dn11, $dn12);
     $this->assertEquals($dn11, $dn13);
     $this->assertEquals($dn11, $dn14);
     $this->assertEquals($dnString1, $dn11->toString());
     $this->assertEquals($dnString1, $dn11->toString(LDAP\DN::ATTR_CASEFOLD_UPPER));
     $this->assertEquals($dnString2, $dn11->toString(LDAP\DN::ATTR_CASEFOLD_LOWER));
     $this->assertEquals($dnArray1, $dn11->toArray());
     $this->assertEquals($dnArray1, $dn11->toArray(LDAP\DN::ATTR_CASEFOLD_UPPER));
     $this->assertEquals($dnArray2, $dn11->toArray(LDAP\DN::ATTR_CASEFOLD_LOWER));
     $dn21 = LDAP\DN::fromString($dnString2);
     $dn22 = LDAP\DN::fromArray($dnArray2);
     $dn23 = LDAP\DN::factory($dnString2);
     $dn24 = LDAP\DN::factory($dnArray2);
     $this->assertEquals($dn21, $dn22);
     $this->assertEquals($dn21, $dn23);
     $this->assertEquals($dn21, $dn24);
     $this->assertEquals($dnString2, $dn21->toString());
     $this->assertEquals($dnString1, $dn21->toString(LDAP\DN::ATTR_CASEFOLD_UPPER));
     $this->assertEquals($dnString2, $dn21->toString(LDAP\DN::ATTR_CASEFOLD_LOWER));
     $this->assertEquals($dnArray2, $dn21->toArray());
     $this->assertEquals($dnArray1, $dn21->toArray(LDAP\DN::ATTR_CASEFOLD_UPPER));
     $this->assertEquals($dnArray2, $dn21->toArray(LDAP\DN::ATTR_CASEFOLD_LOWER));
     $this->assertEquals($dnArray2, $dn22->toArray());
     $dn31 = LDAP\DN::fromString($dnString3);
     $dn32 = LDAP\DN::fromArray($dnArray3);
     $dn33 = LDAP\DN::factory($dnString3);
     $dn34 = LDAP\DN::factory($dnArray3);
     $this->assertEquals($dn31, $dn32);
     $this->assertEquals($dn31, $dn33);
     $this->assertEquals($dn31, $dn34);
     $this->assertEquals($dnString3, $dn31->toString());
     $this->assertEquals($dnString1, $dn31->toString(LDAP\DN::ATTR_CASEFOLD_UPPER));
     $this->assertEquals($dnString2, $dn31->toString(LDAP\DN::ATTR_CASEFOLD_LOWER));
     $this->assertEquals($dnArray3, $dn31->toArray());
     $this->assertEquals($dnArray1, $dn31->toArray(LDAP\DN::ATTR_CASEFOLD_UPPER));
     $this->assertEquals($dnArray2, $dn31->toArray(LDAP\DN::ATTR_CASEFOLD_LOWER));
     try {
         $dn = LDAP\DN::factory(1);
         $this->fail('Expected Zend_LDAP_Exception not thrown');
     } catch (LDAP\Exception $e) {
         $this->assertEquals('Invalid argument type for $dn', $e->getMessage());
     }
 }