summaryrefslogtreecommitdiff
path: root/src/event/routes/test/token.rs
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2024-10-25 00:33:16 -0400
committerOwen Jacobson <owen@grimoire.ca>2024-10-25 00:56:48 -0400
commit5423ec3937a4e28f3958a71b3db7498a4c427dc1 (patch)
tree8fc8531086c1691b0a9fc0a5ddb615d913dc6448 /src/event/routes/test/token.rs
parenteae0edb57e9ade7c73affb78baf2ae267b6290b8 (diff)
Tests for purged channels and messages.
This required a re-think of the `.immediately()` combinator, to generalize it to cases where a message is _not_ expected. That (more or less immediately) suggested some mixed combinators, particularly for stream futures (futures of `Option<T>`).
Diffstat (limited to 'src/event/routes/test/token.rs')
-rw-r--r--src/event/routes/test/token.rs16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/event/routes/test/token.rs b/src/event/routes/test/token.rs
index 577fabd..2039d9b 100644
--- a/src/event/routes/test/token.rs
+++ b/src/event/routes/test/token.rs
@@ -4,7 +4,7 @@ use futures::{future, stream::StreamExt as _};
use crate::{
event::routes::get,
- test::fixtures::{self, future::Immediately as _},
+ test::fixtures::{self, future::Expect as _},
};
#[tokio::test]
@@ -40,14 +40,13 @@ async fn terminates_on_token_expiry() {
fixtures::message::send(&app, &channel, &sender, &fixtures::now()).await,
];
- assert!(events
+ events
.filter_map(fixtures::event::message)
.filter_map(fixtures::event::message::sent)
.filter(|event| future::ready(messages.iter().any(|message| &event.message == message)))
.next()
- .immediately()
- .await
- .is_none());
+ .expect_none("end of stream")
+ .await;
}
#[tokio::test]
@@ -86,12 +85,11 @@ async fn terminates_on_logout() {
fixtures::message::send(&app, &channel, &sender, &fixtures::now()).await,
];
- assert!(events
+ events
.filter_map(fixtures::event::message)
.filter_map(fixtures::event::message::sent)
.filter(|event| future::ready(messages.iter().any(|message| &event.message == message)))
.next()
- .immediately()
- .await
- .is_none());
+ .expect_none("end of stream")
+ .await;
}