Added test and fixed conditional statement

This commit is contained in:
2025-08-06 18:37:34 -04:00
parent c8edff82b6
commit 7bd7d9b96b

View File

@@ -100,7 +100,7 @@ pub fn create_token(
payload.set_subject(message);
payload.set_issuer(issuer);
payload.set_audience(audiences.clone());
if token_resource.id.is_nil() {
if !token_resource.id.is_nil() {
match payload.set_claim("id", Some(serde_json::json!(token_resource.id))) {
Ok(_) => {
}
@@ -178,4 +178,25 @@ mod tests {
}
}
}
#[test]
fn test_token_creation_with_id() {
let key = test_key();
let mut test_token_resource = test_resource();
test_token_resource.id = uuid::Uuid::new_v4();
let token_expiration_duration = time::Duration::hours(2);
match create_token(&key, &test_token_resource, token_expiration_duration) {
Ok((token, expire_duration)) => {
assert_eq!(false, token.is_empty(), "Error: Token is empty");
assert!(
expire_duration > 0,
"Token expire duration is invalid {expire_duration:?}"
);
}
Err(err) => {
assert!(false, "Error: {err:?}");
}
}
}
}