1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// use std::time::{Duration, SystemTime};
//
// use auth0_management::token::{Token, TokenManager};
// use reqwest::Client;
//
// /// Basic fetch token test.
// #[tokio::test]
// async fn test_get_token() {
// let mut manager = get_working_client();
//
// // Fetches our first token.
// let token_a = manager.get_token().await.unwrap();
// // Fetch the second token. (should be cached)
// let token_b = manager.get_token().await.unwrap();
//
// // Ensure our token didn't expire to validate this came from Auth0.
// assert_eq!(token_a, token_b);
// }
//
// /// Hacky way of testing token expiration.
// #[tokio::test]
// async fn test_update_token() {
// let mut manager = get_working_client();
//
// // Mock "old" token with 0s expiration date.
// manager.token = Some(Token {
// expires_in: 0,
// access_token: "test".to_owned(),
// });
//
// // Mock token last fetch date time to now.
// manager.token_last = SystemTime::now();
//
// // Delay for 1s to simulate expiration of mocked token.
// tokio::time::delay_for(Duration::from_secs(1)).await;
//
// // Get new token.
// let token = manager.get_token().await.unwrap();
//
// // Ensure token isn't the mocked one we defined.
// assert_ne!(token, "test");
// }
//
// fn get_working_client() -> TokenManager {
// TokenManager::new(
// Client::new(),
// &env!("AUTH0_DOMAIN"),
// &env!("AUTH0_AUDIENCE"),
// &env!("AUTH0_CLIENT_ID"),
// &env!("AUTH0_CLIENT_SECRET"),
// )
// }