Skip to content

Commit de5511f

Browse files
committed
test: rewrite test_ignored_unignored so it makes use of the MatrixMockServer
1 parent 9bdd9fa commit de5511f

File tree

1 file changed

+31
-32
lines changed

1 file changed

+31
-32
lines changed

crates/matrix-sdk/tests/integration/event_cache.rs

Lines changed: 31 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use matrix_sdk::{
66
paginator::PaginatorState, BackPaginationOutcome, EventCacheError, RoomEventCacheUpdate,
77
TimelineHasBeenResetWhilePaginating,
88
},
9-
test_utils::{assert_event_matches_msg, logged_in_client_with_server},
9+
test_utils::{assert_event_matches_msg, logged_in_client_with_server, mocks::MatrixMockServer},
1010
};
1111
use matrix_sdk_test::{
1212
async_test, event_factory::EventFactory, GlobalAccountDataTestEvent, JoinedRoomBuilder,
@@ -145,7 +145,8 @@ async fn test_add_initial_events() {
145145

146146
#[async_test]
147147
async fn test_ignored_unignored() {
148-
let (client, server) = logged_in_client_with_server().await;
148+
let server = MatrixMockServer::new().await;
149+
let client = server.client_builder().build().await;
149150

150151
// Immediately subscribe the event cache to sync updates.
151152
client.event_cache().subscribe().unwrap();
@@ -154,27 +155,21 @@ async fn test_ignored_unignored() {
154155
let room_id = room_id!("!omelette:fromage.fr");
155156
let other_room_id = room_id!("!galette:saucisse.bzh");
156157

157-
let mut sync_builder = SyncResponseBuilder::new();
158-
sync_builder
159-
.add_joined_room(JoinedRoomBuilder::new(room_id))
160-
.add_joined_room(JoinedRoomBuilder::new(other_room_id));
161-
162-
mock_sync(&server, sync_builder.build_json_sync_response(), None).await;
163-
client.sync_once(Default::default()).await.unwrap();
164-
server.reset().await;
158+
server.sync_joined_room(&client, room_id).await;
159+
server.sync_joined_room(&client, other_room_id).await;
165160

166161
let dexter = user_id!("@dexter:lab.org");
167162
let ivan = user_id!("@ivan:lab.ch");
168-
let ev_factory = EventFactory::new();
163+
let f = EventFactory::new();
169164

170165
// If I add initial events to a few rooms,
171166
client
172167
.event_cache()
173168
.add_initial_events(
174169
room_id,
175170
vec![
176-
ev_factory.text_msg("hey there").sender(dexter).into_sync(),
177-
ev_factory.text_msg("hoy!").sender(ivan).into_sync(),
171+
f.text_msg("hey there").sender(dexter).into_sync(),
172+
f.text_msg("hoy!").sender(ivan).into_sync(),
178173
],
179174
None,
180175
)
@@ -185,7 +180,7 @@ async fn test_ignored_unignored() {
185180
.event_cache()
186181
.add_initial_events(
187182
other_room_id,
188-
vec![ev_factory.text_msg("demat!").sender(ivan).into_sync()],
183+
vec![f.text_msg("demat!").sender(ivan).into_sync()],
189184
None,
190185
)
191186
.await
@@ -202,17 +197,19 @@ async fn test_ignored_unignored() {
202197
assert_event_matches_msg(&events[1], "hoy!");
203198

204199
// And after receiving a new ignored list,
205-
sync_builder.add_global_account_data_event(GlobalAccountDataTestEvent::Custom(json!({
206-
"content": {
207-
"ignored_users": {
208-
dexter: {}
209-
}
210-
},
211-
"type": "m.ignored_user_list",
212-
})));
213-
mock_sync(&server, sync_builder.build_json_sync_response(), None).await;
214-
client.sync_once(Default::default()).await.unwrap();
215-
server.reset().await;
200+
server
201+
.mock_sync()
202+
.ok_and_run(&client, |sync_builder| {
203+
sync_builder.add_global_account_data_event(GlobalAccountDataTestEvent::Custom(json!({
204+
"content": {
205+
"ignored_users": {
206+
dexter: {}
207+
}
208+
},
209+
"type": "m.ignored_user_list",
210+
})));
211+
})
212+
.await;
216213

217214
// It does receive one update,
218215
let update = timeout(Duration::from_secs(2), subscriber.recv())
@@ -224,13 +221,15 @@ async fn test_ignored_unignored() {
224221
assert_matches!(update, RoomEventCacheUpdate::Clear);
225222

226223
// Receiving new events still works.
227-
sync_builder.add_joined_room(
228-
JoinedRoomBuilder::new(room_id)
229-
.add_timeline_event(ev_factory.text_msg("i don't like this dexter").sender(ivan)),
230-
);
231-
mock_sync(&server, sync_builder.build_json_sync_response(), None).await;
232-
client.sync_once(Default::default()).await.unwrap();
233-
server.reset().await;
224+
server
225+
.mock_sync()
226+
.ok_and_run(&client, |sync_builder| {
227+
sync_builder.add_joined_room(
228+
JoinedRoomBuilder::new(room_id)
229+
.add_timeline_event(f.text_msg("i don't like this dexter").sender(ivan)),
230+
);
231+
})
232+
.await;
234233

235234
// We do receive one update,
236235
let update = timeout(Duration::from_secs(2), subscriber.recv())

0 commit comments

Comments
 (0)