diff options
Diffstat (limited to 'src/routes')
| -rw-r--r-- | src/routes/messages/callback.rs | 67 | ||||
| -rw-r--r-- | src/routes/messages/mod.rs | 23 | ||||
| -rw-r--r-- | src/routes/messages/not_understood.rs | 48 | ||||
| -rw-r--r-- | src/routes/mod.rs | 4 |
4 files changed, 1 insertions, 141 deletions
diff --git a/src/routes/messages/callback.rs b/src/routes/messages/callback.rs deleted file mode 100644 index d98ac15..0000000 --- a/src/routes/messages/callback.rs +++ /dev/null @@ -1,67 +0,0 @@ -use messages::Message; -use std::collections::HashMap; - -#[derive(Debug, Serialize)] -pub struct Callback { - pub path: Vec<String>, - pub request: String, - pub content: HashMap<String, String>, -} - -impl Message for Callback { - fn name(&self) -> String { - String::from("CALLBACK") - } -} - -impl PartialEq for Callback { - fn eq(&self, other: &Self) -> bool { - self.request == other.request && self.path == other.path && self.content == other.content - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn test_name() { - // Arrange - let query = HashMap::new(); - let message = Callback { - path: vec![], - request: String::from("GET"), - content: query, - }; - - // Act - let name = message.name(); - - // Assert - assert_eq!(name, "CALLBACK"); - } - - #[test] - fn test_asoutgoing() { - // Arrange - let message = Callback { - path: vec![], - request: String::from("GET"), - content: HashMap::new(), - }; - - // Act - let outgoing = message.as_outgoing(); - - // Assert - assert_eq!(outgoing.result_type, "CALLBACK"); - assert_eq!( - outgoing.content, - Callback { - path: vec![], - request: String::from("GET"), - content: HashMap::new(), - } - ); - } -} diff --git a/src/routes/messages/mod.rs b/src/routes/messages/mod.rs deleted file mode 100644 index 26ae1bb..0000000 --- a/src/routes/messages/mod.rs +++ /dev/null @@ -1,23 +0,0 @@ -use std::marker::Sized; - -pub mod callback; -pub mod not_understood; - -#[derive(Serialize)] -pub struct OutgoingMsg<T> { - pub result_type: String, - pub content: T, -} - -pub trait Message { - fn name(&self) -> String; - fn as_outgoing(self) -> OutgoingMsg<Self> - where - Self: Sized, - { - OutgoingMsg { - result_type: self.name(), - content: self, - } - } -} diff --git a/src/routes/messages/not_understood.rs b/src/routes/messages/not_understood.rs deleted file mode 100644 index 6c2c3ae..0000000 --- a/src/routes/messages/not_understood.rs +++ /dev/null @@ -1,48 +0,0 @@ -use messages::Message; - -#[derive(Debug, Serialize)] -pub struct NotUnderstood { - pub path: Vec<String>, -} - -impl Message for NotUnderstood { - fn name(&self) -> String { - String::from("NOT_UNDERSTOOD") - } -} - -impl PartialEq for NotUnderstood { - fn eq(&self, other: &Self) -> bool { - self.path == other.path - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn test_name() { - // Arrange - let message = NotUnderstood { path: vec![] }; - - // Act - let name = message.name(); - - // Assert - assert_eq!(name, "NOT_UNDERSTOOD"); - } - - #[test] - fn test_asoutgoing() { - // Arrange - let message = NotUnderstood { path: vec![] }; - - // Act - let outgoing = message.as_outgoing(); - - // Assert - assert_eq!(outgoing.result_type, "NOT_UNDERSTOOD"); - assert_eq!(outgoing.content, NotUnderstood { path: vec![] }); - } -} diff --git a/src/routes/mod.rs b/src/routes/mod.rs index 4a8ed5a..6039f44 100644 --- a/src/routes/mod.rs +++ b/src/routes/mod.rs @@ -1,9 +1,7 @@ use actix_web::{web::Json, web::Query, HttpRequest, Result}; +use messages::*; use std::collections::HashMap; -pub mod messages; -use messages::{callback::*, not_understood::*, *}; - type JsonMessage<U> = Result<Json<OutgoingMsg<U>>>; // Sends a default response message when requested an undefined resource. |
