@@ -216,6 +216,7 @@ mod tests {
216216 use crate :: headerdef:: { HeaderDef , HeaderDefMap } ;
217217 use crate :: message:: Viewtype ;
218218 use crate :: receive_imf:: receive_imf_from_inbox;
219+ use crate :: mimeparser:: MimeMessage ;
219220 use crate :: test_utils:: TestContext ;
220221
221222 #[ test]
@@ -315,11 +316,15 @@ mod tests {
315316 }
316317 /// Tests that pre message is sent for attachment larger than `PRE_MESSAGE_ATTACHMENT_SIZE_THRESHOLD`
317318 /// Also test that pre message is sent first, before the full message
319+ /// And that Autocrypt-gossip and selfavatar never go into full-messages
318320 #[ tokio:: test( flavor = "multi_thread" , worker_threads = 2 ) ]
319321 async fn test_sending_pre_message ( ) -> Result < ( ) > {
320322 let alice = TestContext :: new_alice ( ) . await ;
321323 let bob = TestContext :: new_bob ( ) . await ;
322- let chat = alice. create_chat ( & bob) . await ;
324+ let fiona = TestContext :: new_fiona ( ) . await ;
325+ let group_id = alice
326+ . create_group_with_members ( "test group" , & [ & bob, & fiona] )
327+ . await ;
323328
324329 let mut msg = Message :: new ( Viewtype :: File ) ;
325330 msg. set_file_from_bytes ( & alice. ctx , "test.bin" , & [ 0u8 ; 300_000 ] , None ) ?;
@@ -330,7 +335,9 @@ mod tests {
330335 msg. get_filebytes( & alice. ctx) . await ?. unwrap( ) > PRE_MESSAGE_ATTACHMENT_SIZE_THRESHOLD
331336 ) ;
332337
333- let msg_id = chat:: send_msg ( & alice. ctx , chat. id , & mut msg) . await . unwrap ( ) ;
338+ let msg_id = chat:: send_msg ( & alice. ctx , group_id, & mut msg)
339+ . await
340+ . unwrap ( ) ;
334341 let smtp_rows = alice. get_smtp_rows_for_msg ( msg_id) . await ;
335342
336343 // pre-message and full message should be present
@@ -343,13 +350,12 @@ mod tests {
343350 . 2
344351 . as_bytes ( ) ,
345352 ) ?;
346- let full_message = mailparse:: parse_mail (
347- smtp_rows
348- . get ( 1 )
349- . expect ( "second element exists" )
350- . 2
351- . as_bytes ( ) ,
352- ) ?;
353+ let full_message_bytes = smtp_rows
354+ . get ( 1 )
355+ . expect ( "second element exists" )
356+ . 2
357+ . as_bytes ( ) ;
358+ let full_message = mailparse:: parse_mail ( full_message_bytes) ?;
353359
354360 assert ! (
355361 pre_message
@@ -390,7 +396,10 @@ mod tests {
390396 ) ;
391397
392398 // also test that Autocrypt-gossip and selfavatar should never go into full-messages
393- // TODO: (this needs decryption, right?)
399+ let decrypted_full_message = MimeMessage :: from_bytes ( & bob. ctx , full_message_bytes) . await ?;
400+ assert ! ( !decrypted_full_message. decrypting_failed) ;
401+ assert_eq ! ( decrypted_full_message. gossiped_keys. len( ) , 0 ) ;
402+ assert_eq ! ( decrypted_full_message. user_avatar, None ) ;
394403 Ok ( ( ) )
395404 }
396405
0 commit comments