aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKevin J Hoerr <kjhoerr@submelon.tech>2019-10-30 10:20:12 -0400
committerKevin J Hoerr <kjhoerr@submelon.tech>2019-10-30 10:20:12 -0400
commitd133f7a23aa758c7ecd65c9e32c711e8475d0e06 (patch)
tree4cf0b8b4b30d077eed2f1f600a16e819cef27d8f /src
parentb3a313f8e5e0185104727e75747251121eddf92d (diff)
downloadaugust-offensive-d133f7a23aa758c7ecd65c9e32c711e8475d0e06.tar.gz
august-offensive-d133f7a23aa758c7ecd65c9e32c711e8475d0e06.tar.bz2
august-offensive-d133f7a23aa758c7ecd65c9e32c711e8475d0e06.zip
Simplify unit testing on messages using Clone
Diffstat (limited to 'src')
-rw-r--r--src/messages/callback.rs12
-rw-r--r--src/messages/mod.rs2
-rw-r--r--src/messages/not_understood.rs5
3 files changed, 7 insertions, 12 deletions
diff --git a/src/messages/callback.rs b/src/messages/callback.rs
index d98ac15..fe3ef30 100644
--- a/src/messages/callback.rs
+++ b/src/messages/callback.rs
@@ -1,7 +1,7 @@
use messages::Message;
use std::collections::HashMap;
-#[derive(Debug, Serialize)]
+#[derive(Clone, Debug, Serialize)]
pub struct Callback {
pub path: Vec<String>,
pub request: String,
@@ -49,19 +49,13 @@ mod tests {
request: String::from("GET"),
content: HashMap::new(),
};
+ let message_ref = message.clone();
// 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(),
- }
- );
+ assert_eq!(outgoing.content, message_ref);
}
}
diff --git a/src/messages/mod.rs b/src/messages/mod.rs
index ca74078..ef326a0 100644
--- a/src/messages/mod.rs
+++ b/src/messages/mod.rs
@@ -7,7 +7,7 @@ pub use self::callback::Callback;
pub use self::not_understood::NotUnderstood;
#[derive(Serialize)]
-pub struct OutgoingMsg<T> {
+pub struct OutgoingMsg<T: Message> {
pub result_type: String,
pub content: T,
}
diff --git a/src/messages/not_understood.rs b/src/messages/not_understood.rs
index 6c2c3ae..b567676 100644
--- a/src/messages/not_understood.rs
+++ b/src/messages/not_understood.rs
@@ -1,6 +1,6 @@
use messages::Message;
-#[derive(Debug, Serialize)]
+#[derive(Clone, Debug, Serialize)]
pub struct NotUnderstood {
pub path: Vec<String>,
}
@@ -37,12 +37,13 @@ mod tests {
fn test_asoutgoing() {
// Arrange
let message = NotUnderstood { path: vec![] };
+ let message_ref = message.clone();
// Act
let outgoing = message.as_outgoing();
// Assert
assert_eq!(outgoing.result_type, "NOT_UNDERSTOOD");
- assert_eq!(outgoing.content, NotUnderstood { path: vec![] });
+ assert_eq!(outgoing.content, message_ref);
}
}