massa_cipher/tests/
mod.rs1#[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}