Skip to content

Commit 247fe3e

Browse files
file: Test key_strength validations
1 parent b729ad7 commit 247fe3e

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

client/src/file/api/mod.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff 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
}

0 commit comments

Comments
 (0)