File tree Expand file tree Collapse file tree 2 files changed +32
-1
lines changed
Expand file tree Collapse file tree 2 files changed +32
-1
lines changed Original file line number Diff line number Diff line change @@ -240,7 +240,6 @@ impl MatrixDriver {
240240 return ;
241241 } ;
242242
243- // Or should I use room.encryption_settings()?
244243 let room_encrypted = room. latest_encryption_state ( ) . await
245244 . map ( |s| s. is_encrypted ( ) )
246245 // Default consider encrypted
Original file line number Diff line number Diff line change @@ -487,6 +487,38 @@ async fn test_receive_live_events() {
487487 assert_matches ! ( recv_message( & driver_handle) . now_or_never( ) , None ) ;
488488}
489489
490+ #[ async_test]
491+ async fn test_block_clear_to_device_in_e2ee_room ( ) {
492+ let ( client, mock_server, driver_handle) = run_test_driver ( false , true ) . await ;
493+
494+ negotiate_capabilities (
495+ & driver_handle,
496+ json ! ( [ "org.matrix.msc3819.receive.to_device:my.custom.to.device" ] ) ,
497+ )
498+ . await ;
499+
500+ // No messages from the driver yet
501+ assert_matches ! ( recv_message( & driver_handle) . now_or_never( ) , None ) ;
502+
503+ mock_server
504+ . mock_sync ( )
505+ . ok_and_run ( & client, |sync_builder| {
506+ sync_builder. add_to_device_event ( json ! ( {
507+ "sender" : "@alice:example.com" ,
508+ "type" : "my.custom.to.device" ,
509+ "content" : {
510+ "a" : "test" ,
511+ }
512+ }
513+ ) ) ;
514+ } )
515+ . await ;
516+
517+ // The message should be filtered out because it is not encrypted and the room
518+ // is encrypted
519+ assert_matches ! ( recv_message( & driver_handle) . now_or_never( ) , None ) ;
520+ }
521+
490522#[ async_test]
491523async fn test_send_room_message ( ) {
492524 let ( _, mock_server, driver_handle) = run_test_driver ( false , false ) . await ;
You can’t perform that action at this time.
0 commit comments