add() public method

Add an additional value, or values, to an attribute.
public add ( string $attribute, $values )
$attribute string
$values
Ejemplo n.º 1
0
 function it_should_hydrate_a_ldap_object_wihtout_a_schema_with_batch_modification()
 {
     $ldapObject = new LdapObject(['dn' => 'cn=foo,dc=foo,dc=bar'], [], 'user', '');
     $ldapObject->set('givenName', 'Chad');
     $ldapObject->add('sn', 'Sikorra');
     $ldapObject->remove('sAMAccountName', 'csikorra');
     $ldapObject->reset('mail');
     $this->hydrateToLdap($ldapObject)->shouldBeEqualTo($this->batch);
     $this->hydrateToLdap($ldapObject)->shouldHaveCount(4);
 }
Ejemplo n.º 2
0
 public function it_should_error_trying_to_do_a_non_set_method_on_many_aggregated_values($connection)
 {
     $ldapObject = new LdapObject(['dn' => 'cn=foo,dc=foo,dc=bar'], [], 'user', 'user');
     $ldapObject->set('disabled', true);
     $ldapObject->add('trustedForAllDelegation', true);
     $batch = $ldapObject->getBatchCollection();
     $connection->execute(Argument::that(function ($operation) {
         return $operation->getFilter() == '(&(objectClass=*))' && $operation->getBaseDn() == 'cn=foo,dc=foo,dc=bar' && $operation->getAttributes() == ['userAccountControl'];
     }))->willReturn($this->expectedResult);
     $this->beConstructedWith($this->schema, $batch, AttributeConverterInterface::TYPE_MODIFY);
     $this->setLdapConnection($connection);
     $this->setDn('cn=foo,dc=foo,dc=bar');
     $this->shouldThrow(new \LogicException('Unable to modify "trustedForAllDelegation". The "ADD" action is not allowed.'))->duringToLdap();
 }
Ejemplo n.º 3
0
 function it_should_call_the_event_dispatcher_modify_events_when_persisting_an_object(EventDispatcherInterface $dispatcher, $connection)
 {
     $dn = 'cn=foo,dc=foo,dc=bar';
     $batch = new BatchCollection($dn);
     $batch->add(new Batch(Batch::TYPE['REPLACE'], 'givenName', 'Chad'));
     $batch->add(new Batch(Batch::TYPE['ADD'], 'sn', 'Sikorra'));
     $batch->add(new Batch(Batch::TYPE['REMOVE'], 'sAMAccountName', 'csikorra'));
     $batch->add(new Batch(Batch::TYPE['REMOVE_ALL'], 'mail'));
     $connection->execute(new BatchModifyOperation($dn, $batch))->willReturn(null);
     $this->beConstructedWith($connection, $this->objectSchemaFactory, $dispatcher);
     $ldapObject = new LdapObject(['dn' => $dn], 'user');
     $ldapObject->set('firstName', 'Chad');
     $ldapObject->add('lastName', 'Sikorra');
     $ldapObject->remove('username', 'csikorra');
     $ldapObject->reset('emailAddress');
     $beforeEvent = new LdapObjectEvent(Event::LDAP_OBJECT_BEFORE_MODIFY, $ldapObject);
     $afterEvent = new LdapObjectEvent(Event::LDAP_OBJECT_AFTER_MODIFY, $ldapObject);
     $dispatcher->dispatch($beforeEvent)->shouldBeCalled();
     $dispatcher->dispatch($afterEvent)->shouldBeCalled();
     $this->persist($ldapObject);
 }