File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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 (
You can’t perform that action at this time.
0 commit comments