@@ -182,7 +182,7 @@ mod test_serialize {
182
182
let message: ClientMessage = re_serialize ( message) ;
183
183
184
184
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"
186
186
) ) ;
187
187
188
188
// test From<serde_json::Value> for RequestFromClient
@@ -388,7 +388,7 @@ mod test_serialize {
388
388
let message: ClientMessage = re_serialize ( message) ;
389
389
390
390
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)
392
392
if matches!( client_notification, ClientNotification :: InitializedNotification ( _) ) )
393
393
) ) ;
394
394
@@ -519,7 +519,7 @@ mod test_serialize {
519
519
let message: ServerMessage = re_serialize ( message) ;
520
520
521
521
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)
523
523
if matches!( server_request, ServerRequest :: CreateMessageRequest ( _) ) )
524
524
) ) ;
525
525
}
@@ -697,4 +697,47 @@ mod test_serialize {
697
697
assert ! ( matches!( & message. request, RequestFromClient :: ClientRequest ( client_request)
698
698
if matches!( client_request, ClientRequest :: PingRequest ( _) ) ) ) ;
699
699
}
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
+ }
700
743
}
0 commit comments