Ejemplo n.º 1
0
 public function testEmailCantSendException()
 {
     $this->secureRandom->expects($this->once())->method('generate')->with('21')->will($this->returnValue('ThisIsMaybeANotSoSecretToken!'));
     $this->userManager->expects($this->once())->method('userExists')->with('ExistingUser')->will($this->returnValue(true));
     $this->userManager->expects($this->any())->method('get')->with('ExistingUser')->willReturn($this->existingUser);
     $this->config->expects($this->once())->method('setUserValue')->with('ExistingUser', 'owncloud', 'lostpassword', '12348:ThisIsMaybeANotSoSecretToken!');
     $this->timeFactory->expects($this->once())->method('getTime')->will($this->returnValue(12348));
     $this->urlGenerator->expects($this->once())->method('linkToRouteAbsolute')->with('core.lost.resetform', array('userId' => 'ExistingUser', 'token' => 'ThisIsMaybeANotSoSecretToken!'))->will($this->returnValue('https://ownCloud.com/index.php/lostpassword/'));
     $message = $this->getMockBuilder('\\OC\\Mail\\Message')->disableOriginalConstructor()->getMock();
     $message->expects($this->at(0))->method('setTo')->with(['*****@*****.**' => 'ExistingUser']);
     $message->expects($this->at(1))->method('setSubject')->with(' password reset');
     $message->expects($this->at(2))->method('setPlainBody')->with('Use the following link to reset your password: https://ownCloud.com/index.php/lostpassword/');
     $message->expects($this->at(3))->method('setFrom')->with(['lostpassword-noreply@localhost' => null]);
     $this->mailer->expects($this->at(0))->method('createMessage')->will($this->returnValue($message));
     $this->mailer->expects($this->at(1))->method('send')->with($message)->will($this->throwException(new \Exception()));
     $response = $this->lostController->email('ExistingUser');
     $expectedResponse = ['status' => 'error', 'msg' => 'Couldn\'t send reset email. Please contact your administrator.'];
     $this->assertSame($expectedResponse, $response);
 }