1+ use std:: collections:: HashMap ;
2+
3+ use chrono:: * ;
4+ use expectest:: prelude:: * ;
5+ use maplit:: btreemap;
6+
17use super :: * ;
2- use super :: sanitise_path;
38use super :: {
49 execute_state_machine,
5- update_paths_for_resource,
6- parse_header_values,
710 finalise_response,
811 join_paths,
12+ parse_header_values,
13+ update_paths_for_resource,
914} ;
1015use super :: context:: * ;
1116use super :: headers:: * ;
12- use expectest:: prelude:: * ;
13- use std:: collections:: HashMap ;
14- use chrono:: * ;
17+ use super :: sanitise_path;
1518
1619fn resource ( path : & str ) -> WebmachineRequest {
1720 WebmachineRequest {
@@ -713,7 +716,8 @@ fn execute_state_machine_returns_412_if_the_resource_etag_does_not_match_if_matc
713716
714717#[ test]
715718fn execute_state_machine_returns_412_if_the_resource_last_modified_gt_unmodified_since ( ) {
716- let datetime = Local :: now ( ) . with_timezone ( & FixedOffset :: east ( 10 * 3600 ) ) ;
719+ let offset = FixedOffset :: east_opt ( 10 * 3600 ) . expect ( "FixedOffset::east out of bounds" ) ;
720+ let datetime = Local :: now ( ) . with_timezone ( & offset) ;
717721 let header_datetime = datetime. clone ( ) - Duration :: minutes ( 5 ) ;
718722 let mut context = WebmachineContext {
719723 request : WebmachineRequest {
@@ -726,7 +730,10 @@ fn execute_state_machine_returns_412_if_the_resource_last_modified_gt_unmodified
726730 } ;
727731 let resource = WebmachineResource {
728732 resource_exists : callback ( & |_, _| true ) ,
729- last_modified : callback ( & |_, _| Some ( Local :: now ( ) . with_timezone ( & FixedOffset :: east ( 10 * 3600 ) ) ) ) ,
733+ last_modified : callback ( & |_, _| {
734+ let fixed_offset = FixedOffset :: east_opt ( 10 * 3600 ) . expect ( "FixedOffset::east out of bounds" ) ;
735+ Some ( Local :: now ( ) . with_timezone ( & fixed_offset) )
736+ } ) ,
730737 ..WebmachineResource :: default ( )
731738 } ;
732739
@@ -821,7 +828,8 @@ fn execute_state_machine_returns_304_if_resource_etag_in_if_non_match_and_is_a_h
821828
822829#[ test]
823830fn execute_state_machine_returns_304_if_the_resource_last_modified_gt_modified_since ( ) {
824- let datetime = Local :: now ( ) . with_timezone ( & FixedOffset :: east ( 10 * 3600 ) ) - Duration :: minutes ( 15 ) ;
831+ let offset = FixedOffset :: east_opt ( 10 * 3600 ) . expect ( "FixedOffset::east out of bounds" ) ;
832+ let datetime = Local :: now ( ) . with_timezone ( & offset) - Duration :: minutes ( 15 ) ;
825833 let header_datetime = datetime + Duration :: minutes ( 5 ) ;
826834 let mut context = WebmachineContext {
827835 request : WebmachineRequest {
@@ -834,7 +842,10 @@ fn execute_state_machine_returns_304_if_the_resource_last_modified_gt_modified_s
834842 } ;
835843 let resource = WebmachineResource {
836844 resource_exists : callback ( & |_, _| true ) ,
837- last_modified : callback ( & |_, _| Some ( Local :: now ( ) . with_timezone ( & FixedOffset :: east ( 10 * 3600 ) ) - Duration :: minutes ( 15 ) ) ) ,
845+ last_modified : callback ( & |_, _| {
846+ let offset = FixedOffset :: east_opt ( 10 * 3600 ) . expect ( "FixedOffset::east out of bounds" ) ;
847+ Some ( Local :: now ( ) . with_timezone ( & offset) - Duration :: minutes ( 15 ) )
848+ } ) ,
838849 ..WebmachineResource :: default ( )
839850 } ;
840851 execute_state_machine ( & mut context, & resource) ;
0 commit comments