mirror of
https://github.com/chatmail/core.git
synced 2026-05-08 09:26:29 +03:00
test: test expiration of ephemeral messages with unknown viewtype
This commit is contained in:
@@ -826,3 +826,36 @@ async fn test_ephemeral_timer_non_member() -> Result<()> {
|
|||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Tests that expiration of a disappearing message
|
||||||
|
/// with unknown viewtype does not make `delete_expired_messages` fail.
|
||||||
|
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
|
||||||
|
async fn test_disappearing_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;
|
||||||
|
|
||||||
|
let duration = 60;
|
||||||
|
chat.id
|
||||||
|
.set_ephemeral_timer(alice, Timer::Enabled { duration })
|
||||||
|
.await?;
|
||||||
|
|
||||||
|
let mut msg = Message::new_text("Expiring 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(100));
|
||||||
|
|
||||||
|
// This should not fail.
|
||||||
|
delete_expired_messages(alice, time()).await?;
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user