use uuid::Uuid;
pub fn generate_nonce(prefix: &str) -> String {
format!("{}-{}", prefix, Uuid::new_v4())
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_generate_nonce_format() {
let nonce = generate_nonce("test");
assert!(nonce.starts_with("test-"));
assert!(nonce.len() > 5); }
#[test]
fn test_generate_nonce_uniqueness() {
let nonce1 = generate_nonce("test");
let nonce2 = generate_nonce("test");
assert_ne!(nonce1, nonce2, "Nonces should be unique");
}
#[test]
fn test_generate_nonce_different_prefixes() {
let nonce1 = generate_nonce("set-activity");
let nonce2 = generate_nonce("clear-activity");
assert!(nonce1.starts_with("set-activity-"));
assert!(nonce2.starts_with("clear-activity-"));
assert_ne!(nonce1, nonce2);
}
}