mirror of
https://github.com/chatmail/core.git
synced 2026-05-08 09:26:29 +03:00
test: test expiration of non-ephemeral message with unknown viewtype
This commit is contained in:
@@ -859,3 +859,35 @@ async fn test_disappearing_unknown_viewtype() -> Result<()> {
|
|||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Tests that deletion of a message with unknown viewtype
|
||||||
|
/// triggered by `delete_device_after`
|
||||||
|
/// does not make `delete_expired_messages` fail.
|
||||||
|
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
|
||||||
|
async fn test_delete_device_after_unknown_viewtype() -> Result<()> {
|
||||||
|
let mut tcm = TestContextManager::new();
|
||||||
|
let alice = &tcm.alice().await;
|
||||||
|
let bob = &tcm.bob().await;
|
||||||
|
|
||||||
|
let chat = alice.create_chat(bob).await;
|
||||||
|
alice
|
||||||
|
.set_config(Config::DeleteDeviceAfter, Some("600"))
|
||||||
|
.await?;
|
||||||
|
|
||||||
|
let mut msg = Message::new_text("Some message".to_string());
|
||||||
|
let _alice_sent_message = alice.send_msg(chat.id, &mut msg).await;
|
||||||
|
|
||||||
|
// Set message viewtype to unassigned
|
||||||
|
// type 70 that was previously used for videochat invitations.
|
||||||
|
alice
|
||||||
|
.sql
|
||||||
|
.execute("UPDATE msgs SET type=70 WHERE id=?", (msg.id,))
|
||||||
|
.await?;
|
||||||
|
|
||||||
|
SystemTime::shift(Duration::from_secs(1000));
|
||||||
|
|
||||||
|
// This should not fail.
|
||||||
|
delete_expired_messages(alice, time()).await?;
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user