Add Response::json() test cases
This commit is contained in:
		| @@ -65,6 +65,42 @@ fn response_text() { | |||||||
|     rt.block_on(res_future).unwrap(); |     rt.block_on(res_future).unwrap(); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | #[test] | ||||||
|  | fn response_json() { | ||||||
|  |     let _ = env_logger::try_init(); | ||||||
|  |  | ||||||
|  |     let server = server! { | ||||||
|  |         request: b"\ | ||||||
|  |             GET /json HTTP/1.1\r\n\ | ||||||
|  |             user-agent: $USERAGENT\r\n\ | ||||||
|  |             accept: */*\r\n\ | ||||||
|  |             accept-encoding: gzip\r\n\ | ||||||
|  |             host: $HOST\r\n\ | ||||||
|  |             \r\n\ | ||||||
|  |             ", | ||||||
|  |         response: b"\ | ||||||
|  |             HTTP/1.1 200 OK\r\n\ | ||||||
|  |             Content-Length: 7\r\n\ | ||||||
|  |             \r\n\ | ||||||
|  |             \"Hello\"\ | ||||||
|  |             " | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |     let mut rt = Runtime::new().expect("new rt"); | ||||||
|  |  | ||||||
|  |     let client = Client::new(); | ||||||
|  |  | ||||||
|  |     let res_future = client.get(&format!("http://{}/json", server.addr())) | ||||||
|  |         .send() | ||||||
|  |         .and_then(|mut res| res.json::<String>()) | ||||||
|  |         .and_then(|text| { | ||||||
|  |             assert_eq!("Hello", text); | ||||||
|  |             Ok(()) | ||||||
|  |         }); | ||||||
|  |  | ||||||
|  |     rt.block_on(res_future).unwrap(); | ||||||
|  | } | ||||||
|  |  | ||||||
| #[test] | #[test] | ||||||
| fn multipart() { | fn multipart() { | ||||||
|     let _ = env_logger::try_init(); |     let _ = env_logger::try_init(); | ||||||
|   | |||||||
| @@ -69,6 +69,37 @@ fn test_response_non_utf_8_text() { | |||||||
|     assert_eq!(b"\xe4\xbd\xa0\xe5\xa5\xbd", body.as_bytes());  // Now it's utf-8 |     assert_eq!(b"\xe4\xbd\xa0\xe5\xa5\xbd", body.as_bytes());  // Now it's utf-8 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | #[test] | ||||||
|  | fn test_response_json() { | ||||||
|  |     let server = server! { | ||||||
|  |         request: b"\ | ||||||
|  |             GET /json HTTP/1.1\r\n\ | ||||||
|  |             user-agent: $USERAGENT\r\n\ | ||||||
|  |             accept: */*\r\n\ | ||||||
|  |             accept-encoding: gzip\r\n\ | ||||||
|  |             host: $HOST\r\n\ | ||||||
|  |             \r\n\ | ||||||
|  |             ", | ||||||
|  |         response: b"\ | ||||||
|  |             HTTP/1.1 200 OK\r\n\ | ||||||
|  |             Server: test\r\n\ | ||||||
|  |             Content-Length: 7\r\n\ | ||||||
|  |             \r\n\ | ||||||
|  |             \"Hello\"\ | ||||||
|  |             " | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |     let url = format!("http://{}/json", server.addr()); | ||||||
|  |     let mut res = reqwest::get(&url).unwrap(); | ||||||
|  |     assert_eq!(res.url().as_str(), &url); | ||||||
|  |     assert_eq!(res.status(), reqwest::StatusCode::OK); | ||||||
|  |     assert_eq!(res.headers().get(reqwest::header::SERVER).unwrap(), &"test"); | ||||||
|  |     assert_eq!(res.headers().get(reqwest::header::CONTENT_LENGTH).unwrap(), &"7"); | ||||||
|  |  | ||||||
|  |     let body = res.json::<String>().unwrap(); | ||||||
|  |     assert_eq!("Hello", body); | ||||||
|  | } | ||||||
|  |  | ||||||
| #[test] | #[test] | ||||||
| fn test_response_copy_to() { | fn test_response_copy_to() { | ||||||
|     let server = server! { |     let server = server! { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user