Skip to content

Commit fbcbeec

Browse files
committed
Add extra test
1 parent dbe9564 commit fbcbeec

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

src/elicitation.rs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1476,6 +1476,33 @@ mod tests {
14761476
);
14771477
}
14781478

1479+
#[test]
1480+
fn url_mode_request_scope_serialization() {
1481+
let req = CreateElicitationRequest::new(
1482+
ElicitationMode::Url(ElicitationUrlMode::new(
1483+
ElicitationScope::Request(ElicitationRequestScope::new(RequestId::Number(42))),
1484+
"elic_2",
1485+
"https://example.com/setup",
1486+
)),
1487+
"Please complete setup",
1488+
);
1489+
1490+
let json = serde_json::to_value(&req).unwrap();
1491+
assert_eq!(json["requestId"], 42);
1492+
assert!(json.get("sessionId").is_none());
1493+
assert_eq!(json["mode"], "url");
1494+
assert_eq!(json["elicitationId"], "elic_2");
1495+
assert_eq!(json["url"], "https://example.com/setup");
1496+
assert_eq!(json["message"], "Please complete setup");
1497+
1498+
let roundtripped: CreateElicitationRequest = serde_json::from_value(json).unwrap();
1499+
assert_eq!(
1500+
*roundtripped.scope(),
1501+
ElicitationScope::Request(ElicitationRequestScope::new(RequestId::Number(42)))
1502+
);
1503+
assert!(matches!(roundtripped.mode, ElicitationMode::Url(_)));
1504+
}
1505+
14791506
#[test]
14801507
fn request_scope_request_serialization() {
14811508
let req = CreateElicitationRequest::new(

0 commit comments

Comments
 (0)