mod credentials;
mod token;
pub use token::TokenManager;
#[cfg(test)]
mod test {
use super::*;
#[tokio::test]
async fn smoke_test() {
let scopes = ["https://www.googleapis.com/auth/cloud-platform"];
let mut tm = TokenManager::new(scopes.as_ref()).await.unwrap();
let now = tokio::time::Instant::now();
loop {
let token = tm.token().await.unwrap();
println!("{}", token);
assert!(reqwest::get(&format!(
"https://www.googleapis.com/oauth2/v1/tokeninfo?access_token={}",
token
))
.await
.is_ok());
tokio::time::sleep(tokio::time::Duration::from_secs(360)).await;
let dur = now.elapsed();
if dur > tokio::time::Duration::from_secs(3600 * 2) {
break;
}
}
}
}