11#![ warn( rust_2018_idioms) ]
2- extern crate conduit;
3-
42use conduit:: { BoxError , Handler , RequestExt } ;
53
64pub type BeforeResult = Result < ( ) , BoxError > ;
@@ -87,16 +85,18 @@ fn run_afters(
8785
8886#[ cfg( test) ]
8987mod tests {
90- use { AfterResult , AroundMiddleware , BeforeResult , Middleware , MiddlewareBuilder } ;
88+ use super :: { AfterResult , AroundMiddleware , BeforeResult , Middleware , MiddlewareBuilder } ;
9189
9290 use std:: any:: Any ;
9391 use std:: io;
9492 use std:: io:: prelude:: * ;
9593 use std:: net:: SocketAddr ;
9694
95+ use conduit_test:: ResponseExt ;
96+
9797 use conduit:: {
98- box_error, static_to_body , vec_to_body , Body , Extensions , Handler , HeaderMap , Host , Method ,
99- RequestExt , Response , Scheme , StatusCode , TypeMap , Version ,
98+ box_error, Body , Extensions , Handler , HeaderMap , Host , Method , RequestExt , Response ,
99+ Scheme , StatusCode , TypeMap , Version ,
100100 } ;
101101
102102 struct RequestSentinel {
@@ -174,7 +174,7 @@ mod tests {
174174 let e = e. to_string ( ) . into_bytes ( ) ;
175175 Response :: builder ( )
176176 . status ( StatusCode :: INTERNAL_SERVER_ERROR )
177- . body ( vec_to_body ( e) )
177+ . body ( Body :: from_vec ( e) )
178178 . map_err ( box_error)
179179 } )
180180 }
@@ -192,9 +192,7 @@ mod tests {
192192
193193 impl Middleware for NotReached {
194194 fn after ( & self , _: & mut dyn RequestExt , _: AfterResult ) -> AfterResult {
195- Response :: builder ( )
196- . body ( static_to_body ( b"" ) )
197- . map_err ( box_error)
195+ Response :: builder ( ) . body ( Body :: empty ( ) ) . map_err ( box_error)
198196 }
199197 }
200198
@@ -229,7 +227,7 @@ mod tests {
229227
230228 fn response ( string : String ) -> Response < Body > {
231229 Response :: builder ( )
232- . body ( vec_to_body ( string. into_bytes ( ) ) )
230+ . body ( Body :: from_vec ( string. into_bytes ( ) ) )
233231 . unwrap ( )
234232 }
235233
@@ -255,11 +253,9 @@ mod tests {
255253 builder. add ( MyMiddleware ) ;
256254
257255 let mut req = RequestSentinel :: new ( Method :: GET , "/" ) ;
258- let mut res = builder. call ( & mut req) . ok ( ) . expect ( "No response" ) ;
256+ let res = builder. call ( & mut req) . expect ( "No response" ) ;
259257
260- let mut s = Vec :: new ( ) ;
261- res. body_mut ( ) . write_body ( & mut s) . unwrap ( ) ;
262- assert_eq ! ( s, b"hello" ) ;
258+ assert_eq ! ( res. into_cow( ) , "hello" . as_bytes( ) ) ;
263259 }
264260
265261 #[ test]
@@ -271,7 +267,7 @@ mod tests {
271267 builder. add ( NotReached ) ;
272268
273269 let mut req = RequestSentinel :: new ( Method :: GET , "/" ) ;
274- let res = builder. call ( & mut req) . ok ( ) . expect ( "Error not handled" ) ;
270+ let res = builder. call ( & mut req) . expect ( "Error not handled" ) ;
275271
276272 assert_eq ! ( res. status( ) , StatusCode :: INTERNAL_SERVER_ERROR ) ;
277273 }
@@ -282,12 +278,9 @@ mod tests {
282278 builder. add ( ErrorRecovery ) ;
283279
284280 let mut req = RequestSentinel :: new ( Method :: GET , "/" ) ;
285- let mut res = builder. call ( & mut req) . ok ( ) . expect ( "Error not handled" ) ;
281+ let res = builder. call ( & mut req) . expect ( "Error not handled" ) ;
286282
287- assert_eq ! ( res. status( ) , StatusCode :: INTERNAL_SERVER_ERROR ) ;
288- let mut s = Vec :: new ( ) ;
289- res. body_mut ( ) . write_body ( & mut s) . unwrap ( ) ;
290- assert_eq ! ( s, b"Error in handler" ) ;
283+ assert_eq ! ( res. into_cow( ) , "Error in handler" . as_bytes( ) ) ;
291284 }
292285
293286 #[ test]
@@ -297,10 +290,8 @@ mod tests {
297290 builder. around ( MyAroundMiddleware :: new ( ) ) ;
298291
299292 let mut req = RequestSentinel :: new ( Method :: GET , "/" ) ;
300- let mut res = builder. call ( & mut req) . ok ( ) . expect ( "No response" ) ;
293+ let res = builder. call ( & mut req) . expect ( "No response" ) ;
301294
302- let mut s = Vec :: new ( ) ;
303- res. body_mut ( ) . write_body ( & mut s) . unwrap ( ) ;
304- assert_eq ! ( s, b"hello hello" ) ;
295+ assert_eq ! ( res. into_cow( ) , "hello hello" . as_bytes( ) ) ;
305296 }
306297}
0 commit comments