#[cfg(feature = "steam")]
use crate::{Algorithm, TOTP};
#[cfg(feature = "steam")]
#[cfg_attr(docsrs, doc(cfg(feature = "steam")))]
impl TOTP {
#[cfg(feature = "otpauth")]
pub fn new_steam(secret: Vec<u8>, account_name: String) -> TOTP {
Self::new_unchecked(Algorithm::Steam, 5, 1, 30, secret, Some("Steam".into()), account_name)
}
#[cfg(not(feature = "otpauth"))]
pub fn new_steam(secret: Vec<u8>) -> TOTP {
Self::new_unchecked(Algorithm::Steam, 5, 1, 30, secret)
}
}
#[cfg(all(test, feature = "steam"))]
mod test {
#[cfg(feature = "otpauth")]
use super::*;
#[test]
#[cfg(feature = "otpauth")]
fn get_url_steam() {
let totp = TOTP::new_steam("TestSecretSuperSecret".into(), "constantoine".into());
let url = totp.get_url();
assert_eq!(
url.as_str(),
"otpauth://steam/Steam:constantoine?secret=KRSXG5CTMVRXEZLUKN2XAZLSKNSWG4TFOQ&digits=5&algorithm=SHA1&issuer=Steam"
);
}
}