pub fn create_session_token() -> String { let mut random = ChaCha8Rng::seed_from_u64(OsRng.next_u64()); let mut u128_pool = [0u8; 16]; random.fill_bytes(&mut u128_pool); let session_token = u128::from_le_bytes(u128_pool); return session_token.to_string(); } #[cfg(test)] mod tests { use super::*; #[test] fn test_create_session_token() { let token = create_session_token(); let token_filter = token.clone().chars().filter(|&c| matches!(c, '0' ..= '9')).collect::<String>(); assert_eq!(token_filter.len(), token.len()); } }
warning: `app` (bin “app” test) generated 7 warnings (run `cargo fix –bin “app” –tests` to apply 7 suggestions)
Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
Running unittests src/main.rs (target/debug/deps/app-22ae7a27958c3b49)
running 1 test
test tests::test_create_session_token … ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
うーん、渋い