@@ -182,7 +182,7 @@ mod test_serialize {
182182 let message: ClientMessage = re_serialize ( message) ;
183183
184184 assert ! ( matches!( message, ClientMessage :: Request ( client_message)
185- if matches!( & client_message. request, RequestFromClient :: CustomRequest ( _) ) && client_message. method == "my_custom_method"
185+ if matches!( & client_message. request, RequestFromClient :: CustomRequest ( _) ) && client_message. method == "my_custom_method"
186186 ) ) ;
187187
188188 // test From<serde_json::Value> for RequestFromClient
@@ -388,7 +388,7 @@ mod test_serialize {
388388 let message: ClientMessage = re_serialize ( message) ;
389389
390390 assert ! ( matches!( message, ClientMessage :: Notification ( client_message)
391- if matches!( & client_message. notification, NotificationFromClient :: ClientNotification ( client_notification)
391+ if matches!( & client_message. notification, NotificationFromClient :: ClientNotification ( client_notification)
392392 if matches!( client_notification, ClientNotification :: InitializedNotification ( _) ) )
393393 ) ) ;
394394
@@ -519,7 +519,7 @@ mod test_serialize {
519519 let message: ServerMessage = re_serialize ( message) ;
520520
521521 assert ! ( matches!( message, ServerMessage :: Request ( server_message)
522- if matches!( & server_message. request, RequestFromServer :: ServerRequest ( server_request)
522+ if matches!( & server_message. request, RequestFromServer :: ServerRequest ( server_request)
523523 if matches!( server_request, ServerRequest :: CreateMessageRequest ( _) ) )
524524 ) ) ;
525525 }
@@ -697,4 +697,47 @@ mod test_serialize {
697697 assert ! ( matches!( & message. request, RequestFromClient :: ClientRequest ( client_request)
698698 if matches!( client_request, ClientRequest :: PingRequest ( _) ) ) ) ;
699699 }
700+
701+ #[ test]
702+ fn test_client_jsonrpc_notification ( ) {
703+ let message = ClientJsonrpcNotification :: new ( NotificationFromClient :: CustomNotification ( json ! ( { "method" : "notify" } ) ) ) ;
704+
705+ let message_str = message. to_string ( ) ;
706+
707+ let message: ClientJsonrpcNotification = ClientJsonrpcNotification :: from_str ( & message_str) . unwrap ( ) ;
708+
709+ assert ! (
710+ matches!( & message. notification, NotificationFromClient :: CustomNotification ( client_request)
711+ if client_request[ "method" ] == "notify" )
712+ ) ;
713+ }
714+
715+ #[ test]
716+ fn test_server_jsonrpc_request ( ) {
717+ let message = ServerJsonrpcRequest :: new (
718+ RequestId :: Integer ( 15 ) ,
719+ RequestFromServer :: CustomRequest ( json ! ( { "method" : "req" } ) ) ,
720+ ) ;
721+
722+ let message_str = message. to_string ( ) ;
723+
724+ let message: ServerJsonrpcRequest = ServerJsonrpcRequest :: from_str ( & message_str) . unwrap ( ) ;
725+
726+ assert ! ( matches!( & message. request, RequestFromServer :: CustomRequest ( request)
727+ if request[ "method" ] == "req" ) ) ;
728+ }
729+
730+ #[ test]
731+ fn test_server_jsonrpc_notification ( ) {
732+ let message = ServerJsonrpcNotification :: new ( NotificationFromServer :: CustomNotification ( json ! ( { "method" : "notify" } ) ) ) ;
733+
734+ let message_str = message. to_string ( ) ;
735+
736+ let message: ServerJsonrpcNotification = ServerJsonrpcNotification :: from_str ( & message_str) . unwrap ( ) ;
737+
738+ assert ! (
739+ matches!( & message. notification, NotificationFromServer :: CustomNotification ( server_request)
740+ if server_request[ "method" ] == "notify" )
741+ ) ;
742+ }
700743}
0 commit comments