sharenet_passport_creator/src/domain/entities_test.rs
2025-10-03 23:50:15 -04:00

53 lines
No EOL
1.5 KiB
Rust

#[cfg(test)]
mod tests {
use crate::domain::entities::{RecoveryPhrase, PublicKey, Did, Seed, PrivateKey};
use zeroize::Zeroize;
#[test]
fn test_recovery_phrase_creation() {
let words = vec![
"word1".to_string(),
"word2".to_string(),
"word3".to_string(),
];
let phrase = RecoveryPhrase::new(words.clone());
assert_eq!(phrase.words(), &words);
assert_eq!(phrase.to_string(), "word1 word2 word3");
}
#[test]
fn test_did_generation() {
let public_key = PublicKey(vec![1, 2, 3, 4, 5]);
let did = Did::new(&public_key);
assert!(did.as_str().starts_with("did:sharenet:"));
assert!(did.as_str().contains(&hex::encode(&public_key.0)));
}
#[test]
fn test_seed_zeroization() {
let mut seed = Seed::new(vec![1, 2, 3, 4, 5]);
// Access the bytes
let bytes = seed.as_bytes();
assert_eq!(bytes, &[1, 2, 3, 4, 5]);
// Zeroize should clear the data
seed.zeroize();
// After zeroization, bytes should be empty (zeroize clears the vector)
assert_eq!(seed.as_bytes(), &[]);
}
#[test]
fn test_private_key_zeroization() {
let mut private_key = PrivateKey(vec![1, 2, 3, 4, 5]);
// Zeroize should clear the data
private_key.zeroize();
// After zeroization, bytes should be empty (zeroize clears the vector)
assert_eq!(private_key.0, vec![]);
}
}