PasswordValidatorTest.php
1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
/**
* @package framework
* @subpackage tests
*/
class PasswordValidatorTest extends SapphireTest {
public function testValidate() {
$v = new PasswordValidator();
$r = $v->validate('', new Member());
$this->assertTrue($r->valid(), 'Empty password is valid by default');
$r = $v->validate('mypassword', new Member());
$this->assertTrue($r->valid(), 'Non-Empty password is valid by default');
}
public function testValidateMinLength() {
$v = new PasswordValidator();
$v->minLength(4);
$r = $v->validate('123', new Member());
$this->assertFalse($r->valid(), 'Password too short');
$v->minLength(4);
$r = $v->validate('1234', new Member());
$this->assertTrue($r->valid(), 'Password long enough');
}
public function testValidateMinScore() {
$v = new PasswordValidator();
$v->characterStrength(3, array("lowercase", "uppercase", "digits", "punctuation"));
$r = $v->validate('aA', new Member());
$this->assertFalse($r->valid(), 'Passing too few tests');
$r = $v->validate('aA1', new Member());
$this->assertTrue($r->valid(), 'Passing enough tests');
}
public function testHistoricalPasswordCount() {
$this->markTestIncomplete();
}
}