File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -393,4 +393,27 @@ mod tests {
393393
394394 Ok ( ( ) )
395395 }
396+
397+ #[ tokio:: test]
398+ async fn key_strength ( ) {
399+ let mut keyring = Keyring :: new ( ) ;
400+ keyring. iteration_count = 50000 ; // Less than MIN_ITERATION_COUNT (100000)
401+ let secret = Secret :: from ( "test-password-that-is-long-enough" ) ;
402+ let result = keyring. key_strength ( & secret) ;
403+ assert ! ( matches!(
404+ result,
405+ Err ( WeakKeyError :: IterationCountTooLow ( 50000 ) )
406+ ) ) ;
407+
408+ let keyring = Keyring :: new ( ) ;
409+ let secret = Secret :: from ( "ab" ) ;
410+ let result = keyring. key_strength ( & secret) ;
411+ assert ! ( matches!( result, Err ( WeakKeyError :: PasswordTooShort ( 2 ) ) ) ) ;
412+
413+ let mut keyring = Keyring :: new ( ) ;
414+ keyring. salt = vec ! [ 1 , 2 , 3 , 4 ] ; // Less than MIN_SALT_SIZE (32)
415+ let secret = Secret :: from ( "test-password-that-is-long-enough" ) ;
416+ let result = keyring. key_strength ( & secret) ;
417+ assert ! ( matches!( result, Err ( WeakKeyError :: SaltTooShort ( 4 ) ) ) ) ;
418+ }
396419}
You can’t perform that action at this time.
0 commit comments