Merge "API: Remove deprecated response values from action=login"
[lhc/web/wiklou.git] / tests / phpunit / includes / password / LayeredParameterizedPasswordTest.php
1 <?php
2
3 class LayeredParameterizedPasswordTest extends PasswordTestCase {
4 protected function getTypeConfigs() {
5 return [
6 'testLargeLayeredTop' => [
7 'class' => 'LayeredParameterizedPassword',
8 'types' => [
9 'testLargeLayeredBottom',
10 'testLargeLayeredBottom',
11 'testLargeLayeredBottom',
12 'testLargeLayeredBottom',
13 'testLargeLayeredFinal',
14 ],
15 ],
16 'testLargeLayeredBottom' => [
17 'class' => 'Pbkdf2Password',
18 'algo' => 'sha512',
19 'cost' => 1024,
20 'length' => 512,
21 ],
22 'testLargeLayeredFinal' => [
23 'class' => 'BcryptPassword',
24 'cost' => 5,
25 ]
26 ];
27 }
28
29 public static function providePasswordTests() {
30 // @codingStandardsIgnoreStart Generic.Files.LineLength.TooLong
31 return [
32 [
33 true,
34 ':testLargeLayeredTop:sha512:1024:512!sha512:1024:512!sha512:1024:512!sha512:1024:512!5!vnRy+2SrSA0fHt3dwhTP5g==!AVnwfZsAQjn+gULv7FSGjA==!xvHUX3WcpkeSn1lvjWcvBg==!It+OC/N9tu+d3ByHhuB0BQ==!Tb.gqUOiD.aWktVwHM.Q/O!7CcyMfXUPky5ptyATJsR2nq3vUqtnBC',
35 'testPassword123'
36 ],
37 ];
38 // @codingStandardsIgnoreEnd
39 }
40
41 /**
42 * @covers LayeredParameterizedPassword::partialCrypt
43 */
44 public function testLargeLayeredPartialUpdate() {
45 /** @var ParameterizedPassword $partialPassword */
46 $partialPassword = $this->passwordFactory->newFromType( 'testLargeLayeredBottom' );
47 $partialPassword->crypt( 'testPassword123' );
48
49 /** @var LayeredParameterizedPassword $totalPassword */
50 $totalPassword = $this->passwordFactory->newFromType( 'testLargeLayeredTop' );
51 $totalPassword->partialCrypt( $partialPassword );
52
53 $this->assertTrue( $totalPassword->equals( 'testPassword123' ) );
54 }
55 }