summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/channel/routes/channel/test/post.rs2
-rw-r--r--src/channel/routes/test.rs4
-rw-r--r--src/event/routes/test/channel.rs30
-rw-r--r--src/event/routes/test/invite.rs8
-rw-r--r--src/event/routes/test/message.rs32
-rw-r--r--src/event/routes/test/resume.rs20
-rw-r--r--src/event/routes/test/setup.rs4
-rw-r--r--src/event/routes/test/token.rs8
-rw-r--r--src/test/fixtures/channel.rs24
-rw-r--r--src/test/fixtures/event.rs79
-rw-r--r--src/test/fixtures/login.rs16
-rw-r--r--src/test/fixtures/message.rs26
-rw-r--r--src/test/fixtures/mod.rs1
13 files changed, 134 insertions, 120 deletions
diff --git a/src/channel/routes/channel/test/post.rs b/src/channel/routes/channel/test/post.rs
index 67e7d36..d81715f 100644
--- a/src/channel/routes/channel/test/post.rs
+++ b/src/channel/routes/channel/test/post.rs
@@ -44,7 +44,7 @@ async fn messages_in_order() {
.subscribe(None)
.await
.expect("subscribing to a valid channel succeeds")
- .filter_map(fixtures::message::events)
+ .filter_map(fixtures::event::message)
.take(requests.len());
let events = events.collect::<Vec<_>>().immediately().await;
diff --git a/src/channel/routes/test.rs b/src/channel/routes/test.rs
index 216eba1..46c58b0 100644
--- a/src/channel/routes/test.rs
+++ b/src/channel/routes/test.rs
@@ -48,8 +48,8 @@ async fn new_channel() {
.subscribe(None)
.await
.expect("subscribing never fails")
- .filter_map(fixtures::channel::events)
- .filter_map(fixtures::channel::created)
+ .filter_map(fixtures::event::channel)
+ .filter_map(fixtures::event::channel::created)
.filter(|event| future::ready(event.channel == response));
let event = events
diff --git a/src/event/routes/test/channel.rs b/src/event/routes/test/channel.rs
index ac45bfc..0ab28c4 100644
--- a/src/event/routes/test/channel.rs
+++ b/src/event/routes/test/channel.rs
@@ -33,8 +33,8 @@ async fn creating() {
// Verify channel created event
let _ = events
- .filter_map(fixtures::channel::events)
- .filter_map(fixtures::channel::created)
+ .filter_map(fixtures::event::channel)
+ .filter_map(fixtures::event::channel::created)
.filter(|event| future::ready(event.channel == channel))
.next()
.immediately()
@@ -68,8 +68,8 @@ async fn previously_created() {
// Verify channel created event
let _ = events
- .filter_map(fixtures::channel::events)
- .filter_map(fixtures::channel::created)
+ .filter_map(fixtures::event::channel)
+ .filter_map(fixtures::event::channel::created)
.filter(|event| future::ready(event.channel == channel))
.next()
.immediately()
@@ -101,8 +101,8 @@ async fn expiring() {
// Check for expiry event
let _ = events
- .filter_map(fixtures::channel::events)
- .filter_map(fixtures::channel::deleted)
+ .filter_map(fixtures::event::channel)
+ .filter_map(fixtures::event::channel::deleted)
.filter(|event| future::ready(event.id == channel.id))
.next()
.immediately()
@@ -134,8 +134,8 @@ async fn previously_expired() {
// Check for expiry event
let _ = events
- .filter_map(fixtures::channel::events)
- .filter_map(fixtures::channel::deleted)
+ .filter_map(fixtures::event::channel)
+ .filter_map(fixtures::event::channel::deleted)
.filter(|event| future::ready(event.id == channel.id))
.next()
.immediately()
@@ -167,8 +167,8 @@ async fn deleting() {
// Check for delete event
let _ = events
- .filter_map(fixtures::channel::events)
- .filter_map(fixtures::channel::deleted)
+ .filter_map(fixtures::event::channel)
+ .filter_map(fixtures::event::channel::deleted)
.filter(|event| future::ready(event.id == channel.id))
.next()
.immediately()
@@ -182,8 +182,6 @@ async fn previously_deleted() {
let app = fixtures::scratch_app().await;
let channel = fixtures::channel::create(&app, &fixtures::now()).await;
- let sender = fixtures::login::create(&app, &fixtures::now()).await;
- let message = fixtures::message::send(&app, &channel, &sender, &fixtures::now()).await;
// Delete the channel
@@ -202,11 +200,11 @@ async fn previously_deleted() {
// Check for expiry event
let _ = events
- .filter_map(fixtures::message::events)
- .filter_map(fixtures::message::deleted)
- .filter(|event| future::ready(event.id == message.id))
+ .filter_map(fixtures::event::channel)
+ .filter_map(fixtures::event::channel::deleted)
+ .filter(|event| future::ready(event.id == channel.id))
.next()
.immediately()
.await
- .expect("a deleted message will be delivered");
+ .expect("a deleted channel event will be delivered");
}
diff --git a/src/event/routes/test/invite.rs b/src/event/routes/test/invite.rs
index 10e4521..afd3aeb 100644
--- a/src/event/routes/test/invite.rs
+++ b/src/event/routes/test/invite.rs
@@ -35,8 +35,8 @@ async fn accepting_invite() {
// Expect a login created event
let _ = events
- .filter_map(fixtures::login::events)
- .filter_map(fixtures::login::created)
+ .filter_map(fixtures::event::login)
+ .filter_map(fixtures::event::login::created)
.filter(|event| future::ready(event.login == joiner))
.next()
.immediately()
@@ -72,8 +72,8 @@ async fn previously_accepted_invite() {
// Expect a login created event
let _ = events
- .filter_map(fixtures::login::events)
- .filter_map(fixtures::login::created)
+ .filter_map(fixtures::event::login)
+ .filter_map(fixtures::event::login::created)
.filter(|event| future::ready(event.login == joiner))
.next()
.immediately()
diff --git a/src/event/routes/test/message.rs b/src/event/routes/test/message.rs
index 9bbbc7d..df42a89 100644
--- a/src/event/routes/test/message.rs
+++ b/src/event/routes/test/message.rs
@@ -42,8 +42,8 @@ async fn sending() {
// Verify that an event is delivered
let _ = events
- .filter_map(fixtures::message::events)
- .filter_map(fixtures::message::sent)
+ .filter_map(fixtures::event::message)
+ .filter_map(fixtures::event::message::sent)
.filter(|event| future::ready(event.message == message))
.next()
.immediately()
@@ -83,8 +83,8 @@ async fn previously_sent() {
// Verify that an event is delivered
let _ = events
- .filter_map(fixtures::message::events)
- .filter_map(fixtures::message::sent)
+ .filter_map(fixtures::event::message)
+ .filter_map(fixtures::event::message::sent)
.filter(|event| future::ready(event.message == message))
.next()
.immediately()
@@ -124,8 +124,8 @@ async fn sent_in_multiple_channels() {
// Verify the structure of the response.
let events = events
- .filter_map(fixtures::message::events)
- .filter_map(fixtures::message::sent)
+ .filter_map(fixtures::event::message)
+ .filter_map(fixtures::event::message::sent)
.take(messages.len())
.collect::<Vec<_>>()
.immediately()
@@ -160,8 +160,8 @@ async fn sent_sequentially() {
// Verify the expected events in the expected order
let mut events = events
- .filter_map(fixtures::message::events)
- .filter_map(fixtures::message::sent)
+ .filter_map(fixtures::event::message)
+ .filter_map(fixtures::event::message::sent)
.filter(|event| future::ready(messages.iter().any(|message| &event.message == message)));
for message in &messages {
@@ -201,8 +201,8 @@ async fn expiring() {
// Check for expiry event
let _ = events
- .filter_map(fixtures::message::events)
- .filter_map(fixtures::message::deleted)
+ .filter_map(fixtures::event::message)
+ .filter_map(fixtures::event::message::deleted)
.filter(|event| future::ready(event.id == message.id))
.next()
.immediately()
@@ -236,8 +236,8 @@ async fn previously_expired() {
// Check for expiry event
let _ = events
- .filter_map(fixtures::message::events)
- .filter_map(fixtures::message::deleted)
+ .filter_map(fixtures::event::message)
+ .filter_map(fixtures::event::message::deleted)
.filter(|event| future::ready(event.id == message.id))
.next()
.immediately()
@@ -271,8 +271,8 @@ async fn deleting() {
// Check for delete event
let _ = events
- .filter_map(fixtures::message::events)
- .filter_map(fixtures::message::deleted)
+ .filter_map(fixtures::event::message)
+ .filter_map(fixtures::event::message::deleted)
.filter(|event| future::ready(event.id == message.id))
.next()
.immediately()
@@ -306,8 +306,8 @@ async fn previously_deleted() {
// Check for delete event
let _ = events
- .filter_map(fixtures::message::events)
- .filter_map(fixtures::message::deleted)
+ .filter_map(fixtures::event::message)
+ .filter_map(fixtures::event::message::deleted)
.filter(|event| future::ready(event.id == message.id))
.next()
.immediately()
diff --git a/src/event/routes/test/resume.rs b/src/event/routes/test/resume.rs
index c393d38..e4751bb 100644
--- a/src/event/routes/test/resume.rs
+++ b/src/event/routes/test/resume.rs
@@ -40,8 +40,8 @@ async fn resume() {
.expect("subscribe never fails");
let event = events
- .filter_map(fixtures::message::events)
- .filter_map(fixtures::message::sent)
+ .filter_map(fixtures::event::message)
+ .filter_map(fixtures::event::message::sent)
.filter(|event| future::ready(event.message == initial_message))
.next()
.immediately()
@@ -64,8 +64,8 @@ async fn resume() {
// Verify final events
let mut events = resumed
- .filter_map(fixtures::message::events)
- .filter_map(fixtures::message::sent)
+ .filter_map(fixtures::event::message)
+ .filter_map(fixtures::event::message::sent)
.zip(stream::iter(later_messages));
while let Some((event, message)) = events.next().immediately().await {
@@ -124,8 +124,8 @@ async fn serial_resume() {
// Check for expected events
let events = events
- .filter_map(fixtures::message::events)
- .filter_map(fixtures::message::sent)
+ .filter_map(fixtures::event::message)
+ .filter_map(fixtures::event::message::sent)
.zip(stream::iter(initial_messages))
.collect::<Vec<_>>()
.immediately()
@@ -165,8 +165,8 @@ async fn serial_resume() {
// Check for expected events
let events = events
- .filter_map(fixtures::message::events)
- .filter_map(fixtures::message::sent)
+ .filter_map(fixtures::event::message)
+ .filter_map(fixtures::event::message::sent)
.zip(stream::iter(resume_messages))
.collect::<Vec<_>>()
.immediately()
@@ -206,8 +206,8 @@ async fn serial_resume() {
// Check for expected events
let events = events
- .filter_map(fixtures::message::events)
- .filter_map(fixtures::message::sent)
+ .filter_map(fixtures::event::message)
+ .filter_map(fixtures::event::message::sent)
.zip(stream::iter(final_messages))
.collect::<Vec<_>>()
.immediately()
diff --git a/src/event/routes/test/setup.rs b/src/event/routes/test/setup.rs
index 234c2d9..a54b65b 100644
--- a/src/event/routes/test/setup.rs
+++ b/src/event/routes/test/setup.rs
@@ -36,8 +36,8 @@ async fn previously_completed() {
// Expect a login created event
let _ = events
- .filter_map(fixtures::login::events)
- .filter_map(fixtures::login::created)
+ .filter_map(fixtures::event::login)
+ .filter_map(fixtures::event::login::created)
.filter(|event| future::ready(event.login == owner))
.next()
.immediately()
diff --git a/src/event/routes/test/token.rs b/src/event/routes/test/token.rs
index a545988..577fabd 100644
--- a/src/event/routes/test/token.rs
+++ b/src/event/routes/test/token.rs
@@ -41,8 +41,8 @@ async fn terminates_on_token_expiry() {
];
assert!(events
- .filter_map(fixtures::message::events)
- .filter_map(fixtures::message::sent)
+ .filter_map(fixtures::event::message)
+ .filter_map(fixtures::event::message::sent)
.filter(|event| future::ready(messages.iter().any(|message| &event.message == message)))
.next()
.immediately()
@@ -87,8 +87,8 @@ async fn terminates_on_logout() {
];
assert!(events
- .filter_map(fixtures::message::events)
- .filter_map(fixtures::message::sent)
+ .filter_map(fixtures::event::message)
+ .filter_map(fixtures::event::message::sent)
.filter(|event| future::ready(messages.iter().any(|message| &event.message == message)))
.next()
.immediately()
diff --git a/src/test/fixtures/channel.rs b/src/test/fixtures/channel.rs
index 1fd8d23..0c6480b 100644
--- a/src/test/fixtures/channel.rs
+++ b/src/test/fixtures/channel.rs
@@ -1,5 +1,3 @@
-use std::future;
-
use faker_rand::{
en_us::{addresses::CityName, names::FullName},
faker_impl_from_templates,
@@ -10,7 +8,6 @@ use crate::{
app::App,
channel::{self, Channel},
clock::RequestedAt,
- event::Event,
name::Name,
};
@@ -31,27 +28,6 @@ faker_impl_from_templates! {
NameTemplate; "{} {}", CityName, FullName;
}
-pub fn events(event: Event) -> future::Ready<Option<channel::Event>> {
- future::ready(match event {
- Event::Channel(channel) => Some(channel),
- _ => None,
- })
-}
-
-pub fn created(event: channel::Event) -> future::Ready<Option<channel::event::Created>> {
- future::ready(match event {
- channel::Event::Created(event) => Some(event),
- channel::Event::Deleted(_) => None,
- })
-}
-
-pub fn deleted(event: channel::Event) -> future::Ready<Option<channel::event::Deleted>> {
- future::ready(match event {
- channel::Event::Deleted(event) => Some(event),
- channel::Event::Created(_) => None,
- })
-}
-
pub fn fictitious() -> channel::Id {
channel::Id::generate()
}
diff --git a/src/test/fixtures/event.rs b/src/test/fixtures/event.rs
new file mode 100644
index 0000000..de02d4d
--- /dev/null
+++ b/src/test/fixtures/event.rs
@@ -0,0 +1,79 @@
+use std::future::{self, Ready};
+
+use crate::event::Event;
+
+pub fn channel(event: Event) -> Ready<Option<channel::Event>> {
+ future::ready(match event {
+ Event::Channel(channel) => Some(channel),
+ _ => None,
+ })
+}
+
+pub fn message(event: Event) -> Ready<Option<message::Event>> {
+ future::ready(match event {
+ Event::Message(event) => Some(event),
+ _ => None,
+ })
+}
+
+pub fn login(event: Event) -> Ready<Option<login::Event>> {
+ future::ready(match event {
+ Event::Login(event) => Some(event),
+ _ => None,
+ })
+}
+
+pub mod channel {
+ use std::future::{self, Ready};
+
+ use crate::channel::event;
+ pub use crate::channel::Event;
+
+ pub fn created(event: Event) -> Ready<Option<event::Created>> {
+ future::ready(match event {
+ Event::Created(event) => Some(event),
+ Event::Deleted(_) => None,
+ })
+ }
+
+ pub fn deleted(event: Event) -> Ready<Option<event::Deleted>> {
+ future::ready(match event {
+ Event::Deleted(event) => Some(event),
+ Event::Created(_) => None,
+ })
+ }
+}
+
+pub mod message {
+ use std::future::{self, Ready};
+
+ use crate::message::event;
+ pub use crate::message::Event;
+
+ pub fn sent(event: Event) -> Ready<Option<event::Sent>> {
+ future::ready(match event {
+ Event::Sent(event) => Some(event),
+ Event::Deleted(_) => None,
+ })
+ }
+
+ pub fn deleted(event: Event) -> future::Ready<Option<event::Deleted>> {
+ future::ready(match event {
+ Event::Deleted(event) => Some(event),
+ Event::Sent(_) => None,
+ })
+ }
+}
+
+pub mod login {
+ use std::future::{self, Ready};
+
+ use crate::login::event;
+ pub use crate::login::Event;
+
+ pub fn created(event: Event) -> Ready<Option<event::Created>> {
+ future::ready(match event {
+ Event::Created(event) => Some(event),
+ })
+ }
+}
diff --git a/src/test/fixtures/login.rs b/src/test/fixtures/login.rs
index cbcbdd4..e308289 100644
--- a/src/test/fixtures/login.rs
+++ b/src/test/fixtures/login.rs
@@ -1,12 +1,9 @@
-use std::future::{self, Ready};
-
use faker_rand::en_us::internet;
use uuid::Uuid;
use crate::{
app::App,
clock::RequestedAt,
- event::Event,
login::{self, Login, Password},
name::Name,
};
@@ -48,16 +45,3 @@ fn propose_name() -> Name {
pub fn propose_password() -> Password {
Uuid::new_v4().to_string().into()
}
-
-pub fn events(event: Event) -> Ready<Option<login::Event>> {
- future::ready(match event {
- Event::Login(event) => Some(event),
- _ => None,
- })
-}
-
-pub fn created(event: login::Event) -> Ready<Option<login::event::Created>> {
- future::ready(match event {
- login::Event::Created(event) => Some(event),
- })
-}
diff --git a/src/test/fixtures/message.rs b/src/test/fixtures/message.rs
index 8cb50c1..d3b4719 100644
--- a/src/test/fixtures/message.rs
+++ b/src/test/fixtures/message.rs
@@ -1,14 +1,11 @@
-use std::future;
-
use faker_rand::lorem::Paragraphs;
use crate::{
app::App,
channel::Channel,
clock::RequestedAt,
- event::Event,
login::Login,
- message::{self, event, Body, Message},
+ message::{self, Body, Message},
};
pub async fn send(app: &App, channel: &Channel, sender: &Login, sent_at: &RequestedAt) -> Message {
@@ -24,27 +21,6 @@ pub fn propose() -> Body {
rand::random::<Paragraphs>().to_string().into()
}
-pub fn events(event: Event) -> future::Ready<Option<message::Event>> {
- future::ready(match event {
- Event::Message(event) => Some(event),
- _ => None,
- })
-}
-
-pub fn sent(event: message::Event) -> future::Ready<Option<event::Sent>> {
- future::ready(match event {
- message::Event::Sent(event) => Some(event),
- message::Event::Deleted(_) => None,
- })
-}
-
-pub fn deleted(event: message::Event) -> future::Ready<Option<event::Deleted>> {
- future::ready(match event {
- message::Event::Deleted(event) => Some(event),
- message::Event::Sent(_) => None,
- })
-}
-
pub fn fictitious() -> message::Id {
message::Id::generate()
}
diff --git a/src/test/fixtures/mod.rs b/src/test/fixtures/mod.rs
index cf30e02..2b7b6af 100644
--- a/src/test/fixtures/mod.rs
+++ b/src/test/fixtures/mod.rs
@@ -4,6 +4,7 @@ use crate::{app::App, clock::RequestedAt, db};
pub mod channel;
pub mod cookie;
+pub mod event;
pub mod future;
pub mod identity;
pub mod invite;