Lines 70-78
my $category_complex = $builder->build({
Link Here
|
70 |
}, |
70 |
}, |
71 |
}); |
71 |
}); |
72 |
|
72 |
|
73 |
t::lib::Mocks::mock_preference('minAlnumPasswordLength', 5); |
|
|
74 |
t::lib::Mocks::mock_preference('minComplexPasswordLength', 6); |
75 |
|
76 |
subtest 'is_password_valid' => sub { |
73 |
subtest 'is_password_valid' => sub { |
77 |
plan tests => 13; |
74 |
plan tests => 13; |
78 |
|
75 |
|
Lines 107-113
subtest 'is_password_valid' => sub {
Link Here
|
107 |
subtest 'password policies' => sub { |
104 |
subtest 'password policies' => sub { |
108 |
|
105 |
|
109 |
t::lib::Mocks::mock_preference('RequireStrongPassword', 0); |
106 |
t::lib::Mocks::mock_preference('RequireStrongPassword', 0); |
110 |
t::lib::Mocks::mock_preference('minPasswordLength', 4); |
107 |
t::lib::Mocks::mock_preference('minPasswordLength', 3); |
|
|
108 |
|
109 |
my $YAML =' |
110 |
- |
111 |
categories: ['.$category_simple->{categorycode}.'] |
112 |
minlength: 4 |
113 |
- |
114 |
categories: ['.$category_alpha->{categorycode}.'] |
115 |
minlength: 5 |
116 |
- |
117 |
categories: ['.$category_complex->{categorycode}.'] |
118 |
minlength: 6 |
119 |
'; |
120 |
|
121 |
t::lib::Mocks::mock_preference('PasswordLengthsForCategories', $YAML); |
111 |
|
122 |
|
112 |
#test simplenumeric password policy |
123 |
#test simplenumeric password policy |
113 |
( $is_valid, $error ) = Koha::AuthUtils::is_password_valid( '1234', $category_simple->{categorycode} ); |
124 |
( $is_valid, $error ) = Koha::AuthUtils::is_password_valid( '1234', $category_simple->{categorycode} ); |
Lines 118-124
subtest 'is_password_valid' => sub {
Link Here
|
118 |
( $is_valid, $error ) = Koha::AuthUtils::is_password_valid( '!234', $category_simple->{categorycode} ); |
129 |
( $is_valid, $error ) = Koha::AuthUtils::is_password_valid( '!234', $category_simple->{categorycode} ); |
119 |
is ( $is_valid, 0, 'simplenumeric password should not contain non-special characters' ); |
130 |
is ( $is_valid, 0, 'simplenumeric password should not contain non-special characters' ); |
120 |
( $is_valid, $error ) = Koha::AuthUtils::is_password_valid( '123', $category_simple->{categorycode} ); |
131 |
( $is_valid, $error ) = Koha::AuthUtils::is_password_valid( '123', $category_simple->{categorycode} ); |
121 |
is ( $is_valid, 0, 'simplenumeric password follows minPasswordLength syspref' ); |
132 |
is ( $is_valid, 0, 'simplenumeric password follows PasswordLengthsForCategories syspref' ); |
122 |
|
133 |
|
123 |
#test alphanumeric |
134 |
#test alphanumeric |
124 |
( $is_valid, $error ) = Koha::AuthUtils::is_password_valid( 'A1234', $category_alpha->{categorycode} ); |
135 |
( $is_valid, $error ) = Koha::AuthUtils::is_password_valid( 'A1234', $category_alpha->{categorycode} ); |
Lines 127-133
subtest 'is_password_valid' => sub {
Link Here
|
127 |
is ( $is_valid, 0, 'alphanumeric password must contain at least one uppercase character' ); |
138 |
is ( $is_valid, 0, 'alphanumeric password must contain at least one uppercase character' ); |
128 |
is($error, 'alpha_policy_mismatch', 'error "alpha_policy_mismatch" raised'); |
139 |
is($error, 'alpha_policy_mismatch', 'error "alpha_policy_mismatch" raised'); |
129 |
( $is_valid, $error ) = Koha::AuthUtils::is_password_valid( 'A123', $category_alpha->{categorycode} ); |
140 |
( $is_valid, $error ) = Koha::AuthUtils::is_password_valid( 'A123', $category_alpha->{categorycode} ); |
130 |
is ( $is_valid, 0, 'alphanumeric password follows minAlnumPasswordLength syspref'); |
141 |
is ( $is_valid, 0, 'alphanumeric password follows PasswordLengthsForCategories syspref'); |
131 |
|
142 |
|
132 |
#test complex |
143 |
#test complex |
133 |
( $is_valid, $error ) = Koha::AuthUtils::is_password_valid( 'As!123', $category_complex->{categorycode} ); |
144 |
( $is_valid, $error ) = Koha::AuthUtils::is_password_valid( 'As!123', $category_complex->{categorycode} ); |
Lines 136-142
subtest 'is_password_valid' => sub {
Link Here
|
136 |
is ( $is_valid, 0, 'complex password must contain numbers, lower and uppercase characters and special characters' ); |
147 |
is ( $is_valid, 0, 'complex password must contain numbers, lower and uppercase characters and special characters' ); |
137 |
is($error, 'complex_policy_mismatch', 'error "complex_policy_mismatch" raised'); |
148 |
is($error, 'complex_policy_mismatch', 'error "complex_policy_mismatch" raised'); |
138 |
( $is_valid, $error ) = Koha::AuthUtils::is_password_valid( 'As!12', $category_complex->{categorycode}); |
149 |
( $is_valid, $error ) = Koha::AuthUtils::is_password_valid( 'As!12', $category_complex->{categorycode}); |
139 |
is ( $is_valid, 0, 'complex password follows minComplexPasswordLength syspref' ); |
150 |
is ( $is_valid, 0, 'complex password follows PasswordLengthsForCategories syspref' ); |
140 |
} |
151 |
} |
141 |
}; |
152 |
}; |
142 |
|
153 |
|
143 |
- |
|
|