use crate::handlers::pxapi::*;
use crate::pxconfig::PXConfig;
use crate::pxcontext::{CookieVersion, PXContext};
use serde_json::json;
#[test]
fn risk_response_sets_additional_token_info() {
let mut ctx = PXContext {
cookie_version: Some(CookieVersion::V2),
..Default::default()
};
let conf = PXConfig::default();
let risk_body = json!({
"action": "c",
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"score": 0,
"additional_token_info": "token-info",
});
assert!(!verify_risk_response(&mut ctx, &conf, &risk_body));
assert_eq!(ctx.additional_token_info.as_deref(), Some("token-info"));
}
#[test]
fn risk_response_without_additional_token_info_preserves_existing_value() {
let mut ctx = PXContext {
additional_token_info: Some("cookie-token-info".to_string()),
cookie_version: Some(CookieVersion::V3),
..Default::default()
};
let conf = PXConfig::default();
let risk_body = json!({
"action": "c",
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"score": 0,
});
assert!(!verify_risk_response(&mut ctx, &conf, &risk_body));
assert_eq!(
ctx.additional_token_info.as_deref(),
Some("cookie-token-info")
);
}