update unit tests
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
This commit is contained in:
parent
dfec66ca02
commit
3c5fb2b52b
|
@ -27,6 +27,7 @@ use OCP\AppFramework\Http\JSONResponse;
|
||||||
use OCP\AppFramework\Http\TemplateResponse;
|
use OCP\AppFramework\Http\TemplateResponse;
|
||||||
use OCP\AppFramework\Utility\ITimeFactory;
|
use OCP\AppFramework\Utility\ITimeFactory;
|
||||||
use OCP\Defaults;
|
use OCP\Defaults;
|
||||||
|
use OCP\Encryption\IEncryptionModule;
|
||||||
use OCP\Encryption\IManager;
|
use OCP\Encryption\IManager;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
use OCP\IL10N;
|
use OCP\IL10N;
|
||||||
|
@ -713,10 +714,49 @@ class LostControllerTest extends \Test\TestCase {
|
||||||
$this->assertEquals($expectedResponse, $response);
|
$this->assertEquals($expectedResponse, $response);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testSetPasswordEncryptionDontProceed() {
|
public function testSetPasswordEncryptionDontProceedPerUserKey() {
|
||||||
|
/** @var IEncryptionModule|PHPUnit_Framework_MockObject_MockObject $encryptionModule */
|
||||||
|
$encryptionModule = $this->createMock(IEncryptionModule::class);
|
||||||
|
$encryptionModule->expects($this->once())->method('needDetailedAccessList')->willReturn(true);
|
||||||
|
$this->encryptionManager->expects($this->once())->method('getEncryptionModules')
|
||||||
|
->willReturn([0 => ['callback' => function() use ($encryptionModule) { return $encryptionModule; }]]);
|
||||||
$response = $this->lostController->setPassword('myToken', 'user', 'newpass', false);
|
$response = $this->lostController->setPassword('myToken', 'user', 'newpass', false);
|
||||||
$expectedResponse = ['status' => 'error', 'msg' => '', 'encryption' => true];
|
$expectedResponse = ['status' => 'error', 'msg' => '', 'encryption' => true];
|
||||||
$this->assertSame($expectedResponse, $response);
|
$this->assertSame($expectedResponse, $response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testSetPasswordDontProceedMasterKey() {
|
||||||
|
$encryptionModule = $this->createMock(IEncryptionModule::class);
|
||||||
|
$encryptionModule->expects($this->once())->method('needDetailedAccessList')->willReturn(false);
|
||||||
|
$this->encryptionManager->expects($this->once())->method('getEncryptionModules')
|
||||||
|
->willReturn([0 => ['callback' => function() use ($encryptionModule) { return $encryptionModule; }]]);
|
||||||
|
$this->config->method('getUserValue')
|
||||||
|
->with('ValidTokenUser', 'core', 'lostpassword', null)
|
||||||
|
->willReturn('encryptedData');
|
||||||
|
$this->existingUser->method('getLastLogin')
|
||||||
|
->will($this->returnValue(12344));
|
||||||
|
$this->existingUser->expects($this->once())
|
||||||
|
->method('setPassword')
|
||||||
|
->with('NewPassword')
|
||||||
|
->willReturn(true);
|
||||||
|
$this->userManager->method('get')
|
||||||
|
->with('ValidTokenUser')
|
||||||
|
->willReturn($this->existingUser);
|
||||||
|
$this->config->expects($this->once())
|
||||||
|
->method('deleteUserValue')
|
||||||
|
->with('ValidTokenUser', 'core', 'lostpassword');
|
||||||
|
$this->timeFactory->method('getTime')
|
||||||
|
->will($this->returnValue(12348));
|
||||||
|
|
||||||
|
$this->crypto->method('decrypt')
|
||||||
|
->with(
|
||||||
|
$this->equalTo('encryptedData'),
|
||||||
|
$this->equalTo('test@example.comSECRET')
|
||||||
|
)->willReturn('12345:TheOnlyAndOnlyOneTokenToResetThePassword');
|
||||||
|
|
||||||
|
$response = $this->lostController->setPassword('TheOnlyAndOnlyOneTokenToResetThePassword', 'ValidTokenUser', 'NewPassword', false);
|
||||||
|
$expectedResponse = array('user' => 'ValidTokenUser', 'status' => 'success');
|
||||||
|
$this->assertSame($expectedResponse, $response);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue