@@ -51,61 +51,21 @@ async fn test_send_encrypted_to_device() {
51
51
"rooms" : [ "!726s6s6q:example.com" ]
52
52
} ) ;
53
53
54
- let device = alice. get_device ( bob. user_id ( ) , bob. device_id ( ) , None ) . await . unwrap ( ) . unwrap ( ) ;
55
- let raw_encrypted = device
56
- . encrypt_event_raw ( custom_event_type, & custom_content)
57
- . await
58
- . expect ( "Should have encrypted the content" ) ;
59
-
60
- let request = ToDeviceRequest :: new (
61
- bob. user_id ( ) ,
62
- DeviceIdOrAllDevices :: DeviceId ( tests:: bob_device_id ( ) . to_owned ( ) ) ,
63
- "m.room.encrypted" ,
64
- raw_encrypted. cast ( ) ,
65
- ) ;
66
-
67
- assert_eq ! ( "m.room.encrypted" , request. event_type. to_string( ) ) ;
68
-
69
- let messages = & request. messages ;
70
- assert_eq ! ( 1 , messages. len( ) ) ;
71
- assert ! ( messages. get( bob. user_id( ) ) . is_some( ) ) ;
72
- let target_devices = messages. get ( bob. user_id ( ) ) . unwrap ( ) ;
73
- assert_eq ! ( 1 , target_devices. len( ) ) ;
74
- assert ! ( target_devices
75
- . get( & DeviceIdOrAllDevices :: DeviceId ( tests:: bob_device_id( ) . to_owned( ) ) )
76
- . is_some( ) ) ;
77
-
78
- let event = ToDeviceEvent :: new (
79
- alice. user_id ( ) . to_owned ( ) ,
80
- tests:: to_device_requests_to_content ( vec ! [ request. clone( ) . into( ) ] ) ,
81
- ) ;
82
-
83
- let event = json_convert ( & event) . unwrap ( ) ;
84
-
85
- let sync_changes = EncryptionSyncChanges {
86
- to_device_events : vec ! [ event] ,
87
- changed_devices : & Default :: default ( ) ,
88
- one_time_keys_counts : & Default :: default ( ) ,
89
- unused_fallback_keys : None ,
90
- next_batch_token : None ,
91
- } ;
92
-
93
- let decryption_settings =
94
- DecryptionSettings { sender_device_trust_requirement : TrustRequirement :: Untrusted } ;
95
-
96
- let ( decrypted, _) =
97
- bob. receive_sync_changes ( sync_changes, & decryption_settings) . await . unwrap ( ) ;
98
-
99
- assert_eq ! ( 1 , decrypted. len( ) ) ;
100
- let processed_event = & decrypted[ 0 ] ;
54
+ let processed_event = send_and_receive_encrypted_to_device_test_helper (
55
+ & alice,
56
+ & bob,
57
+ custom_event_type,
58
+ & custom_content,
59
+ )
60
+ . await ;
101
61
102
62
assert_let ! ( ProcessedToDeviceEvent :: Decrypted { raw, encryption_info } = processed_event) ;
103
63
104
64
let decrypted_event = raw. deserialize ( ) . unwrap ( ) ;
105
65
106
66
assert_eq ! ( decrypted_event. event_type( ) . to_string( ) , custom_event_type. to_owned( ) ) ;
107
67
108
- let decrypted_value = to_raw_value ( & decrypted [ 0 ] . to_raw ( ) ) . unwrap ( ) ;
68
+ let decrypted_value = to_raw_value ( & raw ) . unwrap ( ) ;
109
69
let decrypted_value = serde_json:: to_value ( decrypted_value) . unwrap ( ) ;
110
70
111
71
assert_eq ! (
@@ -164,42 +124,13 @@ async fn test_receive_custom_encrypted_to_device_fails_if_device_unknown() {
164
124
"rooms" : [ "!726s6s6q:example.com" ]
165
125
} ) ;
166
126
167
- let device = alice. get_device ( bob. user_id ( ) , bob. device_id ( ) , None ) . await . unwrap ( ) . unwrap ( ) ;
168
- let raw_encrypted = device
169
- . encrypt_event_raw ( custom_event_type, & custom_content)
170
- . await
171
- . expect ( "Should have encrypted the content" ) ;
172
-
173
- let request = ToDeviceRequest :: new (
174
- bob. user_id ( ) ,
175
- DeviceIdOrAllDevices :: DeviceId ( tests:: bob_device_id ( ) . to_owned ( ) ) ,
176
- "m.room.encrypted" ,
177
- raw_encrypted. cast ( ) ,
178
- ) ;
179
-
180
- let event = ToDeviceEvent :: new (
181
- alice. user_id ( ) . to_owned ( ) ,
182
- tests:: to_device_requests_to_content ( vec ! [ request. clone( ) . into( ) ] ) ,
183
- ) ;
184
-
185
- let event = json_convert ( & event) . unwrap ( ) ;
186
-
187
- let sync_changes = EncryptionSyncChanges {
188
- to_device_events : vec ! [ event] ,
189
- changed_devices : & Default :: default ( ) ,
190
- one_time_keys_counts : & Default :: default ( ) ,
191
- unused_fallback_keys : None ,
192
- next_batch_token : None ,
193
- } ;
194
-
195
- let decryption_settings =
196
- DecryptionSettings { sender_device_trust_requirement : TrustRequirement :: Untrusted } ;
197
-
198
- let ( decrypted, _) =
199
- bob. receive_sync_changes ( sync_changes, & decryption_settings) . await . unwrap ( ) ;
200
-
201
- assert_eq ! ( 1 , decrypted. len( ) ) ;
202
- let processed_event = & decrypted[ 0 ] ;
127
+ let processed_event = send_and_receive_encrypted_to_device_test_helper (
128
+ & alice,
129
+ & bob,
130
+ custom_event_type,
131
+ & custom_content,
132
+ )
133
+ . await ;
203
134
204
135
assert_let ! ( ProcessedToDeviceEvent :: UnableToDecrypt ( _) = processed_event) ;
205
136
}
0 commit comments