events: Clean up some tests

This commit is contained in:
Jonas Platte 2021-09-19 18:56:12 +02:00
parent 69a97232b9
commit 9929a3f8d5
No known key found for this signature in database
GPG Key ID: CC154DE0E30B7C67
5 changed files with 53 additions and 76 deletions

View File

@ -9,15 +9,13 @@ use serde_json::{from_value as from_json_value, json, to_value as to_json_value}
use ruma_events::{ use ruma_events::{
receipt::{Receipt, ReceiptEventContent}, receipt::{Receipt, ReceiptEventContent},
typing::TypingEventContent, typing::TypingEventContent,
AnyEphemeralRoomEventContent, EphemeralRoomEvent, AnyEphemeralRoomEvent, EphemeralRoomEvent,
}; };
#[test] #[test]
fn ephemeral_serialize_typing() { fn ephemeral_serialize_typing() {
let aliases_event = EphemeralRoomEvent { let aliases_event = EphemeralRoomEvent {
content: AnyEphemeralRoomEventContent::Typing(TypingEventContent::new(vec![user_id!( content: TypingEventContent::new(vec![user_id!("@carl:example.com")]),
"@carl:example.com"
)])),
room_id: room_id!("!roomid:room.com"), room_id: room_id!("!roomid:room.com"),
}; };
@ -44,14 +42,14 @@ fn deserialize_ephemeral_typing() {
}); });
assert_matches!( assert_matches!(
from_json_value::<Raw<EphemeralRoomEvent<AnyEphemeralRoomEventContent>>>(json_data) from_json_value::<Raw<AnyEphemeralRoomEvent>>(json_data)
.unwrap() .unwrap()
.deserialize() .deserialize()
.unwrap(), .unwrap(),
EphemeralRoomEvent { AnyEphemeralRoomEvent::Typing(EphemeralRoomEvent {
content: AnyEphemeralRoomEventContent::Typing(TypingEventContent { user_ids, .. }), content: TypingEventContent { user_ids, .. },
room_id, 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") && room_id == room_id!("!roomid:room.com")
); );
} }
@ -62,13 +60,13 @@ fn ephemeral_serialize_receipt() {
let user_id = user_id!("@carl:example.com"); let user_id = user_id!("@carl:example.com");
let aliases_event = EphemeralRoomEvent { let aliases_event = EphemeralRoomEvent {
content: AnyEphemeralRoomEventContent::Receipt(ReceiptEventContent(btreemap! { content: ReceiptEventContent(btreemap! {
event_id => btreemap! { event_id => btreemap! {
ReceiptType::Read => btreemap! { ReceiptType::Read => btreemap! {
user_id => Receipt::new(MilliSecondsSinceUnixEpoch(uint!(1))), user_id => Receipt::new(MilliSecondsSinceUnixEpoch(uint!(1))),
}, },
}, },
})), }),
room_id: room_id!("!roomid:room.com"), room_id: room_id!("!roomid:room.com"),
}; };
@ -106,14 +104,11 @@ fn deserialize_ephemeral_receipt() {
}); });
assert_matches!( assert_matches!(
from_json_value::<Raw<EphemeralRoomEvent<AnyEphemeralRoomEventContent>>>(json_data) from_json_value::<Raw<AnyEphemeralRoomEvent>>(json_data).unwrap().deserialize().unwrap(),
.unwrap() AnyEphemeralRoomEvent::Receipt(EphemeralRoomEvent {
.deserialize() content: ReceiptEventContent(receipts),
.unwrap(),
EphemeralRoomEvent {
content: AnyEphemeralRoomEventContent::Receipt(ReceiptEventContent(receipts)),
room_id, 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") && room_id == room_id!("!roomid:room.com")
&& receipts && receipts
.get(&event_id) .get(&event_id)

View File

@ -6,7 +6,7 @@ use ruma_events::{
call::{answer::AnswerEventContent, SessionDescription, SessionDescriptionType}, call::{answer::AnswerEventContent, SessionDescription, SessionDescriptionType},
room::{ImageInfo, ThumbnailInfo}, room::{ImageInfo, ThumbnailInfo},
sticker::StickerEventContent, 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_identifiers::{event_id, mxc_uri, room_id, user_id};
use ruma_serde::Raw; 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] #[test]
fn message_serialize_sticker() { fn message_serialize_sticker() {
let aliases_event = MessageEvent { let aliases_event = MessageEvent {
content: AnyMessageEventContent::Sticker(StickerEventContent::new( content: StickerEventContent::new(
"Hello".into(), "Hello".into(),
assign!(ImageInfo::new(), { assign!(ImageInfo::new(), {
height: UInt::new(423), height: UInt::new(423),
@ -31,7 +31,7 @@ fn message_serialize_sticker() {
thumbnail_url: Some(mxc_uri!("mxc://matrix.org/irsns989Rrsn")), thumbnail_url: Some(mxc_uri!("mxc://matrix.org/irsns989Rrsn")),
}), }),
mxc_uri!("mxc://matrix.org/rnsldl8srs98IRrs"), mxc_uri!("mxc://matrix.org/rnsldl8srs98IRrs"),
)), ),
event_id: event_id!("$h29iv0s8:example.com"), event_id: event_id!("$h29iv0s8:example.com"),
origin_server_ts: MilliSecondsSinceUnixEpoch(uint!(1)), origin_server_ts: MilliSecondsSinceUnixEpoch(uint!(1)),
room_id: room_id!("!roomid:room.com"), room_id: room_id!("!roomid:room.com"),
@ -116,12 +116,9 @@ fn deserialize_message_call_answer() {
}); });
assert_matches!( assert_matches!(
from_json_value::<Raw<MessageEvent<AnyMessageEventContent>>>(json_data) from_json_value::<Raw<AnyMessageEvent>>(json_data).unwrap().deserialize().unwrap(),
.unwrap() AnyMessageEvent::CallAnswer(MessageEvent {
.deserialize() content: AnswerEventContent {
.unwrap(),
MessageEvent {
content: AnyMessageEventContent::CallAnswer(AnswerEventContent {
answer: SessionDescription { answer: SessionDescription {
session_type: SessionDescriptionType::Answer, session_type: SessionDescriptionType::Answer,
sdp, sdp,
@ -130,13 +127,13 @@ fn deserialize_message_call_answer() {
call_id, call_id,
version, version,
.. ..
}), },
event_id, event_id,
origin_server_ts, origin_server_ts,
room_id, room_id,
sender, sender,
unsigned, 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") && event_id == event_id!("$h29iv0s8:example.com")
&& origin_server_ts == MilliSecondsSinceUnixEpoch(uint!(1)) && origin_server_ts == MilliSecondsSinceUnixEpoch(uint!(1))
&& room_id == room_id!("!roomid:room.com") && room_id == room_id!("!roomid:room.com")
@ -173,12 +170,9 @@ fn deserialize_message_sticker() {
}); });
assert_matches!( assert_matches!(
from_json_value::<Raw<MessageEvent<AnyMessageEventContent>>>(json_data) from_json_value::<Raw<AnyMessageEvent>>(json_data).unwrap().deserialize().unwrap(),
.unwrap() AnyMessageEvent::Sticker(MessageEvent {
.deserialize() content: StickerEventContent {
.unwrap(),
MessageEvent {
content: AnyMessageEventContent::Sticker(StickerEventContent {
body, body,
info: ImageInfo { info: ImageInfo {
height, height,
@ -194,13 +188,13 @@ fn deserialize_message_sticker() {
}, },
url, url,
.. ..
}), },
event_id, event_id,
origin_server_ts, origin_server_ts,
room_id, room_id,
sender, sender,
unsigned unsigned
} if event_id == event_id!("$h29iv0s8:example.com") }) if event_id == event_id!("$h29iv0s8:example.com")
&& body == "Hello" && body == "Hello"
&& origin_server_ts == MilliSecondsSinceUnixEpoch(uint!(1)) && origin_server_ts == MilliSecondsSinceUnixEpoch(uint!(1))
&& room_id == room_id!("!roomid:room.com") && 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(); let full_json = to_json_value(full).unwrap();
assert_matches!( assert_matches!(
from_json_value::<Raw<MessageEvent<AnyMessageEventContent>>>(full_json) from_json_value::<Raw<AnyMessageEvent>>(full_json).unwrap().deserialize().unwrap(),
.unwrap() AnyMessageEvent::CallAnswer(MessageEvent {
.deserialize() content: AnswerEventContent {
.unwrap(),
MessageEvent {
content: AnyMessageEventContent::CallAnswer(AnswerEventContent {
answer: SessionDescription { answer: SessionDescription {
session_type: SessionDescriptionType::Answer, session_type: SessionDescriptionType::Answer,
sdp, sdp,
@ -268,13 +259,13 @@ fn deserialize_message_then_convert_to_full() {
call_id, call_id,
version, version,
.. ..
}), },
event_id, event_id,
origin_server_ts, origin_server_ts,
room_id, room_id,
sender, sender,
unsigned, unsigned,
} if sdp == "Hello" }) if sdp == "Hello"
&& call_id == "foofoo" && call_id == "foofoo"
&& version == uint!(1) && version == uint!(1)
&& event_id == "$h29iv0s8:example.com" && event_id == "$h29iv0s8:example.com"

View File

@ -36,14 +36,10 @@ fn aliases_event_with_prev_content() -> JsonValue {
#[test] #[test]
fn serialize_aliases_with_prev_content() { fn serialize_aliases_with_prev_content() {
let aliases_event = StateEvent { let aliases_event = StateEvent {
content: AnyStateEventContent::RoomAliases(AliasesEventContent::new(vec![room_alias_id!( content: AliasesEventContent::new(vec![room_alias_id!("#somewhere:localhost")]),
"#somewhere:localhost"
)])),
event_id: event_id!("$h29iv0s8:example.com"), event_id: event_id!("$h29iv0s8:example.com"),
origin_server_ts: MilliSecondsSinceUnixEpoch(uint!(1)), origin_server_ts: MilliSecondsSinceUnixEpoch(uint!(1)),
prev_content: Some(AnyStateEventContent::RoomAliases(AliasesEventContent::new(vec![ prev_content: Some(AliasesEventContent::new(vec![room_alias_id!("#inner:localhost")])),
room_alias_id!("#inner:localhost"),
]))),
room_id: room_id!("!roomid:room.com"), room_id: room_id!("!roomid:room.com"),
sender: user_id!("@carl:example.com"), sender: user_id!("@carl:example.com"),
state_key: "".into(), state_key: "".into(),
@ -59,9 +55,7 @@ fn serialize_aliases_with_prev_content() {
#[test] #[test]
fn serialize_aliases_without_prev_content() { fn serialize_aliases_without_prev_content() {
let aliases_event = StateEvent { let aliases_event = StateEvent {
content: AnyStateEventContent::RoomAliases(AliasesEventContent::new(vec![room_alias_id!( content: AliasesEventContent::new(vec![room_alias_id!("#somewhere:localhost")]),
"#somewhere:localhost"
)])),
event_id: event_id!("$h29iv0s8:example.com"), event_id: event_id!("$h29iv0s8:example.com"),
origin_server_ts: MilliSecondsSinceUnixEpoch(uint!(1)), origin_server_ts: MilliSecondsSinceUnixEpoch(uint!(1)),
prev_content: None, prev_content: None,
@ -108,20 +102,17 @@ fn deserialize_aliases_with_prev_content() {
let json_data = aliases_event_with_prev_content(); let json_data = aliases_event_with_prev_content();
assert_matches!( assert_matches!(
from_json_value::<Raw<StateEvent<AnyStateEventContent>>>(json_data) from_json_value::<Raw<AnyStateEvent>>(json_data).unwrap().deserialize().unwrap(),
.unwrap() AnyStateEvent::RoomAliases(StateEvent {
.deserialize() content,
.unwrap(),
StateEvent {
content: AnyStateEventContent::RoomAliases(content),
event_id, event_id,
origin_server_ts, origin_server_ts,
prev_content: Some(AnyStateEventContent::RoomAliases(prev_content)), prev_content: Some(prev_content),
room_id, room_id,
sender, sender,
state_key, state_key,
unsigned, 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") && event_id == event_id!("$h29iv0s8:example.com")
&& origin_server_ts == MilliSecondsSinceUnixEpoch(uint!(1)) && origin_server_ts == MilliSecondsSinceUnixEpoch(uint!(1))
&& prev_content.aliases == vec![room_alias_id!("#inner:localhost")] && 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(); let json_data = aliases_event_with_prev_content();
assert_matches!( assert_matches!(
from_json_value::<SyncStateEvent<AnyStateEventContent>>(json_data) from_json_value::<AnySyncStateEvent>(json_data)
.unwrap(), .unwrap(),
SyncStateEvent { AnySyncStateEvent::RoomAliases(SyncStateEvent {
content: AnyStateEventContent::RoomAliases(content), content,
event_id, event_id,
origin_server_ts, origin_server_ts,
prev_content: Some(AnyStateEventContent::RoomAliases(prev_content)), prev_content: Some(prev_content),
sender, sender,
state_key, state_key,
unsigned, 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") && event_id == event_id!("$h29iv0s8:example.com")
&& origin_server_ts == MilliSecondsSinceUnixEpoch(uint!(1)) && origin_server_ts == MilliSecondsSinceUnixEpoch(uint!(1))
&& prev_content.aliases == vec![room_alias_id!("#inner:localhost")] && 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); let expected_url = Some(expected_url);
assert_matches!( assert_matches!(
from_json_value::<Raw<StateEvent<AnyStateEventContent>>>(json_data) from_json_value::<Raw<AnyStateEvent>>(json_data)
.unwrap() .unwrap()
.deserialize() .deserialize()
.unwrap(), .unwrap(),
StateEvent { AnyStateEvent::RoomAvatar(StateEvent {
content: AnyStateEventContent::RoomAvatar(AvatarEventContent { content: AvatarEventContent {
info: Some(info), info: Some(info),
url, url,
.. ..
}), },
event_id, event_id,
origin_server_ts, origin_server_ts,
prev_content: None, prev_content: None,
@ -208,7 +199,7 @@ fn deserialize_avatar_without_prev_content() {
sender, sender,
state_key, state_key,
unsigned unsigned
} if event_id == event_id!("$h29iv0s8:example.com") }) if event_id == event_id!("$h29iv0s8:example.com")
&& origin_server_ts == MilliSecondsSinceUnixEpoch(uint!(1)) && origin_server_ts == MilliSecondsSinceUnixEpoch(uint!(1))
&& room_id == room_id!("!roomid:room.com") && room_id == room_id!("!roomid:room.com")
&& sender == user_id!("@carl:example.com") && sender == user_id!("@carl:example.com")

View File

@ -3,7 +3,7 @@ use std::convert::TryFrom;
use js_int::uint; use js_int::uint;
use ruma_events::{ use ruma_events::{
room::{join_rules::JoinRule, topic::TopicEventContent}, room::{join_rules::JoinRule, topic::TopicEventContent},
AnyStateEventContent, AnyStrippedStateEvent, StrippedStateEvent, AnyStrippedStateEvent, StrippedStateEvent,
}; };
use ruma_identifiers::{mxc_uri, user_id, RoomNameBox}; use ruma_identifiers::{mxc_uri, user_id, RoomNameBox};
use serde_json::{from_value as from_json_value, json, to_value as to_json_value}; 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] #[test]
fn serialize_stripped_state_event_any_content() { fn serialize_stripped_state_event_any_content() {
let event = StrippedStateEvent { let event = StrippedStateEvent {
content: AnyStateEventContent::RoomTopic(TopicEventContent::new("Testing room".into())), content: TopicEventContent::new("Testing room".into()),
state_key: "".into(), state_key: "".into(),
sender: user_id!("@example:localhost"), sender: user_id!("@example:localhost"),
}; };

View File

@ -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 ruma_identifiers::{room_id, user_id, EventEncryptionAlgorithm};
use serde_json::{json, to_value as to_json_value}; 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() { fn serialization() {
let ev = ToDeviceEvent { let ev = ToDeviceEvent {
sender: user_id!("@example:example.org"), sender: user_id!("@example:example.org"),
content: AnyToDeviceEventContent::RoomKey(RoomKeyToDeviceEventContent::new( content: RoomKeyToDeviceEventContent::new(
EventEncryptionAlgorithm::MegolmV1AesSha2, EventEncryptionAlgorithm::MegolmV1AesSha2,
room_id!("!testroomid:example.org"), room_id!("!testroomid:example.org"),
"SessId".into(), "SessId".into(),
"SessKey".into(), "SessKey".into(),
)), ),
}; };
assert_eq!( assert_eq!(