/**
  * Updates a user password if a plain password is set
  *
  * @param User $user
  */
 public function updatePassword(User $user)
 {
     if (0 !== strlen($password = $user->getPlainPassword())) {
         $encoder = $this->getEncoder($user);
         $user->setPassword($encoder->encodePassword($password, $user->getSalt()));
         $user->eraseCredentials();
     }
 }
Exemple #2
0
 public function testUpdateUser()
 {
     $password = '******';
     $encodedPassword = '******';
     $email = '*****@*****.**';
     $user = new User();
     $user->setUsername($email)->setEmail($email)->setPlainPassword($password);
     $encoder = $this->getMock('Symfony\\Component\\Security\\Core\\Encoder\\PasswordEncoderInterface');
     $encoder->expects($this->once())->method('encodePassword')->with($user->getPlainPassword(), $user->getSalt())->will($this->returnValue($encodedPassword));
     $this->ef->expects($this->once())->method('getEncoder')->with($user)->will($this->returnValue($encoder));
     $this->om->expects($this->once())->method('persist')->with($this->equalTo($user));
     $this->om->expects($this->once())->method('flush');
     $this->metadata->expects($this->once())->method('getAssociationTargetClass')->willReturn('Symfony\\Component\\Security\\Core\\Role\\RoleInterface');
     $repository = $this->getMockBuilder('Oro\\Bundle\\UserBundle\\Entity\\Repository\\UserApiRepository')->disableOriginalConstructor()->getMock();
     $this->om->expects($this->any())->method('getRepository')->will($this->returnValue($repository));
     $repository->expects($this->once())->method('findOneBy')->with($this->equalTo(['role' => User::ROLE_DEFAULT]))->will($this->returnValue(new Role(User::ROLE_DEFAULT)));
     $this->userManager->updateUser($user);
     $this->assertEquals($email, $user->getEmail());
     $this->assertEquals($encodedPassword, $user->getPassword());
 }
Exemple #3
0
 public function testSendChangePasswordEmail()
 {
     $this->assertSendCalled(Processor::TEMPLATE_USER_CHANGE_PASSWORD, ['entity' => $this->user, 'plainPassword' => $this->user->getPlainPassword()], $this->buildMessage($this->user->getEmail()));
     $this->mailProcessor->sendChangePasswordEmail($this->user);
 }
 public function testPassword()
 {
     $user = new User();
     $pass = '******';
     $user->setPassword($pass);
     $user->setPlainPassword($pass);
     $this->assertEquals($pass, $user->getPassword());
     $this->assertEquals($pass, $user->getPlainPassword());
     $user->eraseCredentials();
     $this->assertNull($user->getPlainPassword());
 }