tests: use the new global account data methods a bit more
This commit is contained in:
@@ -1706,18 +1706,10 @@ mod tests {
|
||||
let mut subscriber = client.subscribe_to_ignore_user_list_changes();
|
||||
assert!(subscriber.next().now_or_never().is_none());
|
||||
|
||||
let f = EventFactory::new();
|
||||
let mut sync_builder = SyncResponseBuilder::new();
|
||||
let response = sync_builder
|
||||
.add_global_account_data_event(matrix_sdk_test::GlobalAccountDataTestEvent::Custom(
|
||||
json!({
|
||||
"content": {
|
||||
"ignored_users": {
|
||||
*BOB: {}
|
||||
}
|
||||
},
|
||||
"type": "m.ignored_user_list",
|
||||
}),
|
||||
))
|
||||
.add_global_account_data(f.ignored_user_list([(*BOB).into()]).into_raw())
|
||||
.build_sync_response();
|
||||
client.receive_sync_response(response).await.unwrap();
|
||||
|
||||
@@ -1726,16 +1718,7 @@ mod tests {
|
||||
|
||||
// Receive the same response.
|
||||
let response = sync_builder
|
||||
.add_global_account_data_event(matrix_sdk_test::GlobalAccountDataTestEvent::Custom(
|
||||
json!({
|
||||
"content": {
|
||||
"ignored_users": {
|
||||
*BOB: {}
|
||||
}
|
||||
},
|
||||
"type": "m.ignored_user_list",
|
||||
}),
|
||||
))
|
||||
.add_global_account_data(f.ignored_user_list([(*BOB).into()]).into_raw())
|
||||
.build_sync_response();
|
||||
client.receive_sync_response(response).await.unwrap();
|
||||
|
||||
@@ -1744,14 +1727,7 @@ mod tests {
|
||||
|
||||
// Now remove Bob from the ignored list.
|
||||
let response = sync_builder
|
||||
.add_global_account_data_event(matrix_sdk_test::GlobalAccountDataTestEvent::Custom(
|
||||
json!({
|
||||
"content": {
|
||||
"ignored_users": {}
|
||||
},
|
||||
"type": "m.ignored_user_list",
|
||||
}),
|
||||
))
|
||||
.add_global_account_data(f.ignored_user_list([]).into_raw())
|
||||
.build_sync_response();
|
||||
client.receive_sync_response(response).await.unwrap();
|
||||
|
||||
@@ -1765,17 +1741,9 @@ mod tests {
|
||||
let client = logged_in_base_client(None).await;
|
||||
|
||||
let mut sync_builder = SyncResponseBuilder::new();
|
||||
let f = EventFactory::new();
|
||||
let response = sync_builder
|
||||
.add_global_account_data_event(matrix_sdk_test::GlobalAccountDataTestEvent::Custom(
|
||||
json!({
|
||||
"content": {
|
||||
"ignored_users": {
|
||||
ignored_user_id: {}
|
||||
}
|
||||
},
|
||||
"type": "m.ignored_user_list",
|
||||
}),
|
||||
))
|
||||
.add_global_account_data(f.ignored_user_list([ignored_user_id.to_owned()]).into_raw())
|
||||
.build_sync_response();
|
||||
client.receive_sync_response(response).await.unwrap();
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ use matrix_sdk::{
|
||||
};
|
||||
use matrix_sdk_common::executor::spawn;
|
||||
use matrix_sdk_test::{
|
||||
ALICE, BOB, GlobalAccountDataTestEvent, JoinedRoomBuilder, SyncResponseBuilder, async_test,
|
||||
event_factory::EventFactory, mocks::mock_encryption_state,
|
||||
ALICE, BOB, JoinedRoomBuilder, SyncResponseBuilder, async_test, event_factory::EventFactory,
|
||||
mocks::mock_encryption_state,
|
||||
};
|
||||
use matrix_sdk_ui::timeline::{RoomExt, TimelineDetails};
|
||||
use ruma::{
|
||||
@@ -36,7 +36,6 @@ use ruma::{
|
||||
},
|
||||
room_id, user_id,
|
||||
};
|
||||
use serde_json::json;
|
||||
use stream_assert::assert_pending;
|
||||
|
||||
use crate::mock_sync;
|
||||
@@ -237,14 +236,7 @@ async fn test_timeline_is_reset_when_a_user_is_ignored_or_unignored() {
|
||||
|
||||
assert_pending!(timeline_stream);
|
||||
|
||||
sync_builder.add_global_account_data_event(GlobalAccountDataTestEvent::Custom(json!({
|
||||
"content": {
|
||||
"ignored_users": {
|
||||
bob: {}
|
||||
}
|
||||
},
|
||||
"type": "m.ignored_user_list",
|
||||
})));
|
||||
sync_builder.add_global_account_data(ev_factory.ignored_user_list([bob.to_owned()]).into_raw());
|
||||
|
||||
mock_sync(&server, sync_builder.build_json_sync_response(), None).await;
|
||||
let _response = client.sync_once(sync_settings.clone()).await.unwrap();
|
||||
|
||||
@@ -16,7 +16,9 @@ use matrix_sdk::{
|
||||
use matrix_sdk_base::{sync::RoomUpdates, RoomState};
|
||||
use matrix_sdk_common::executor::spawn;
|
||||
use matrix_sdk_test::{
|
||||
async_test, sync_state_event,
|
||||
async_test,
|
||||
event_factory::EventFactory,
|
||||
sync_state_event,
|
||||
test_json::{
|
||||
self,
|
||||
sync::{
|
||||
@@ -26,7 +28,7 @@ use matrix_sdk_test::{
|
||||
sync_events::PINNED_EVENTS,
|
||||
TAG,
|
||||
},
|
||||
GlobalAccountDataTestEvent, JoinedRoomBuilder, SyncResponseBuilder, DEFAULT_TEST_ROOM_ID,
|
||||
JoinedRoomBuilder, SyncResponseBuilder, DEFAULT_TEST_ROOM_ID,
|
||||
};
|
||||
use ruma::{
|
||||
api::client::{
|
||||
@@ -1295,28 +1297,14 @@ async fn test_dms_are_processed_in_any_sync_response() {
|
||||
let room_id_2 = room_id!("!s:e.uk");
|
||||
|
||||
let joined_room_builder = JoinedRoomBuilder::new(room_id_1);
|
||||
let f = EventFactory::new();
|
||||
let mut sync_response_builder = SyncResponseBuilder::new();
|
||||
sync_response_builder.add_global_account_data_event(GlobalAccountDataTestEvent::Custom(
|
||||
json!({
|
||||
"content": {
|
||||
user_a_id: [
|
||||
room_id_1
|
||||
],
|
||||
user_b_id: [
|
||||
room_id_2
|
||||
]
|
||||
},
|
||||
"type": "m.direct",
|
||||
"event_id": "$757957878228ekrDs:localhost",
|
||||
"origin_server_ts": 17195787,
|
||||
"sender": "@example:localhost",
|
||||
"state_key": "",
|
||||
"type": "m.direct",
|
||||
"unsigned": {
|
||||
"age": 139298
|
||||
}
|
||||
}),
|
||||
));
|
||||
sync_response_builder.add_global_account_data(
|
||||
f.direct()
|
||||
.add_user(user_a_id.to_owned().into(), room_id_1)
|
||||
.add_user(user_b_id.to_owned().into(), room_id_2)
|
||||
.into_raw(),
|
||||
);
|
||||
sync_response_builder.add_joined_room(joined_room_builder);
|
||||
let json_response = sync_response_builder.build_json_sync_response();
|
||||
|
||||
|
||||
@@ -22,10 +22,7 @@ use matrix_sdk_base::event_cache::{
|
||||
store::{EventCacheStore, MemoryStore},
|
||||
Gap,
|
||||
};
|
||||
use matrix_sdk_test::{
|
||||
async_test, event_factory::EventFactory, GlobalAccountDataTestEvent, JoinedRoomBuilder, ALICE,
|
||||
BOB,
|
||||
};
|
||||
use matrix_sdk_test::{async_test, event_factory::EventFactory, JoinedRoomBuilder, ALICE, BOB};
|
||||
use ruma::{
|
||||
event_id,
|
||||
events::{
|
||||
@@ -36,7 +33,6 @@ use ruma::{
|
||||
room_version_rules::RedactionRules,
|
||||
user_id, EventId,
|
||||
};
|
||||
use serde_json::json;
|
||||
use tokio::{spawn, sync::broadcast, time::sleep};
|
||||
|
||||
mod threads;
|
||||
@@ -163,14 +159,8 @@ async fn test_ignored_unignored() {
|
||||
server
|
||||
.mock_sync()
|
||||
.ok_and_run(&client, |sync_builder| {
|
||||
sync_builder.add_global_account_data_event(GlobalAccountDataTestEvent::Custom(json!({
|
||||
"content": {
|
||||
"ignored_users": {
|
||||
dexter: {}
|
||||
}
|
||||
},
|
||||
"type": "m.ignored_user_list",
|
||||
})));
|
||||
sync_builder
|
||||
.add_global_account_data(f.ignored_user_list([dexter.to_owned()]).into_raw());
|
||||
})
|
||||
.await;
|
||||
|
||||
|
||||
@@ -14,9 +14,7 @@ use matrix_sdk::{
|
||||
},
|
||||
Client, ThreadingSupport,
|
||||
};
|
||||
use matrix_sdk_test::{
|
||||
async_test, event_factory::EventFactory, GlobalAccountDataTestEvent, JoinedRoomBuilder, ALICE,
|
||||
};
|
||||
use matrix_sdk_test::{async_test, event_factory::EventFactory, JoinedRoomBuilder, ALICE};
|
||||
use ruma::{
|
||||
event_id,
|
||||
events::{AnySyncTimelineEvent, Mentions},
|
||||
@@ -25,7 +23,6 @@ use ruma::{
|
||||
serde::Raw,
|
||||
user_id, OwnedEventId, OwnedRoomId,
|
||||
};
|
||||
use serde_json::json;
|
||||
use tokio::sync::broadcast;
|
||||
|
||||
/// Small helper for backpagination tests, to wait for initial events to
|
||||
@@ -168,14 +165,8 @@ async fn test_ignored_user_empties_threads() {
|
||||
server
|
||||
.mock_sync()
|
||||
.ok_and_run(&client, |sync_builder| {
|
||||
sync_builder.add_global_account_data_event(GlobalAccountDataTestEvent::Custom(json!({
|
||||
"content": {
|
||||
"ignored_users": {
|
||||
dexter: {}
|
||||
}
|
||||
},
|
||||
"type": "m.ignored_user_list",
|
||||
})));
|
||||
sync_builder
|
||||
.add_global_account_data(f.ignored_user_list([dexter.to_owned()]).into_raw());
|
||||
})
|
||||
.await;
|
||||
|
||||
@@ -506,12 +497,7 @@ async fn thread_subscription_test_setup() -> ThreadSubscriptionTestSetup {
|
||||
.mock_sync()
|
||||
.ok_and_run(&client, |sync_builder| {
|
||||
sync_builder.add_joined_room(JoinedRoomBuilder::new(room_id).add_state_event(member));
|
||||
sync_builder.add_global_account_data_event(GlobalAccountDataTestEvent::Custom(json!({
|
||||
"type": "m.push_rules",
|
||||
"content": {
|
||||
"global": push_rules
|
||||
}
|
||||
})));
|
||||
sync_builder.add_global_account_data(f.push_rules(push_rules).into_raw());
|
||||
})
|
||||
.await;
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@ use matrix_sdk::{
|
||||
};
|
||||
use matrix_sdk_test::{
|
||||
async_test, bulk_room_members, event_factory::EventFactory, sync_state_event, test_json,
|
||||
GlobalAccountDataTestEvent, JoinedRoomBuilder, LeftRoomBuilder, StateTestEvent,
|
||||
SyncResponseBuilder, BOB, DEFAULT_TEST_ROOM_ID,
|
||||
JoinedRoomBuilder, LeftRoomBuilder, StateTestEvent, SyncResponseBuilder, BOB,
|
||||
DEFAULT_TEST_ROOM_ID,
|
||||
};
|
||||
use ruma::{
|
||||
event_id,
|
||||
@@ -807,10 +807,10 @@ async fn test_is_direct() {
|
||||
room.set_is_direct(true).await.unwrap();
|
||||
|
||||
// Mock the sync response we should get from the homeserver.
|
||||
sync_builder.add_global_account_data_event(GlobalAccountDataTestEvent::Custom(json!({
|
||||
"type": "m.direct",
|
||||
"content": direct_content,
|
||||
})));
|
||||
let f = EventFactory::new();
|
||||
sync_builder.add_global_account_data(
|
||||
f.direct().add_user((*BOB).to_owned().into(), *DEFAULT_TEST_ROOM_ID).into_raw(),
|
||||
);
|
||||
mock_sync(&server, sync_builder.build_json_sync_response(), None).await;
|
||||
let _response = client.sync_once(sync_settings.clone()).await.unwrap();
|
||||
server.reset().await;
|
||||
@@ -835,10 +835,7 @@ async fn test_is_direct() {
|
||||
.await;
|
||||
|
||||
// Mock the sync response we should get from the homeserver.
|
||||
sync_builder.add_global_account_data_event(GlobalAccountDataTestEvent::Custom(json!({
|
||||
"type": "m.direct",
|
||||
"content": direct_content,
|
||||
})));
|
||||
sync_builder.add_global_account_data(f.direct().into_raw());
|
||||
mock_sync(&server, sync_builder.build_json_sync_response(), None).await;
|
||||
let _response = client.sync_once(sync_settings.clone()).await.unwrap();
|
||||
server.reset().await;
|
||||
|
||||
@@ -1036,22 +1036,12 @@ async fn test_reset_power_levels() {
|
||||
async fn test_is_direct_invite_by_3pid() {
|
||||
let (client, server) = logged_in_client_with_server().await;
|
||||
|
||||
let f = EventFactory::new();
|
||||
let mut sync_builder = SyncResponseBuilder::new();
|
||||
sync_builder.add_joined_room(JoinedRoomBuilder::default());
|
||||
let data = json!({
|
||||
"content": {
|
||||
"invited@localhost.com": [*DEFAULT_TEST_ROOM_ID],
|
||||
},
|
||||
"event_id": "$757957878228ekrDs:localhost",
|
||||
"origin_server_ts": 17195787,
|
||||
"sender": "@example:localhost",
|
||||
"state_key": "",
|
||||
"type": "m.direct",
|
||||
"unsigned": {
|
||||
"age": 139298
|
||||
}
|
||||
});
|
||||
sync_builder.add_global_account_data_bulk(vec![from_value(data).unwrap()]);
|
||||
sync_builder.add_global_account_data(
|
||||
f.direct().add_user("invited@localhost.com".into(), *DEFAULT_TEST_ROOM_ID).into_raw(),
|
||||
);
|
||||
|
||||
mock_sync(&server, sync_builder.build_json_sync_response(), None).await;
|
||||
mock_encryption_state(&server, false).await;
|
||||
|
||||
@@ -261,18 +261,6 @@ where
|
||||
.sender
|
||||
.or_else(|| Some(self.unsigned.as_ref()?.redacted_because.as_ref()?.sender.clone()));
|
||||
|
||||
if sender.is_none() {
|
||||
assert!(
|
||||
self.is_ephemeral || self.is_global,
|
||||
"the sender must be known when building the JSON for a non read-receipt event"
|
||||
);
|
||||
} else {
|
||||
assert!(
|
||||
!self.is_ephemeral && !self.is_global,
|
||||
"event builder set is_ephemeral or is_global, but also has a sender field"
|
||||
);
|
||||
}
|
||||
|
||||
let mut json = json!({
|
||||
"type": E::TYPE,
|
||||
"content": self.content,
|
||||
@@ -282,7 +270,14 @@ where
|
||||
let map = json.as_object_mut().unwrap();
|
||||
|
||||
if let Some(sender) = sender {
|
||||
map.insert("sender".to_owned(), json!(sender));
|
||||
if !self.is_ephemeral && !self.is_global {
|
||||
map.insert("sender".to_owned(), json!(sender));
|
||||
}
|
||||
} else {
|
||||
assert!(
|
||||
self.is_ephemeral || self.is_global,
|
||||
"the sender must be known when building the JSON for a non read-receipt or global event"
|
||||
);
|
||||
}
|
||||
|
||||
let event_id = self
|
||||
|
||||
Reference in New Issue
Block a user