@@ -18,17 +18,14 @@ use assert_matches::assert_matches;
18
18
use async_trait:: async_trait;
19
19
use futures_util:: FutureExt ;
20
20
use matrix_sdk:: {
21
- config:: SyncSettings ,
22
21
test_utils:: mocks:: MatrixMockServer ,
23
22
widget:: {
24
23
Capabilities , CapabilitiesProvider , WidgetDriver , WidgetDriverHandle , WidgetSettings ,
25
24
} ,
26
25
Client ,
27
26
} ;
28
27
use matrix_sdk_common:: { executor:: spawn, timeout:: timeout} ;
29
- use matrix_sdk_test:: {
30
- async_test, EventBuilder , JoinedRoomBuilder , SyncResponseBuilder , ALICE , BOB ,
31
- } ;
28
+ use matrix_sdk_test:: { async_test, EventBuilder , JoinedRoomBuilder , ALICE , BOB } ;
32
29
use once_cell:: sync:: Lazy ;
33
30
use ruma:: {
34
31
event_id,
@@ -50,8 +47,6 @@ use wiremock::{
50
47
Mock , ResponseTemplate ,
51
48
} ;
52
49
53
- use crate :: mock_sync;
54
-
55
50
/// Create a JSON string from a [`json!`][serde_json::json] "literal".
56
51
#[ macro_export]
57
52
macro_rules! json_string {
@@ -246,7 +241,7 @@ async fn test_read_messages() {
246
241
"start" : "t392-516_47314_0_7_1_1_1_11444_1"
247
242
} ) ;
248
243
Mock :: given ( method ( "GET" ) )
249
- . and ( path_regex ( r"^/_matrix/client/r0 /rooms/.*/messages$" ) )
244
+ . and ( path_regex ( r"^/_matrix/client/v3 /rooms/.*/messages$" ) )
250
245
. and ( header ( "authorization" , "Bearer 1234" ) )
251
246
. and ( query_param ( "limit" , "2" ) )
252
247
. respond_with ( ResponseTemplate :: new ( 200 ) . set_body_json ( response_json) )
@@ -341,7 +336,7 @@ async fn test_read_messages_with_msgtype_capabilities() {
341
336
"start" : "t392-516_47314_0_7_1_1_1_11444_1"
342
337
} ) ;
343
338
Mock :: given ( method ( "GET" ) )
344
- . and ( path_regex ( r"^/_matrix/client/r0 /rooms/.*/messages$" ) )
339
+ . and ( path_regex ( r"^/_matrix/client/v3 /rooms/.*/messages$" ) )
345
340
. and ( header ( "authorization" , "Bearer 1234" ) )
346
341
. and ( query_param ( "limit" , "3" ) )
347
342
. respond_with ( ResponseTemplate :: new ( 200 ) . set_body_json ( response_json) )
@@ -429,58 +424,54 @@ async fn test_receive_live_events() {
429
424
// No messages from the driver yet
430
425
assert_matches ! ( recv_message( & driver_handle) . now_or_never( ) , None ) ;
431
426
432
- let mut sync_builder = SyncResponseBuilder :: new ( ) ;
433
- // bump the internal batch counter, otherwise the response will be seen as
434
- // identical to the one done in `run_test_driver`
435
- sync_builder. build_json_sync_response ( ) ;
436
-
437
- let event_builder = EventBuilder :: new ( ) ;
438
- sync_builder. add_joined_room (
439
- JoinedRoomBuilder :: new ( & ROOM_ID )
440
- // text message from alice - matches filter #2
441
- . add_timeline_event ( event_builder. make_sync_message_event (
442
- & ALICE ,
443
- RoomMessageEventContent :: text_plain ( "simple text message" ) ,
444
- ) )
445
- // emote from alice - doesn't match
446
- . add_timeline_event ( event_builder. make_sync_message_event (
447
- & ALICE ,
448
- RoomMessageEventContent :: emote_plain ( "emote message" ) ,
449
- ) )
450
- // pointless member event - matches filter #4
451
- . add_timeline_event ( event_builder. make_sync_state_event (
452
- user_id ! ( "@example:localhost" ) ,
453
- "@example:localhost" ,
454
- RoomMemberEventContent :: new ( MembershipState :: Join ) ,
455
- Some ( RoomMemberEventContent :: new ( MembershipState :: Join ) ) ,
456
- ) )
457
- // kick alice - doesn't match because the `#@example:localhost` bit
458
- // is about the state_key, not the sender
459
- . add_timeline_event ( event_builder. make_sync_state_event (
460
- user_id ! ( "@example:localhost" ) ,
461
- ALICE . as_str ( ) ,
462
- RoomMemberEventContent :: new ( MembershipState :: Ban ) ,
463
- Some ( RoomMemberEventContent :: new ( MembershipState :: Join ) ) ,
464
- ) )
465
- // set room tpoic - doesn't match
466
- . add_timeline_event ( event_builder. make_sync_state_event (
467
- & BOB ,
468
- "" ,
469
- RoomTopicEventContent :: new ( "new room topic" . to_owned ( ) ) ,
470
- None ,
471
- ) )
472
- // set room name - matches filter #3
473
- . add_timeline_event ( event_builder. make_sync_state_event (
474
- & BOB ,
475
- "" ,
476
- RoomNameEventContent :: new ( "New Room Name" . to_owned ( ) ) ,
477
- None ,
478
- ) ) ,
479
- ) ;
480
-
481
- mock_sync ( mock_server. server ( ) , sync_builder. build_json_sync_response ( ) , None ) . await ;
482
- let _response =
483
- client. sync_once ( SyncSettings :: new ( ) . timeout ( Duration :: from_millis ( 3000 ) ) ) . await . unwrap ( ) ;
427
+ mock_server
428
+ . mock_sync ( )
429
+ . ok_and_run ( & client, |sync_builder| {
430
+ let event_builder = EventBuilder :: new ( ) ;
431
+ sync_builder. add_joined_room (
432
+ JoinedRoomBuilder :: new ( & ROOM_ID )
433
+ // text message from alice - matches filter #2
434
+ . add_timeline_event ( event_builder. make_sync_message_event (
435
+ & ALICE ,
436
+ RoomMessageEventContent :: text_plain ( "simple text message" ) ,
437
+ ) )
438
+ // emote from alice - doesn't match
439
+ . add_timeline_event ( event_builder. make_sync_message_event (
440
+ & ALICE ,
441
+ RoomMessageEventContent :: emote_plain ( "emote message" ) ,
442
+ ) )
443
+ // pointless member event - matches filter #4
444
+ . add_timeline_event ( event_builder. make_sync_state_event (
445
+ user_id ! ( "@example:localhost" ) ,
446
+ "@example:localhost" ,
447
+ RoomMemberEventContent :: new ( MembershipState :: Join ) ,
448
+ Some ( RoomMemberEventContent :: new ( MembershipState :: Join ) ) ,
449
+ ) )
450
+ // kick alice - doesn't match because the `#@example:localhost` bit
451
+ // is about the state_key, not the sender
452
+ . add_timeline_event ( event_builder. make_sync_state_event (
453
+ user_id ! ( "@example:localhost" ) ,
454
+ ALICE . as_str ( ) ,
455
+ RoomMemberEventContent :: new ( MembershipState :: Ban ) ,
456
+ Some ( RoomMemberEventContent :: new ( MembershipState :: Join ) ) ,
457
+ ) )
458
+ // set room tpoic - doesn't match
459
+ . add_timeline_event ( event_builder. make_sync_state_event (
460
+ & BOB ,
461
+ "" ,
462
+ RoomTopicEventContent :: new ( "new room topic" . to_owned ( ) ) ,
463
+ None ,
464
+ ) )
465
+ // set room name - matches filter #3
466
+ . add_timeline_event ( event_builder. make_sync_state_event (
467
+ & BOB ,
468
+ "" ,
469
+ RoomNameEventContent :: new ( "New Room Name" . to_owned ( ) ) ,
470
+ None ,
471
+ ) ) ,
472
+ ) ;
473
+ } )
474
+ . await ;
484
475
485
476
let msg = recv_message ( & driver_handle) . await ;
486
477
assert_eq ! ( msg[ "api" ] , "toWidget" ) ;
@@ -518,7 +509,7 @@ async fn test_send_room_message() {
518
509
. await ;
519
510
520
511
Mock :: given ( method ( "PUT" ) )
521
- . and ( path_regex ( r"^/_matrix/client/r0 /rooms/.*/send/m.room.message/.*$" ) )
512
+ . and ( path_regex ( r"^/_matrix/client/v3 /rooms/.*/send/m.room.message/.*$" ) )
522
513
. respond_with ( ResponseTemplate :: new ( 200 ) . set_body_json ( json ! ( { "event_id" : "$foobar" } ) ) )
523
514
. expect ( 1 )
524
515
. mount ( mock_server. server ( ) )
@@ -559,7 +550,7 @@ async fn test_send_room_name() {
559
550
. await ;
560
551
561
552
Mock :: given ( method ( "PUT" ) )
562
- . and ( path_regex ( r"^/_matrix/client/r0 /rooms/.*/state/m.room.name/?$" ) )
553
+ . and ( path_regex ( r"^/_matrix/client/v3 /rooms/.*/state/m.room.name/?$" ) )
563
554
. respond_with ( ResponseTemplate :: new ( 200 ) . set_body_json ( json ! ( { "event_id" : "$foobar" } ) ) )
564
555
. expect ( 1 )
565
556
. mount ( mock_server. server ( ) )
0 commit comments