@@ -38,7 +38,7 @@ use ruma::{
3838 name:: RoomNameEventContent ,
3939 topic:: RoomTopicEventContent ,
4040 } ,
41- AnyStateEvent , StateEventType ,
41+ AnyStateEvent , MessageLikeEventType , StateEventType ,
4242 } ,
4343 owned_room_id,
4444 serde:: { JsonObject , Raw } ,
@@ -48,7 +48,7 @@ use serde::Serialize;
4848use serde_json:: { json, Value as JsonValue } ;
4949use tracing:: error;
5050use wiremock:: {
51- matchers:: { header , method, path_regex, query_param } ,
51+ matchers:: { method, path_regex} ,
5252 Mock , ResponseTemplate ,
5353} ;
5454
@@ -245,13 +245,12 @@ async fn test_read_messages() {
245245 "end" : "t47409-4357353_219380_26003_2269" ,
246246 "start" : "t392-516_47314_0_7_1_1_1_11444_1"
247247 } ) ;
248- Mock :: given ( method ( "GET" ) )
249- . and ( path_regex ( r"^/_matrix/client/v3/rooms/.*/messages$" ) )
250- . and ( header ( "authorization" , "Bearer 1234" ) )
251- . and ( query_param ( "limit" , "2" ) )
248+ mock_server
249+ . mock_room_messages ( )
250+ . limit ( 2 )
252251 . respond_with ( ResponseTemplate :: new ( 200 ) . set_body_json ( response_json) )
253- . expect ( 1 )
254- . mount ( mock_server . server ( ) )
252+ . mock_once ( )
253+ . mount ( )
255254 . await ;
256255
257256 // Ask the driver to read messages
@@ -566,15 +565,15 @@ async fn test_send_delayed_message_event() {
566565 ] ) ,
567566 )
568567 . await ;
569-
570- Mock :: given ( method ( "PUT" ) )
571- . and ( path_regex ( r"^/_matrix/client/v3/rooms/.*/send/m.room.message/.*" ) )
572- . and ( query_param ( "org.matrix.msc4140.delay" , "1000" ) )
568+ mock_server
569+ . mock_room_send ( )
570+ . with_delay ( Duration :: from_micros ( 1000 ) )
571+ . for_type ( MessageLikeEventType :: RoomMessage )
573572 . respond_with ( ResponseTemplate :: new ( 200 ) . set_body_json ( json ! ( {
574573 "delay_id" : "1234" ,
575574 } ) ) )
576- . expect ( 1 )
577- . mount ( mock_server . server ( ) )
575+ . mock_once ( )
576+ . mount ( )
578577 . await ;
579578
580579 send_request (
@@ -613,14 +612,15 @@ async fn test_send_delayed_state_event() {
613612 )
614613 . await ;
615614
616- Mock :: given ( method ( "PUT" ) )
617- . and ( path_regex ( r"^/_matrix/client/v3/rooms/.*/state/m.room.name/.*" ) )
618- . and ( query_param ( "org.matrix.msc4140.delay" , "1000" ) )
615+ mock_server
616+ . mock_room_send_state ( )
617+ . with_delay ( Duration :: from_micros ( 1000 ) )
618+ . for_type ( StateEventType :: RoomName )
619619 . respond_with ( ResponseTemplate :: new ( 200 ) . set_body_json ( json ! ( {
620620 "delay_id" : "1234" ,
621621 } ) ) )
622- . expect ( 1 )
623- . mount ( mock_server . server ( ) )
622+ . mock_once ( )
623+ . mount ( )
624624 . await ;
625625
626626 send_request (
@@ -659,16 +659,14 @@ async fn test_fail_sending_delay_rate_limit() {
659659 )
660660 . await ;
661661
662- // TODO convert to mock_server.mock_room_send().for_type()... once for_type is
663- // available
664- Mock :: given ( method ( "PUT" ) )
665- . and ( path_regex ( r"^/_matrix/client/v3/rooms/.*/send/m.room.message/.*$" ) )
662+ mock_server
663+ . mock_room_send ( )
666664 . respond_with ( ResponseTemplate :: new ( 400 ) . set_body_json ( json ! ( {
667665 "errcode" : "M_LIMIT_EXCEEDED" ,
668666 "error" : "Sending too many delay events"
669667 } ) ) )
670- . expect ( 1 )
671- . mount ( mock_server . server ( ) )
668+ . mock_once ( )
669+ . mount ( )
672670 . await ;
673671
674672 send_request (
0 commit comments