summaryrefslogtreecommitdiff
path: root/src/boot/routes
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot/routes')
-rw-r--r--src/boot/routes/get.rs27
-rw-r--r--src/boot/routes/mod.rs3
-rw-r--r--src/boot/routes/test.rs134
3 files changed, 0 insertions, 164 deletions
diff --git a/src/boot/routes/get.rs b/src/boot/routes/get.rs
deleted file mode 100644
index 4873b7a..0000000
--- a/src/boot/routes/get.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-use axum::{
- extract::{Json, State},
- response::{self, IntoResponse},
-};
-
-use crate::{app::App, boot::Snapshot, error::Internal, token::extract::Identity, user::User};
-
-pub async fn handler(State(app): State<App>, identity: Identity) -> Result<Response, Internal> {
- let snapshot = app.boot().snapshot().await?;
- Ok(Response {
- user: identity.user,
- snapshot,
- })
-}
-
-#[derive(serde::Serialize)]
-pub struct Response {
- pub user: User,
- #[serde(flatten)]
- pub snapshot: Snapshot,
-}
-
-impl IntoResponse for Response {
- fn into_response(self) -> response::Response {
- Json(self).into_response()
- }
-}
diff --git a/src/boot/routes/mod.rs b/src/boot/routes/mod.rs
deleted file mode 100644
index 60ad5d8..0000000
--- a/src/boot/routes/mod.rs
+++ /dev/null
@@ -1,3 +0,0 @@
-pub mod get;
-#[cfg(test)]
-mod test;
diff --git a/src/boot/routes/test.rs b/src/boot/routes/test.rs
deleted file mode 100644
index 55802fe..0000000
--- a/src/boot/routes/test.rs
+++ /dev/null
@@ -1,134 +0,0 @@
-use axum::extract::State;
-
-use super::get;
-use crate::test::fixtures;
-
-#[tokio::test]
-async fn returns_identity() {
- let app = fixtures::scratch_app().await;
-
- let viewer = fixtures::identity::fictitious();
- let response = get::handler(State(app), viewer.clone())
- .await
- .expect("boot always succeeds");
-
- assert_eq!(viewer.user, response.user);
-}
-
-#[tokio::test]
-async fn includes_logins() {
- let app = fixtures::scratch_app().await;
- let spectator = fixtures::user::create(&app, &fixtures::now()).await;
-
- let viewer = fixtures::identity::fictitious();
- let response = get::handler(State(app), viewer)
- .await
- .expect("boot always succeeds");
-
- assert!(response.snapshot.users.contains(&spectator));
-}
-
-#[tokio::test]
-async fn includes_channels() {
- let app = fixtures::scratch_app().await;
- let channel = fixtures::channel::create(&app, &fixtures::now()).await;
-
- let viewer = fixtures::identity::fictitious();
- let response = get::handler(State(app), viewer)
- .await
- .expect("boot always succeeds");
-
- assert!(response.snapshot.channels.contains(&channel));
-}
-
-#[tokio::test]
-async fn includes_messages() {
- let app = fixtures::scratch_app().await;
- let sender = fixtures::user::create(&app, &fixtures::now()).await;
- let channel = fixtures::channel::create(&app, &fixtures::now()).await;
- let message = fixtures::message::send(&app, &channel, &sender, &fixtures::now()).await;
-
- let viewer = fixtures::identity::fictitious();
- let response = get::handler(State(app), viewer)
- .await
- .expect("boot always succeeds");
-
- assert!(response.snapshot.messages.contains(&message));
-}
-
-#[tokio::test]
-async fn excludes_expired_messages() {
- let app = fixtures::scratch_app().await;
- let sender = fixtures::user::create(&app, &fixtures::ancient()).await;
- let channel = fixtures::channel::create(&app, &fixtures::ancient()).await;
- let expired_message =
- fixtures::message::send(&app, &channel, &sender, &fixtures::ancient()).await;
-
- app.messages()
- .expire(&fixtures::now())
- .await
- .expect("expiry never fails");
-
- let viewer = fixtures::identity::fictitious();
- let response = get::handler(State(app), viewer)
- .await
- .expect("boot always succeeds");
-
- assert!(!response.snapshot.messages.contains(&expired_message));
-}
-
-#[tokio::test]
-async fn excludes_deleted_messages() {
- let app = fixtures::scratch_app().await;
- let sender = fixtures::user::create(&app, &fixtures::now()).await;
- let channel = fixtures::channel::create(&app, &fixtures::now()).await;
- let deleted_message = fixtures::message::send(&app, &channel, &sender, &fixtures::now()).await;
-
- app.messages()
- .delete(&sender, &deleted_message.id, &fixtures::now())
- .await
- .expect("deleting valid message succeeds");
-
- let viewer = fixtures::identity::fictitious();
- let response = get::handler(State(app), viewer)
- .await
- .expect("boot always succeeds");
-
- assert!(!response.snapshot.messages.contains(&deleted_message));
-}
-
-#[tokio::test]
-async fn excludes_expired_channels() {
- let app = fixtures::scratch_app().await;
- let expired_channel = fixtures::channel::create(&app, &fixtures::ancient()).await;
-
- app.channels()
- .expire(&fixtures::now())
- .await
- .expect("expiry never fails");
-
- let viewer = fixtures::identity::fictitious();
- let response = get::handler(State(app), viewer)
- .await
- .expect("boot always succeeds");
-
- assert!(!response.snapshot.channels.contains(&expired_channel));
-}
-
-#[tokio::test]
-async fn excludes_deleted_channels() {
- let app = fixtures::scratch_app().await;
- let deleted_channel = fixtures::channel::create(&app, &fixtures::now()).await;
-
- app.channels()
- .delete(&deleted_channel.id, &fixtures::now())
- .await
- .expect("deleting a valid channel succeeds");
-
- let viewer = fixtures::identity::fictitious();
- let response = get::handler(State(app), viewer)
- .await
- .expect("boot always succeeds");
-
- assert!(!response.snapshot.channels.contains(&deleted_channel));
-}