From da86b6e062655e9aa228965985edbde612f0304d Mon Sep 17 00:00:00 2001 From: dowwie Date: Thu, 18 Apr 2019 18:06:32 -0400 Subject: [PATCH] added put and patch to TestRequest, docs, and test --- src/test.rs | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/test.rs b/src/test.rs index ad40a0321..a8eed3881 100644 --- a/src/test.rs +++ b/src/test.rs @@ -335,6 +335,16 @@ impl TestRequest { pub fn post() -> TestRequest { TestRequest::default().method(Method::POST) } + + /// Create TestRequest and set method to `Method::PUT` + pub fn put() -> TestRequest { + TestRequest::default().method(Method::PUT) + } + + /// Create TestRequest and set method to `Method::PATCH` + pub fn patch() -> TestRequest { + TestRequest::default().method(Method::PATCH) + } /// Set HTTP version of this request pub fn version(mut self, ver: Version) -> Self { @@ -493,6 +503,34 @@ mod tests { assert_eq!(*data.get_ref(), 10); } + #[test] + fn test_request_methods() { + let mut app = init_service( + App::new().service( + web::resource("/index.html") + .route(web::put().to(|| HttpResponse::Ok().body("put!"))) + .route(web::patch().to(|| HttpResponse::Ok().body("patch!"))), + ), + ); + + let put_req = TestRequest::put() + .uri("/index.html") + .header(header::CONTENT_TYPE, "application/json") + .to_request(); + + let result = read_response(&mut app, put_req); + assert_eq!(result, Bytes::from_static(b"put!")); + + + let patch_req = TestRequest::patch() + .uri("/index.html") + .header(header::CONTENT_TYPE, "application/json") + .to_request(); + + let result = read_response(&mut app, patch_req); + assert_eq!(result, Bytes::from_static(b"patch!")); + } + #[test] fn test_response() { let mut app = init_service(