mod common;
use common::{init, test_client};
#[tokio::test]
async fn test_openid_token_requires_valid_code() {
init();
let client = skip_if_no_client!(test_client());
let result = client
.openid()
.token(
"invalid-code",
"invalid-client-id",
"invalid-client-secret",
None,
)
.await;
match result {
Ok(_) => {
println!("✗ openid.connect.token: unexpectedly succeeded");
}
Err(e) => {
println!("✓ openid.connect.token: {} (requires valid OIDC flow)", e);
}
}
}
#[tokio::test]
async fn test_openid_user_info() {
init();
let client = skip_if_no_client!(test_client());
let result = client.openid().user_info().await;
match result {
Ok(response) => {
println!(
"✓ openid.connect.userInfo: user={} email={:?}",
response.sub, response.email
);
}
Err(e) => {
println!("✓ openid.connect.userInfo: {} (requires OIDC token)", e);
}
}
}
#[tokio::test]
async fn test_openid_refresh_token() {
init();
let client = skip_if_no_client!(test_client());
let result = client
.openid()
.refresh_token(
"invalid-refresh-token",
"invalid-client-id",
"invalid-client-secret",
)
.await;
match result {
Ok(_) => {
println!("✗ openid.connect.token (refresh): unexpectedly succeeded");
}
Err(e) => {
println!(
"✓ openid.connect.token (refresh): {} (requires valid refresh token)",
e
);
}
}
}