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::{
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::<Raw<EphemeralRoomEvent<AnyEphemeralRoomEventContent>>>(json_data)
from_json_value::<Raw<AnyEphemeralRoomEvent>>(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::<Raw<EphemeralRoomEvent<AnyEphemeralRoomEventContent>>>(json_data)
.unwrap()
.deserialize()
.unwrap(),
EphemeralRoomEvent {
content: AnyEphemeralRoomEventContent::Receipt(ReceiptEventContent(receipts)),
from_json_value::<Raw<AnyEphemeralRoomEvent>>(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)

View File

@ -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::<Raw<MessageEvent<AnyMessageEventContent>>>(json_data)
.unwrap()
.deserialize()
.unwrap(),
MessageEvent {
content: AnyMessageEventContent::CallAnswer(AnswerEventContent {
from_json_value::<Raw<AnyMessageEvent>>(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::<Raw<MessageEvent<AnyMessageEventContent>>>(json_data)
.unwrap()
.deserialize()
.unwrap(),
MessageEvent {
content: AnyMessageEventContent::Sticker(StickerEventContent {
from_json_value::<Raw<AnyMessageEvent>>(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::<Raw<MessageEvent<AnyMessageEventContent>>>(full_json)
.unwrap()
.deserialize()
.unwrap(),
MessageEvent {
content: AnyMessageEventContent::CallAnswer(AnswerEventContent {
from_json_value::<Raw<AnyMessageEvent>>(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"

View File

@ -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::<Raw<StateEvent<AnyStateEventContent>>>(json_data)
.unwrap()
.deserialize()
.unwrap(),
StateEvent {
content: AnyStateEventContent::RoomAliases(content),
from_json_value::<Raw<AnyStateEvent>>(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::<SyncStateEvent<AnyStateEventContent>>(json_data)
from_json_value::<AnySyncStateEvent>(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::<Raw<StateEvent<AnyStateEventContent>>>(json_data)
from_json_value::<Raw<AnyStateEvent>>(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")

View File

@ -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"),
};

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 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!(