Files
core/test/rust/native/application/auth/metadata.rs
T
2026-11-03 03:32:07 +00:00

36 lines
1.5 KiB
Rust

use super::*;
pub(super) fn check(port: u16) {
let headers = "Origin: https://fixture.test\r\nContent-Type: application/json\r\nX-Test: request-value\r\nCookie: theme=light\r\nX-Forwarded-For: 203.0.113.9\r\n";
let path = "/demo/account/admin/metadata/metadata";
let mut previous = None;
for _ in 0..2 {
let (status, head, body) = request_head(port, "POST", path, "fixture.test", headers, "{}");
assert_eq!(status, 200, "{body}");
let value = serde_json::from_str::<serde_json::Value>(&body).unwrap()["data"].clone();
assert_eq!(value["method"], "POST");
assert_eq!(value["path"], path);
assert_eq!(value["address"], "127.0.0.1");
assert_eq!(value["header"], "request-value");
assert_eq!(value["cookie"], "light");
let id = value["request_id"].as_str().unwrap().to_owned();
assert!(head.contains(&format!("x-request-id: {id}")));
assert!(head.contains("set-cookie: theme=dark; Path=/; SameSite=Lax; Secure; HttpOnly"));
assert!(head.contains(
"set-cookie: strict=yes; Path=/; SameSite=Strict; Max-Age=60; Secure; HttpOnly"
));
assert_ne!(previous.as_ref(), Some(&id));
previous = Some(id);
}
let (status, head, _) = request_head(
port,
"POST",
"/demo/account/admin/metadata/metadata_fail",
"fixture.test",
headers,
"{}",
);
assert_eq!(status, 409);
assert!(!head.contains("x-request-id:") && !head.contains("set-cookie:"));
}