From 892c99f0f3fbef93ad0106859d61120914d8f2ea Mon Sep 17 00:00:00 2001 From: Ivan Enderlin Date: Wed, 26 Feb 2025 16:05:37 +0100 Subject: [PATCH] test(sqlite): Improve a test to check uniqueness constraint. --- .../src/event_cache_store.rs | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/crates/matrix-sdk-sqlite/src/event_cache_store.rs b/crates/matrix-sdk-sqlite/src/event_cache_store.rs index b56857f4c..235e1b6aa 100644 --- a/crates/matrix-sdk-sqlite/src/event_cache_store.rs +++ b/crates/matrix-sdk-sqlite/src/event_cache_store.rs @@ -1864,6 +1864,9 @@ mod tests { let store = get_event_cache_store().await.expect("creating cache store failed"); let room_id = *DEFAULT_TEST_ROOM_ID; + let event_0 = make_test_event(room_id, "hello"); + let event_1 = make_test_event(room_id, "world"); + let event_2 = make_test_event(room_id, "howdy"); store .handle_linked_chunk_updates( @@ -1882,11 +1885,7 @@ mod tests { }, Update::PushItems { at: Position::new(ChunkIdentifier::new(42), 0), - items: vec![ - make_test_event(room_id, "hello"), - make_test_event(room_id, "world"), - make_test_event(room_id, "howdy"), - ], + items: vec![event_0.clone(), event_1, event_2], }, Update::Clear, ], @@ -1896,6 +1895,25 @@ mod tests { let chunks = store.load_all_chunks(room_id).await.unwrap(); assert!(chunks.is_empty()); + + // It's okay to re-insert a past event. + store + .handle_linked_chunk_updates( + room_id, + vec![ + Update::NewItemsChunk { + previous: None, + new: ChunkIdentifier::new(42), + next: None, + }, + Update::PushItems { + at: Position::new(ChunkIdentifier::new(42), 0), + items: vec![event_0], + }, + ], + ) + .await + .unwrap(); } #[async_test]