From 9929a3f8d54a8f39c00a44d14e6f068371033418 Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Sun, 19 Sep 2021 18:56:12 +0200 Subject: [PATCH] events: Clean up some tests --- crates/ruma-events/tests/ephemeral_event.rs | 29 ++++++------- crates/ruma-events/tests/message_event.rs | 45 +++++++++------------ crates/ruma-events/tests/state_event.rs | 45 +++++++++------------ crates/ruma-events/tests/stripped.rs | 4 +- crates/ruma-events/tests/to_device.rs | 6 +-- 5 files changed, 53 insertions(+), 76 deletions(-) diff --git a/crates/ruma-events/tests/ephemeral_event.rs b/crates/ruma-events/tests/ephemeral_event.rs index baa9a810..f61846d9 100644 --- a/crates/ruma-events/tests/ephemeral_event.rs +++ b/crates/ruma-events/tests/ephemeral_event.rs @@ -9,15 +9,13 @@ use serde_json::{from_value as from_json_value, json, to_value as to_json_value} use ruma_events::{ receipt::{Receipt, ReceiptEventContent}, typing::TypingEventContent, - AnyEphemeralRoomEventContent, EphemeralRoomEvent, + AnyEphemeralRoomEvent, EphemeralRoomEvent, }; #[test] fn ephemeral_serialize_typing() { let aliases_event = EphemeralRoomEvent { - content: AnyEphemeralRoomEventContent::Typing(TypingEventContent::new(vec![user_id!( - "@carl:example.com" - )])), + content: TypingEventContent::new(vec![user_id!("@carl:example.com")]), room_id: room_id!("!roomid:room.com"), }; @@ -44,14 +42,14 @@ fn deserialize_ephemeral_typing() { }); assert_matches!( - from_json_value::>>(json_data) + from_json_value::>(json_data) .unwrap() .deserialize() .unwrap(), - EphemeralRoomEvent { - content: AnyEphemeralRoomEventContent::Typing(TypingEventContent { user_ids, .. }), + AnyEphemeralRoomEvent::Typing(EphemeralRoomEvent { + content: TypingEventContent { user_ids, .. }, room_id, - } if user_ids[0] == user_id!("@carl:example.com") + }) if user_ids[0] == user_id!("@carl:example.com") && room_id == room_id!("!roomid:room.com") ); } @@ -62,13 +60,13 @@ fn ephemeral_serialize_receipt() { let user_id = user_id!("@carl:example.com"); let aliases_event = EphemeralRoomEvent { - content: AnyEphemeralRoomEventContent::Receipt(ReceiptEventContent(btreemap! { + content: ReceiptEventContent(btreemap! { event_id => btreemap! { ReceiptType::Read => btreemap! { user_id => Receipt::new(MilliSecondsSinceUnixEpoch(uint!(1))), }, }, - })), + }), room_id: room_id!("!roomid:room.com"), }; @@ -106,14 +104,11 @@ fn deserialize_ephemeral_receipt() { }); assert_matches!( - from_json_value::>>(json_data) - .unwrap() - .deserialize() - .unwrap(), - EphemeralRoomEvent { - content: AnyEphemeralRoomEventContent::Receipt(ReceiptEventContent(receipts)), + from_json_value::>(json_data).unwrap().deserialize().unwrap(), + AnyEphemeralRoomEvent::Receipt(EphemeralRoomEvent { + content: ReceiptEventContent(receipts), room_id, - } if !receipts.is_empty() && receipts.contains_key(&event_id) + }) if !receipts.is_empty() && receipts.contains_key(&event_id) && room_id == room_id!("!roomid:room.com") && receipts .get(&event_id) diff --git a/crates/ruma-events/tests/message_event.rs b/crates/ruma-events/tests/message_event.rs index 1dc35940..ddce7d40 100644 --- a/crates/ruma-events/tests/message_event.rs +++ b/crates/ruma-events/tests/message_event.rs @@ -6,7 +6,7 @@ use ruma_events::{ call::{answer::AnswerEventContent, SessionDescription, SessionDescriptionType}, room::{ImageInfo, ThumbnailInfo}, sticker::StickerEventContent, - AnyMessageEventContent, AnySyncMessageEvent, MessageEvent, RawExt, Unsigned, + AnyMessageEvent, AnyMessageEventContent, AnySyncMessageEvent, MessageEvent, RawExt, Unsigned, }; use ruma_identifiers::{event_id, mxc_uri, room_id, user_id}; use ruma_serde::Raw; @@ -15,7 +15,7 @@ use serde_json::{from_value as from_json_value, json, to_value as to_json_value} #[test] fn message_serialize_sticker() { let aliases_event = MessageEvent { - content: AnyMessageEventContent::Sticker(StickerEventContent::new( + content: StickerEventContent::new( "Hello".into(), assign!(ImageInfo::new(), { height: UInt::new(423), @@ -31,7 +31,7 @@ fn message_serialize_sticker() { thumbnail_url: Some(mxc_uri!("mxc://matrix.org/irsns989Rrsn")), }), mxc_uri!("mxc://matrix.org/rnsldl8srs98IRrs"), - )), + ), event_id: event_id!("$h29iv0s8:example.com"), origin_server_ts: MilliSecondsSinceUnixEpoch(uint!(1)), room_id: room_id!("!roomid:room.com"), @@ -116,12 +116,9 @@ fn deserialize_message_call_answer() { }); assert_matches!( - from_json_value::>>(json_data) - .unwrap() - .deserialize() - .unwrap(), - MessageEvent { - content: AnyMessageEventContent::CallAnswer(AnswerEventContent { + from_json_value::>(json_data).unwrap().deserialize().unwrap(), + AnyMessageEvent::CallAnswer(MessageEvent { + content: AnswerEventContent { answer: SessionDescription { session_type: SessionDescriptionType::Answer, sdp, @@ -130,13 +127,13 @@ fn deserialize_message_call_answer() { call_id, version, .. - }), + }, event_id, origin_server_ts, room_id, sender, unsigned, - } if sdp == "Hello" && call_id == "foofoo" && version == UInt::new(1).unwrap() + }) if sdp == "Hello" && call_id == "foofoo" && version == UInt::new(1).unwrap() && event_id == event_id!("$h29iv0s8:example.com") && origin_server_ts == MilliSecondsSinceUnixEpoch(uint!(1)) && room_id == room_id!("!roomid:room.com") @@ -173,12 +170,9 @@ fn deserialize_message_sticker() { }); assert_matches!( - from_json_value::>>(json_data) - .unwrap() - .deserialize() - .unwrap(), - MessageEvent { - content: AnyMessageEventContent::Sticker(StickerEventContent { + from_json_value::>(json_data).unwrap().deserialize().unwrap(), + AnyMessageEvent::Sticker(MessageEvent { + content: StickerEventContent { body, info: ImageInfo { height, @@ -194,13 +188,13 @@ fn deserialize_message_sticker() { }, url, .. - }), + }, event_id, origin_server_ts, room_id, sender, unsigned - } if event_id == event_id!("$h29iv0s8:example.com") + }) if event_id == event_id!("$h29iv0s8:example.com") && body == "Hello" && origin_server_ts == MilliSecondsSinceUnixEpoch(uint!(1)) && room_id == room_id!("!roomid:room.com") @@ -254,12 +248,9 @@ fn deserialize_message_then_convert_to_full() { let full_json = to_json_value(full).unwrap(); assert_matches!( - from_json_value::>>(full_json) - .unwrap() - .deserialize() - .unwrap(), - MessageEvent { - content: AnyMessageEventContent::CallAnswer(AnswerEventContent { + from_json_value::>(full_json).unwrap().deserialize().unwrap(), + AnyMessageEvent::CallAnswer(MessageEvent { + content: AnswerEventContent { answer: SessionDescription { session_type: SessionDescriptionType::Answer, sdp, @@ -268,13 +259,13 @@ fn deserialize_message_then_convert_to_full() { call_id, version, .. - }), + }, event_id, origin_server_ts, room_id, sender, unsigned, - } if sdp == "Hello" + }) if sdp == "Hello" && call_id == "foofoo" && version == uint!(1) && event_id == "$h29iv0s8:example.com" diff --git a/crates/ruma-events/tests/state_event.rs b/crates/ruma-events/tests/state_event.rs index 6b489851..30de504b 100644 --- a/crates/ruma-events/tests/state_event.rs +++ b/crates/ruma-events/tests/state_event.rs @@ -36,14 +36,10 @@ fn aliases_event_with_prev_content() -> JsonValue { #[test] fn serialize_aliases_with_prev_content() { let aliases_event = StateEvent { - content: AnyStateEventContent::RoomAliases(AliasesEventContent::new(vec![room_alias_id!( - "#somewhere:localhost" - )])), + content: AliasesEventContent::new(vec![room_alias_id!("#somewhere:localhost")]), event_id: event_id!("$h29iv0s8:example.com"), origin_server_ts: MilliSecondsSinceUnixEpoch(uint!(1)), - prev_content: Some(AnyStateEventContent::RoomAliases(AliasesEventContent::new(vec![ - room_alias_id!("#inner:localhost"), - ]))), + prev_content: Some(AliasesEventContent::new(vec![room_alias_id!("#inner:localhost")])), room_id: room_id!("!roomid:room.com"), sender: user_id!("@carl:example.com"), state_key: "".into(), @@ -59,9 +55,7 @@ fn serialize_aliases_with_prev_content() { #[test] fn serialize_aliases_without_prev_content() { let aliases_event = StateEvent { - content: AnyStateEventContent::RoomAliases(AliasesEventContent::new(vec![room_alias_id!( - "#somewhere:localhost" - )])), + content: AliasesEventContent::new(vec![room_alias_id!("#somewhere:localhost")]), event_id: event_id!("$h29iv0s8:example.com"), origin_server_ts: MilliSecondsSinceUnixEpoch(uint!(1)), prev_content: None, @@ -108,20 +102,17 @@ fn deserialize_aliases_with_prev_content() { let json_data = aliases_event_with_prev_content(); assert_matches!( - from_json_value::>>(json_data) - .unwrap() - .deserialize() - .unwrap(), - StateEvent { - content: AnyStateEventContent::RoomAliases(content), + from_json_value::>(json_data).unwrap().deserialize().unwrap(), + AnyStateEvent::RoomAliases(StateEvent { + content, event_id, origin_server_ts, - prev_content: Some(AnyStateEventContent::RoomAliases(prev_content)), + prev_content: Some(prev_content), room_id, sender, state_key, unsigned, - } if content.aliases == vec![room_alias_id!("#somewhere:localhost")] + }) if content.aliases == vec![room_alias_id!("#somewhere:localhost")] && event_id == event_id!("$h29iv0s8:example.com") && origin_server_ts == MilliSecondsSinceUnixEpoch(uint!(1)) && prev_content.aliases == vec![room_alias_id!("#inner:localhost")] @@ -138,17 +129,17 @@ fn deserialize_aliases_sync_with_room_id() { let json_data = aliases_event_with_prev_content(); assert_matches!( - from_json_value::>(json_data) + from_json_value::(json_data) .unwrap(), - SyncStateEvent { - content: AnyStateEventContent::RoomAliases(content), + AnySyncStateEvent::RoomAliases(SyncStateEvent { + content, event_id, origin_server_ts, - prev_content: Some(AnyStateEventContent::RoomAliases(prev_content)), + prev_content: Some(prev_content), sender, state_key, unsigned, - } if content.aliases == vec![room_alias_id!("#somewhere:localhost")] + }) if content.aliases == vec![room_alias_id!("#somewhere:localhost")] && event_id == event_id!("$h29iv0s8:example.com") && origin_server_ts == MilliSecondsSinceUnixEpoch(uint!(1)) && prev_content.aliases == vec![room_alias_id!("#inner:localhost")] @@ -191,16 +182,16 @@ fn deserialize_avatar_without_prev_content() { let expected_url = Some(expected_url); assert_matches!( - from_json_value::>>(json_data) + from_json_value::>(json_data) .unwrap() .deserialize() .unwrap(), - StateEvent { - content: AnyStateEventContent::RoomAvatar(AvatarEventContent { + AnyStateEvent::RoomAvatar(StateEvent { + content: AvatarEventContent { info: Some(info), url, .. - }), + }, event_id, origin_server_ts, prev_content: None, @@ -208,7 +199,7 @@ fn deserialize_avatar_without_prev_content() { sender, state_key, unsigned - } if event_id == event_id!("$h29iv0s8:example.com") + }) if event_id == event_id!("$h29iv0s8:example.com") && origin_server_ts == MilliSecondsSinceUnixEpoch(uint!(1)) && room_id == room_id!("!roomid:room.com") && sender == user_id!("@carl:example.com") diff --git a/crates/ruma-events/tests/stripped.rs b/crates/ruma-events/tests/stripped.rs index 70e08ca1..ceb55740 100644 --- a/crates/ruma-events/tests/stripped.rs +++ b/crates/ruma-events/tests/stripped.rs @@ -3,7 +3,7 @@ use std::convert::TryFrom; use js_int::uint; use ruma_events::{ room::{join_rules::JoinRule, topic::TopicEventContent}, - AnyStateEventContent, AnyStrippedStateEvent, StrippedStateEvent, + AnyStrippedStateEvent, StrippedStateEvent, }; use ruma_identifiers::{mxc_uri, user_id, RoomNameBox}; use serde_json::{from_value as from_json_value, json, to_value as to_json_value}; @@ -11,7 +11,7 @@ use serde_json::{from_value as from_json_value, json, to_value as to_json_value} #[test] fn serialize_stripped_state_event_any_content() { let event = StrippedStateEvent { - content: AnyStateEventContent::RoomTopic(TopicEventContent::new("Testing room".into())), + content: TopicEventContent::new("Testing room".into()), state_key: "".into(), sender: user_id!("@example:localhost"), }; diff --git a/crates/ruma-events/tests/to_device.rs b/crates/ruma-events/tests/to_device.rs index 77128f2e..391a3daa 100644 --- a/crates/ruma-events/tests/to_device.rs +++ b/crates/ruma-events/tests/to_device.rs @@ -1,4 +1,4 @@ -use ruma_events::{room_key::RoomKeyToDeviceEventContent, AnyToDeviceEventContent, ToDeviceEvent}; +use ruma_events::{room_key::RoomKeyToDeviceEventContent, ToDeviceEvent}; use ruma_identifiers::{room_id, user_id, EventEncryptionAlgorithm}; use serde_json::{json, to_value as to_json_value}; @@ -6,12 +6,12 @@ use serde_json::{json, to_value as to_json_value}; fn serialization() { let ev = ToDeviceEvent { sender: user_id!("@example:example.org"), - content: AnyToDeviceEventContent::RoomKey(RoomKeyToDeviceEventContent::new( + content: RoomKeyToDeviceEventContent::new( EventEncryptionAlgorithm::MegolmV1AesSha2, room_id!("!testroomid:example.org"), "SessId".into(), "SessKey".into(), - )), + ), }; assert_eq!(