Skip to content

Commit 2e41c5b

Browse files
committed
refactor(tests): Move some JSON into static items
I want to use this JSON in multiple tests.
1 parent 3410c01 commit 2e41c5b

File tree

1 file changed

+92
-91
lines changed

1 file changed

+92
-91
lines changed

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

Lines changed: 92 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,35 @@ async fn test_negotiate_capabilities_immediately() {
181181
assert_matches!(driver_handle.recv().now_or_never(), None);
182182
}
183183

184+
static HELLO_EVENT: Lazy<JsonValue> = Lazy::new(|| {
185+
json!({
186+
"content": {
187+
"body": "hello",
188+
"msgtype": "m.text",
189+
},
190+
"event_id": "$msda7m0df9E9op3",
191+
"origin_server_ts": 152037280,
192+
"sender": "@example:localhost",
193+
"type": "m.room.message",
194+
"room_id": &*ROOM_ID,
195+
})
196+
});
197+
198+
static TOMBSTONE_EVENT: Lazy<JsonValue> = Lazy::new(|| {
199+
json!({
200+
"content": {
201+
"body": "This room has been replaced",
202+
"replacement_room": "!newroom:localhost",
203+
},
204+
"event_id": "$foun39djjod0f",
205+
"origin_server_ts": 152039280,
206+
"sender": "@bob:localhost",
207+
"state_key": "",
208+
"type": "m.room.tombstone",
209+
"room_id": &*ROOM_ID,
210+
})
211+
});
212+
184213
#[async_test]
185214
async fn test_read_messages() {
186215
let (_, mock_server, driver_handle) = run_test_driver(true).await;
@@ -205,66 +234,40 @@ async fn test_read_messages() {
205234
// No messages from the driver
206235
assert_matches!(recv_message(&driver_handle).now_or_never(), None);
207236

208-
{
209-
let response_json = json!({
210-
"chunk": [
211-
{
212-
"content": {
213-
"body": "hello",
214-
"msgtype": "m.text",
215-
},
216-
"event_id": "$msda7m0df9E9op3",
217-
"origin_server_ts": 152037280,
218-
"sender": "@example:localhost",
219-
"type": "m.room.message",
220-
"room_id": &*ROOM_ID,
221-
},
222-
{
223-
"content": {
224-
"body": "This room has been replaced",
225-
"replacement_room": "!newroom:localhost",
226-
},
227-
"event_id": "$foun39djjod0f",
228-
"origin_server_ts": 152039280,
229-
"sender": "@bob:localhost",
230-
"state_key": "",
231-
"type": "m.room.tombstone",
232-
"room_id": &*ROOM_ID,
233-
},
234-
],
235-
"end": "t47409-4357353_219380_26003_2269",
236-
"start": "t392-516_47314_0_7_1_1_1_11444_1"
237-
});
238-
mock_server
239-
.mock_room_messages()
240-
.match_limit(2)
241-
.respond_with(ResponseTemplate::new(200).set_body_json(response_json))
242-
.mock_once()
243-
.mount()
244-
.await;
245-
246-
// Ask the driver to read messages
247-
send_request(
248-
&driver_handle,
249-
"2-read-messages",
250-
"org.matrix.msc2876.read_events",
251-
json!({
252-
"type": "m.room.message",
253-
"limit": 2,
254-
}),
255-
)
237+
let response_json = json!({
238+
"chunk": [*HELLO_EVENT, *TOMBSTONE_EVENT],
239+
"end": "t47409-4357353_219380_26003_2269",
240+
"start": "t392-516_47314_0_7_1_1_1_11444_1"
241+
});
242+
mock_server
243+
.mock_room_messages()
244+
.match_limit(2)
245+
.respond_with(ResponseTemplate::new(200).set_body_json(response_json))
246+
.mock_once()
247+
.mount()
256248
.await;
257249

258-
// Receive the response
259-
let msg = recv_message(&driver_handle).await;
260-
assert_eq!(msg["api"], "fromWidget");
261-
assert_eq!(msg["action"], "org.matrix.msc2876.read_events");
262-
let events = msg["response"]["events"].as_array().unwrap();
250+
// Ask the driver to read messages
251+
send_request(
252+
&driver_handle,
253+
"2-read-messages",
254+
"org.matrix.msc2876.read_events",
255+
json!({
256+
"type": "m.room.message",
257+
"limit": 2,
258+
}),
259+
)
260+
.await;
263261

264-
assert_eq!(events.len(), 1);
265-
let first_event = &events[0];
266-
assert_eq!(first_event["content"]["body"], "hello");
267-
}
262+
// Receive the response
263+
let msg = recv_message(&driver_handle).await;
264+
assert_eq!(msg["api"], "fromWidget");
265+
assert_eq!(msg["action"], "org.matrix.msc2876.read_events");
266+
let events = msg["response"]["events"].as_array().unwrap();
267+
268+
assert_eq!(events.len(), 1);
269+
let first_event = &events[0];
270+
assert_eq!(first_event["content"]["body"], "hello");
268271
}
269272

270273
#[async_test]
@@ -293,43 +296,41 @@ async fn test_read_messages_with_msgtype_capabilities() {
293296

294297
let f = EventFactory::new().room(&ROOM_ID).sender(user_id!("@example:localhost"));
295298

296-
{
297-
let end = "t47409-4357353_219380_26003_2269";
298-
let chunk2 = vec![
299-
f.notice("custom content").event_id(event_id!("$msda7m0df9E9op3")).into_raw_timeline(),
300-
f.text_msg("hello").event_id(event_id!("$msda7m0df9E9op5")).into_raw_timeline(),
301-
f.reaction(event_id!("$event_id"), "annotation").into_raw_timeline(),
302-
];
303-
mock_server
304-
.mock_room_messages()
305-
.match_limit(3)
306-
.ok(RoomMessagesResponseTemplate::default().end_token(end).events(chunk2))
307-
.mock_once()
308-
.mount()
309-
.await;
310-
311-
// Ask the driver to read messages
312-
send_request(
313-
&driver_handle,
314-
"2-read-messages",
315-
"org.matrix.msc2876.read_events",
316-
json!({
317-
"type": "m.room.message",
318-
"limit": 3,
319-
}),
320-
)
299+
let end = "t47409-4357353_219380_26003_2269";
300+
let chunk2 = vec![
301+
f.notice("custom content").event_id(event_id!("$msda7m0df9E9op3")).into_raw_timeline(),
302+
f.text_msg("hello").event_id(event_id!("$msda7m0df9E9op5")).into_raw_timeline(),
303+
f.reaction(event_id!("$event_id"), "annotation").into_raw_timeline(),
304+
];
305+
mock_server
306+
.mock_room_messages()
307+
.match_limit(3)
308+
.ok(RoomMessagesResponseTemplate::default().end_token(end).events(chunk2))
309+
.mock_once()
310+
.mount()
321311
.await;
322312

323-
// Receive the response
324-
let msg = recv_message(&driver_handle).await;
325-
assert_eq!(msg["api"], "fromWidget");
326-
assert_eq!(msg["action"], "org.matrix.msc2876.read_events");
327-
let events = msg["response"]["events"].as_array().unwrap();
313+
// Ask the driver to read messages
314+
send_request(
315+
&driver_handle,
316+
"2-read-messages",
317+
"org.matrix.msc2876.read_events",
318+
json!({
319+
"type": "m.room.message",
320+
"limit": 3,
321+
}),
322+
)
323+
.await;
328324

329-
assert_eq!(events.len(), 1);
330-
let first_event = &events[0];
331-
assert_eq!(first_event["content"]["body"], "hello");
332-
}
325+
// Receive the response
326+
let msg = recv_message(&driver_handle).await;
327+
assert_eq!(msg["api"], "fromWidget");
328+
assert_eq!(msg["action"], "org.matrix.msc2876.read_events");
329+
let events = msg["response"]["events"].as_array().unwrap();
330+
331+
assert_eq!(events.len(), 1);
332+
let first_event = &events[0];
333+
assert_eq!(first_event["content"]["body"], "hello");
333334
}
334335

335336
#[async_test]

0 commit comments

Comments
 (0)