Move validation into a validation module, rather than crate root
[dnssec-prover] / src / query.rs
index 675d82b0badc6d708af4ac653e4366d3626a53ed..901f37e16334be4f4baaa04708cd37a6bae93c26 100644 (file)
@@ -10,7 +10,7 @@ use tokio_crate::net::TcpStream as TokioTcpStream;
 use tokio_crate::io::{AsyncReadExt, AsyncWriteExt};
 
 
-use crate::write_rr;
+use crate::validation::write_rr;
 use crate::rr::*;
 use crate::ser::*;
 
@@ -206,11 +206,12 @@ pub async fn build_tlsa_proof_async(resolver: SocketAddr, domain: Name) -> Resul
 #[cfg(test)]
 mod tests {
        use super::*;
-       use crate::*;
+       use crate::validation::*;
 
        use rand::seq::SliceRandom;
 
        use std::net::ToSocketAddrs;
+       use std::time::SystemTime;
 
        #[test]
        fn test_txt_query() {
@@ -221,7 +222,11 @@ mod tests {
                let mut rrs = parse_rr_stream(&proof).unwrap();
                rrs.shuffle(&mut rand::rngs::OsRng);
                let verified_rrs = verify_rr_stream(&rrs).unwrap();
-               assert_eq!(verified_rrs.len(), 1);
+               assert_eq!(verified_rrs.verified_rrs.len(), 1);
+
+               let now = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs();
+               assert!(verified_rrs.valid_from < now);
+               assert!(verified_rrs.expires > now);
        }
 
        #[cfg(feature = "tokio")]
@@ -237,6 +242,10 @@ mod tests {
                let mut rrs = parse_rr_stream(&proof).unwrap();
                rrs.shuffle(&mut rand::rngs::OsRng);
                let verified_rrs = verify_rr_stream(&rrs).unwrap();
-               assert_eq!(verified_rrs.len(), 1);
+               assert_eq!(verified_rrs.verified_rrs.len(), 1);
+
+               let now = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs();
+               assert!(verified_rrs.valid_from < now);
+               assert!(verified_rrs.expires > now);
        }
 }