mirror of
https://github.com/matrix-org/matrix-rust-sdk.git
synced 2026-05-06 06:53:32 -04:00
fixing timeline test
This commit is contained in:
@@ -497,7 +497,7 @@ impl Room {
|
||||
{
|
||||
TimelineStreamBackward::new(event_ids.clone(), end_token, Some(stored_events))
|
||||
} else {
|
||||
TimelineStreamBackward::new(event_ids.clone(), Some(sync_token.clone().unwrap()), None)
|
||||
TimelineStreamBackward::new(event_ids.clone(), Some(sync_token.clone().expect("Sync token exists")), None)
|
||||
};
|
||||
|
||||
backward_timeline_streams.push(backward_sender);
|
||||
|
||||
@@ -351,7 +351,7 @@ impl MemoryStore {
|
||||
{
|
||||
let pos = data.event_id_to_position.get(&redaction.redacts).copied();
|
||||
|
||||
if let Some(position) = pos{
|
||||
if let Some(position) = pos {
|
||||
if let Some(mut full_event) = data.events.get_mut(&position.clone()) {
|
||||
let inner_event = full_event.event.deserialize()?;
|
||||
if room_version.is_none() {
|
||||
@@ -371,7 +371,7 @@ impl MemoryStore {
|
||||
if let Some(event_id) = event.event_id() {
|
||||
data.event_id_to_position.insert(event_id, start_position);
|
||||
}
|
||||
data.events.insert(start_position, event.to_owned());
|
||||
data.events.insert(start_position, event.clone());
|
||||
}
|
||||
} else {
|
||||
for event in timeline.events.iter() {
|
||||
@@ -381,7 +381,7 @@ impl MemoryStore {
|
||||
if let Some(event_id) = event.event_id() {
|
||||
data.event_id_to_position.insert(event_id, end_position);
|
||||
}
|
||||
data.events.insert(end_position, event.to_owned());
|
||||
data.events.insert(end_position, event.clone());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -576,22 +576,26 @@ impl MemoryStore {
|
||||
&self,
|
||||
room_id: &RoomId,
|
||||
) -> Result<Option<(BoxStream<Result<SyncRoomEvent>>, Option<String>)>> {
|
||||
if let Some(data) = self.room_timeline.get(room_id) {
|
||||
let events = data.events.clone();
|
||||
let stream = stream! {
|
||||
for item in events.values() {
|
||||
yield Ok(item.to_owned());
|
||||
}
|
||||
};
|
||||
info!(
|
||||
"Found previously stored timeline for {}, with end token {:?}",
|
||||
room_id, data.end
|
||||
);
|
||||
Ok(Some((Box::pin(stream), data.end.to_owned())))
|
||||
let (events, end_token) = if let Some(data) = self.room_timeline.get(room_id) {
|
||||
(data.events.clone(), data.end.clone())
|
||||
} else {
|
||||
info!("No timeline for {} was previously stored", room_id);
|
||||
Ok(None)
|
||||
}
|
||||
return Ok(None);
|
||||
};
|
||||
|
||||
let stream = stream! {
|
||||
for (_, item) in events {
|
||||
println!("yield {:#?}", item);
|
||||
yield Ok(item);
|
||||
}
|
||||
};
|
||||
|
||||
info!(
|
||||
"Found previously stored timeline for {}, with end token {:?}",
|
||||
room_id, end_token
|
||||
);
|
||||
|
||||
Ok(Some((Box::pin(stream), end_token)))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3913,7 +3913,7 @@ pub(crate) mod test {
|
||||
let _ = client.sync_once(sync_settings).await.unwrap();
|
||||
sync_3.assert();
|
||||
|
||||
let expected_events = vec![
|
||||
let expected_forward_events = vec![
|
||||
"$152037280074GZeOm:localhost",
|
||||
"$editevid:localhost",
|
||||
"$151957878228ssqrJ:localhost",
|
||||
@@ -3930,27 +3930,14 @@ pub(crate) mod test {
|
||||
|
||||
use futures_util::StreamExt;
|
||||
let forward_events =
|
||||
forward_stream.take(expected_events.len()).collect::<Vec<SyncRoomEvent>>().await;
|
||||
forward_stream.take(expected_forward_events.len()).collect::<Vec<SyncRoomEvent>>().await;
|
||||
|
||||
assert!(forward_events.into_iter().zip(expected_events.iter()).all(|(a, b)| &a
|
||||
.event_id()
|
||||
.unwrap()
|
||||
.as_str()
|
||||
== b));
|
||||
for (r, e) in forward_events.into_iter().zip(expected_forward_events.iter()) {
|
||||
assert_eq!(&r.event_id().unwrap().as_str(), e);
|
||||
}
|
||||
|
||||
let expected_events = vec![
|
||||
"$152037280074GZeOm2:localhost",
|
||||
"$editevid2:localhost",
|
||||
"$151957878228ssqrJ2:localhost",
|
||||
"$15275046980maRLj2:localhost",
|
||||
"$15275047031IXQRi2:localhost",
|
||||
"$098237280074GZeOm2:localhost",
|
||||
let expected_backwards_events = vec![
|
||||
"$152037280074GZeOm:localhost",
|
||||
"$editevid:localhost",
|
||||
"$151957878228ssqrJ:localhost",
|
||||
"$15275046980maRLj:localhost",
|
||||
"$15275047031IXQRi:localhost",
|
||||
"$098237280074GZeOm:localhost",
|
||||
"$1444812213350496Caaaf:example.com",
|
||||
"$1444812213350496Cbbbf:example.com",
|
||||
"$1444812213350496Ccccf:example.com",
|
||||
@@ -3959,23 +3946,17 @@ pub(crate) mod test {
|
||||
"$1444812213350496Cccck:example.com",
|
||||
];
|
||||
|
||||
let join_handle = tokio::spawn(async move {
|
||||
let backward_events = backward_stream
|
||||
.take(expected_events.len())
|
||||
.collect::<Vec<crate::Result<SyncRoomEvent>>>()
|
||||
.await;
|
||||
let backward_events = backward_stream
|
||||
.take(expected_backwards_events.len())
|
||||
.collect::<Vec<crate::Result<SyncRoomEvent>>>()
|
||||
.await;
|
||||
|
||||
assert!(backward_events.into_iter().zip(expected_events.iter()).all(|(a, b)| &a
|
||||
.unwrap()
|
||||
.event_id()
|
||||
.unwrap()
|
||||
.as_str()
|
||||
== b));
|
||||
});
|
||||
|
||||
join_handle.await.unwrap();
|
||||
for (r, e) in backward_events.into_iter().zip(expected_backwards_events.iter()) {
|
||||
assert_eq!(&r.unwrap().event_id().unwrap().as_str(), e);
|
||||
}
|
||||
|
||||
mocked_messages.assert();
|
||||
mocked_messages_2.assert();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user