Add new test to validate TOTP codes generation
This commit is contained in:
parent
834ba1987e
commit
10982190e7
@ -94,4 +94,23 @@ impl TotpKey {
|
|||||||
pub fn check_code(&self, code: &str) -> Res<bool> {
|
pub fn check_code(&self, code: &str) -> Res<bool> {
|
||||||
Ok(self.current_code()?.eq(code) || self.previous_code()?.eq(code))
|
Ok(self.current_code()?.eq(code) || self.previous_code()?.eq(code))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod test {
|
||||||
|
use crate::data::totp_key::TotpKey;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_timing() {
|
||||||
|
let key = TotpKey::new_random();
|
||||||
|
let code = key.current_code().unwrap();
|
||||||
|
let old_code = key.previous_code().unwrap();
|
||||||
|
assert_ne!(code, old_code);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_generation() {
|
||||||
|
let key = TotpKey::from_encoded_secret("JBSWY3DPEHPK3PXP");
|
||||||
|
assert_eq!("124851", key.get_code_at(|| 1650470683).unwrap());
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user