massa_cipher/tests/
mod.rs

1#[cfg(test)]
2use crate::constants::{HASH_PARAMS, NONCE_SIZE, SALT_SIZE};
3#[cfg(test)]
4use crate::decrypt::decrypt;
5#[cfg(test)]
6use crate::encrypt::encrypt;
7
8#[test]
9fn test_encrypt() {
10    let password = "password";
11    let data = "data";
12
13    let result = encrypt(password, data.as_bytes());
14    assert!(result.is_ok());
15
16    let cipher_data = result.unwrap();
17    assert_eq!(
18        cipher_data.encrypted_bytes.len(),
19        HASH_PARAMS.output_length - NONCE_SIZE
20    );
21    assert_eq!(cipher_data.salt.len(), SALT_SIZE);
22    assert_eq!(cipher_data.nonce.len(), NONCE_SIZE);
23}
24
25#[test]
26fn test_encrypt_decrypt() {
27    let password = "password";
28    let data = "data";
29
30    let cipher_data = encrypt(password, data.as_bytes()).unwrap();
31    let result = decrypt(password, cipher_data);
32    assert!(result.is_ok());
33
34    let decrypted_data = result.unwrap();
35    assert_eq!(decrypted_data, data.as_bytes());
36}
37
38#[test]
39fn test_encrypt_decrypt_bad_password() {
40    let data = "data";
41
42    let cipher_data = encrypt("password", data.as_bytes()).unwrap();
43    decrypt("wrong", cipher_data).expect_err("Wrong password should failed");
44}