From 552507478fdf3bb70684919696ad784b844ef1a6 Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Thu, 24 Dec 2015 00:22:12 -0500 Subject: [PATCH] Test Expiring::from_response --- src/token/expiring.rs | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/token/expiring.rs b/src/token/expiring.rs index 1efc3e7..d274ec6 100644 --- a/src/token/expiring.rs +++ b/src/token/expiring.rs @@ -53,3 +53,34 @@ impl FromResponse for Expiring { }) } } + +#[cfg(test)] +mod tests { + use chrono::{UTC, Duration}; + use rustc_serialize::json::Json; + + use client::response::FromResponse; + use super::Expiring; + + #[test] + fn from_response() { + let json = Json::from_str(r#"{"refresh_token":"aaaaaaaa","expires_in":3600}"#).unwrap(); + let expiring = Expiring::from_response(&json).unwrap(); + assert_eq!("aaaaaaaa", expiring.refresh_token); + assert!(expiring.expires > UTC::now()); + assert!(expiring.expires <= UTC::now() + Duration::seconds(3600)); + } + + #[test] + fn from_response_inherit() { + let json = Json::from_str(r#"{"expires_in":3600}"#).unwrap(); + let prev = Expiring { + refresh_token: String::from("aaaaaaaa"), + expires: UTC::now(), + }; + let expiring = Expiring::from_response_inherit(&json, &prev).unwrap(); + assert_eq!("aaaaaaaa", expiring.refresh_token); + assert!(expiring.expires > UTC::now()); + assert!(expiring.expires <= UTC::now() + Duration::seconds(3600)); + } +}