Skip to content

Commit 54f0101

Browse files
committed
task: Remove all usages of LinkedChunkBuilderTest.
This patch replaces all usages of `LinkedChunkBuilderTest` by `from_all_chunks`.
1 parent 0bdb7d3 commit 54f0101

File tree

4 files changed

+45
-40
lines changed

4 files changed

+45
-40
lines changed

crates/matrix-sdk-base/src/event_cache/store/integration_tests.rs

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,7 @@ use matrix_sdk_common::{
2121
AlgorithmInfo, DecryptedRoomEvent, EncryptionInfo, TimelineEvent, TimelineEventKind,
2222
VerificationState,
2323
},
24-
linked_chunk::{
25-
lazy_loader, ChunkContent, ChunkIdentifier as CId, LinkedChunk, LinkedChunkBuilderTest,
26-
Position, RawChunk, Update,
27-
},
24+
linked_chunk::{lazy_loader, ChunkContent, ChunkIdentifier as CId, Position, Update},
2825
};
2926
use matrix_sdk_test::{event_factory::EventFactory, ALICE, DEFAULT_TEST_ROOM_ID};
3027
use ruma::{
@@ -34,7 +31,7 @@ use ruma::{
3431

3532
use super::{media::IgnoreMediaRetentionPolicy, DynEventCacheStore};
3633
use crate::{
37-
event_cache::{store::DEFAULT_CHUNK_CAPACITY, Event, Gap},
34+
event_cache::{store::DEFAULT_CHUNK_CAPACITY, Gap},
3835
media::{MediaFormat, MediaRequestParameters, MediaThumbnailSettings},
3936
};
4037

@@ -132,10 +129,6 @@ pub trait EventCacheStoreIntegrationTests {
132129
async fn test_filter_duplicated_events(&self);
133130
}
134131

135-
fn rebuild_linked_chunk(raws: Vec<RawChunk<Event, Gap>>) -> Option<LinkedChunk<3, Event, Gap>> {
136-
LinkedChunkBuilderTest::from_raw_parts(raws).build().unwrap()
137-
}
138-
139132
#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
140133
#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
141134
impl EventCacheStoreIntegrationTests for DynEventCacheStore {
@@ -359,8 +352,10 @@ impl EventCacheStoreIntegrationTests for DynEventCacheStore {
359352
.unwrap();
360353

361354
// The linked chunk is correctly reloaded.
362-
let raws = self.load_all_chunks(room_id).await.unwrap();
363-
let lc = rebuild_linked_chunk(raws).expect("linked chunk not empty");
355+
let lc =
356+
lazy_loader::from_all_chunks::<3, _, _>(self.load_all_chunks(room_id).await.unwrap())
357+
.unwrap()
358+
.unwrap();
364359

365360
let mut chunks = lc.chunks();
366361

@@ -610,8 +605,11 @@ impl EventCacheStoreIntegrationTests for DynEventCacheStore {
610605

611606
async fn test_rebuild_empty_linked_chunk(&self) {
612607
// When I rebuild a linked chunk from an empty store, it's empty.
613-
let raw_parts = self.load_all_chunks(&DEFAULT_TEST_ROOM_ID).await.unwrap();
614-
assert!(rebuild_linked_chunk(raw_parts).is_none());
608+
let linked_chunk = lazy_loader::from_all_chunks::<3, _, _>(
609+
self.load_all_chunks(&DEFAULT_TEST_ROOM_ID).await.unwrap(),
610+
)
611+
.unwrap();
612+
assert!(linked_chunk.is_none());
615613
}
616614

617615
async fn test_clear_all_rooms_chunks(&self) {
@@ -660,15 +658,23 @@ impl EventCacheStoreIntegrationTests for DynEventCacheStore {
660658
.unwrap();
661659

662660
// Sanity check: both linked chunks can be reloaded.
663-
assert!(rebuild_linked_chunk(self.load_all_chunks(r0).await.unwrap()).is_some());
664-
assert!(rebuild_linked_chunk(self.load_all_chunks(r1).await.unwrap()).is_some());
661+
assert!(lazy_loader::from_all_chunks::<3, _, _>(self.load_all_chunks(r0).await.unwrap())
662+
.unwrap()
663+
.is_some());
664+
assert!(lazy_loader::from_all_chunks::<3, _, _>(self.load_all_chunks(r1).await.unwrap())
665+
.unwrap()
666+
.is_some());
665667

666668
// Clear the chunks.
667669
self.clear_all_rooms_chunks().await.unwrap();
668670

669671
// Both rooms now have no linked chunk.
670-
assert!(rebuild_linked_chunk(self.load_all_chunks(r0).await.unwrap()).is_none());
671-
assert!(rebuild_linked_chunk(self.load_all_chunks(r1).await.unwrap()).is_none());
672+
assert!(lazy_loader::from_all_chunks::<3, _, _>(self.load_all_chunks(r0).await.unwrap())
673+
.unwrap()
674+
.is_none());
675+
assert!(lazy_loader::from_all_chunks::<3, _, _>(self.load_all_chunks(r1).await.unwrap())
676+
.unwrap()
677+
.is_none());
672678
}
673679

674680
async fn test_remove_room(&self) {

crates/matrix-sdk-common/src/linked_chunk/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ use std::{
105105
};
106106

107107
pub use as_vector::*;
108-
pub use lazy_loader::{LinkedChunkBuilderTest, LinkedChunkBuilderTestError};
109108
pub use updates::*;
110109

111110
/// Errors of [`LinkedChunk`].

crates/matrix-sdk-common/src/linked_chunk/relational.rs

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -499,8 +499,7 @@ mod tests {
499499
use assert_matches::assert_matches;
500500
use ruma::room_id;
501501

502-
use super::{ChunkIdentifier as CId, *};
503-
use crate::linked_chunk::LinkedChunkBuilderTest;
502+
use super::{super::lazy_loader::from_all_chunks, ChunkIdentifier as CId, *};
504503

505504
#[test]
506505
fn test_new_items_chunk() {
@@ -1011,11 +1010,10 @@ mod tests {
10111010
);
10121011

10131012
// It correctly gets reloaded as such.
1014-
let raws = relational_linked_chunk.load_all_chunks(room_id).unwrap();
1015-
let lc = LinkedChunkBuilderTest::<3, _, _>::from_raw_parts(raws)
1016-
.build()
1017-
.expect("building succeeds")
1018-
.expect("this leads to a non-empty linked chunk");
1013+
let lc =
1014+
from_all_chunks::<3, _, _>(relational_linked_chunk.load_all_chunks(room_id).unwrap())
1015+
.expect("building succeeds")
1016+
.expect("this leads to a non-empty linked chunk");
10191017

10201018
assert_items_eq!(lc, []);
10211019
}
@@ -1046,11 +1044,10 @@ mod tests {
10461044
],
10471045
);
10481046

1049-
let raws = relational_linked_chunk.load_all_chunks(room_id).unwrap();
1050-
let lc = LinkedChunkBuilderTest::<3, _, _>::from_raw_parts(raws)
1051-
.build()
1052-
.expect("building succeeds")
1053-
.expect("this leads to a non-empty linked chunk");
1047+
let lc =
1048+
from_all_chunks::<3, _, _>(relational_linked_chunk.load_all_chunks(room_id).unwrap())
1049+
.expect("building succeeds")
1050+
.expect("this leads to a non-empty linked chunk");
10541051

10551052
// The linked chunk is correctly reloaded.
10561053
assert_items_eq!(lc, ['a', 'b', 'c'] [-] ['d', 'e', 'f']);

crates/matrix-sdk/src/event_cache/room/mod.rs

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1137,7 +1137,7 @@ mod tests {
11371137
#[cfg(not(target_arch = "wasm32"))] // This uses the cross-process lock, so needs time support.
11381138
#[async_test]
11391139
async fn test_write_to_storage() {
1140-
use matrix_sdk_base::linked_chunk::LinkedChunkBuilderTest;
1140+
use matrix_sdk_base::linked_chunk::lazy_loader::from_all_chunks;
11411141

11421142
let room_id = room_id!("!galette:saucisse.bzh");
11431143
let f = EventFactory::new().room(room_id).sender(user_id!("@ben:saucisse.bzh"));
@@ -1175,9 +1175,10 @@ mod tests {
11751175
.await
11761176
.unwrap();
11771177

1178-
let raws = event_cache_store.load_all_chunks(room_id).await.unwrap();
11791178
let linked_chunk =
1180-
LinkedChunkBuilderTest::<3, _, _>::from_raw_parts(raws).build().unwrap().unwrap();
1179+
from_all_chunks::<3, _, _>(event_cache_store.load_all_chunks(room_id).await.unwrap())
1180+
.unwrap()
1181+
.unwrap();
11811182

11821183
assert_eq!(linked_chunk.chunks().count(), 3);
11831184

@@ -1208,7 +1209,7 @@ mod tests {
12081209
#[cfg(not(target_arch = "wasm32"))] // This uses the cross-process lock, so needs time support.
12091210
#[async_test]
12101211
async fn test_write_to_storage_strips_bundled_relations() {
1211-
use matrix_sdk_base::linked_chunk::LinkedChunkBuilderTest;
1212+
use matrix_sdk_base::linked_chunk::lazy_loader::from_all_chunks;
12121213
use ruma::events::BundledMessageLikeRelations;
12131214

12141215
let room_id = room_id!("!galette:saucisse.bzh");
@@ -1265,9 +1266,10 @@ mod tests {
12651266
}
12661267

12671268
// The one in storage does not.
1268-
let raws = event_cache_store.load_all_chunks(room_id).await.unwrap();
12691269
let linked_chunk =
1270-
LinkedChunkBuilderTest::<3, _, _>::from_raw_parts(raws).build().unwrap().unwrap();
1270+
from_all_chunks::<3, _, _>(event_cache_store.load_all_chunks(room_id).await.unwrap())
1271+
.unwrap()
1272+
.unwrap();
12711273

12721274
assert_eq!(linked_chunk.chunks().count(), 1);
12731275

@@ -1293,7 +1295,7 @@ mod tests {
12931295
use std::ops::ControlFlow;
12941296

12951297
use eyeball_im::VectorDiff;
1296-
use matrix_sdk_base::linked_chunk::LinkedChunkBuilderTest;
1298+
use matrix_sdk_base::linked_chunk::lazy_loader::from_all_chunks;
12971299

12981300
use crate::{assert_let_timeout, event_cache::RoomEventCacheUpdate};
12991301

@@ -1424,13 +1426,14 @@ mod tests {
14241426
assert!(items.is_empty());
14251427

14261428
// The event cache store too.
1427-
let raws = event_cache_store.load_all_chunks(room_id).await.unwrap();
1428-
let linked_chunk = LinkedChunkBuilderTest::<3, _, _>::from_raw_parts(raws).build().unwrap();
1429+
let linked_chunk =
1430+
from_all_chunks::<3, _, _>(event_cache_store.load_all_chunks(room_id).await.unwrap())
1431+
.unwrap()
1432+
.unwrap();
14291433

14301434
// Note: while the event cache store could return `None` here, clearing it will
14311435
// reset it to its initial form, maintaining the invariant that it
14321436
// contains a single items chunk that's empty.
1433-
let linked_chunk = linked_chunk.unwrap();
14341437
assert_eq!(linked_chunk.num_items(), 0);
14351438
}
14361439

0 commit comments

Comments
 (0)