diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2024-09-27 23:03:46 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2024-09-28 01:00:12 -0400 |
| commit | 60b711c844f8624348d5d1dac3a625532a8e2a82 (patch) | |
| tree | a667cfa3833046425a87ec03c700d6124af70e4e /src/test/fixtures | |
| parent | 08c3a6e77a3f61ffc9643a5e1f840df9078d0b36 (diff) | |
Delete expired messages out of band.
Trying to reliably do expiry mid-request was causing some anomalies:
* Creating a channel with a dup name would fail, then succeed after listing channels.
It was very hard to reason about which operations needed to trigger expiry, to fix this "correctly," so now expiry runs on every request.
Diffstat (limited to 'src/test/fixtures')
| -rw-r--r-- | src/test/fixtures/filter.rs | 9 | ||||
| -rw-r--r-- | src/test/fixtures/mod.rs | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/test/fixtures/filter.rs b/src/test/fixtures/filter.rs new file mode 100644 index 0000000..8847e13 --- /dev/null +++ b/src/test/fixtures/filter.rs @@ -0,0 +1,9 @@ +use futures::future; + +use crate::events::types; + +pub fn messages() -> impl FnMut(&types::ResumableEvent) -> future::Ready<bool> { + |types::ResumableEvent(_, event)| { + future::ready(matches!(event.data, types::ChannelEventData::Message(_))) + } +} diff --git a/src/test/fixtures/mod.rs b/src/test/fixtures/mod.rs index 450fbec..d1dd0c3 100644 --- a/src/test/fixtures/mod.rs +++ b/src/test/fixtures/mod.rs @@ -3,6 +3,7 @@ use chrono::{TimeDelta, Utc}; use crate::{app::App, clock::RequestedAt, repo::pool}; pub mod channel; +pub mod filter; pub mod future; pub mod identity; pub mod login; |
