@@ -700,6 +700,7 @@ fn summary_doesnt_die() {
700
700
701
701
#[ test]
702
702
fn download ( ) {
703
+ use :: time:: { Duration , now_utc, strftime} ;
703
704
let ( _b, app, middle) = :: app ( ) ;
704
705
let mut req = :: req ( app, Method :: Get , "/api/v1/crates/foo_download/1.0.0/download" ) ;
705
706
:: mock_user ( & mut req, :: user ( "foo" ) ) ;
@@ -720,6 +721,21 @@ fn download() {
720
721
let mut resp = ok_resp ! ( middle. call( & mut req) ) ;
721
722
let downloads = :: json :: < Downloads > ( & mut resp) ;
722
723
assert_eq ! ( downloads. version_downloads. len( ) , 1 ) ;
724
+
725
+ let yesterday = now_utc ( ) + Duration :: days ( -1 ) ;
726
+ req. with_path ( "/api/v1/crates/FOO_DOWNLOAD/1.0.0/downloads" ) ;
727
+ req. with_query ( & ( "before_date=" . to_string ( ) + & strftime ( "%Y-%m-%d" , & yesterday) . unwrap ( ) ) ) ;
728
+ let mut resp = ok_resp ! ( middle. call( & mut req) ) ;
729
+ let downloads = :: json :: < Downloads > ( & mut resp) ;
730
+ assert_eq ! ( downloads. version_downloads. len( ) , 0 ) ;
731
+
732
+ let tomorrow = now_utc ( ) + Duration :: days ( 1 ) ;
733
+ req. with_path ( "/api/v1/crates/FOO_DOWNLOAD/1.0.0/downloads" ) ;
734
+ req. with_query ( & ( "before_date=" . to_string ( ) + & strftime ( "%Y-%m-%d" , & tomorrow) . unwrap ( ) ) ) ;
735
+ let mut resp = ok_resp ! ( middle. call( & mut req) ) ;
736
+ let downloads = :: json :: < Downloads > ( & mut resp) ;
737
+ assert_eq ! ( downloads. version_downloads. len( ) , 1 ) ;
738
+
723
739
}
724
740
725
741
#[ test]
0 commit comments