refactor to body
This commit is contained in:
70
src/agent.rs
70
src/agent.rs
@@ -357,74 +357,4 @@ mod tests {
|
||||
});
|
||||
}
|
||||
|
||||
//////////////////// RESPONSE TESTS /////////////////////////////
|
||||
|
||||
#[test]
|
||||
fn content_type_without_charset() {
|
||||
let s = "HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\nOK";
|
||||
let resp = s.parse::<Response>().unwrap();
|
||||
assert_eq!("application/json", resp.content_type());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn content_type_with_charset() {
|
||||
let s = "HTTP/1.1 200 OK\r\nContent-Type: application/json; charset=iso-8859-4\r\n\r\nOK";
|
||||
let resp = s.parse::<Response>().unwrap();
|
||||
assert_eq!("application/json", resp.content_type());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn content_type_default() {
|
||||
let s = "HTTP/1.1 200 OK\r\n\r\nOK";
|
||||
let resp = s.parse::<Response>().unwrap();
|
||||
assert_eq!("text/plain", resp.content_type());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn charset() {
|
||||
let s = "HTTP/1.1 200 OK\r\nContent-Type: application/json; charset=iso-8859-4\r\n\r\nOK";
|
||||
let resp = s.parse::<Response>().unwrap();
|
||||
assert_eq!("iso-8859-4", resp.charset());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn charset_default() {
|
||||
let s = "HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\nOK";
|
||||
let resp = s.parse::<Response>().unwrap();
|
||||
assert_eq!("utf-8", resp.charset());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn chunked_transfer() {
|
||||
let s = "HTTP/1.1 200 OK\r\nTransfer-Encoding: Chunked\r\n\r\n3\r\nhel\r\nb\r\nlo world!!!\r\n0\r\n\r\n";
|
||||
let resp = s.parse::<Response>().unwrap();
|
||||
assert_eq!("hello world!!!", resp.into_string().unwrap());
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(feature = "json")]
|
||||
fn parse_simple_json() {
|
||||
let s = format!("HTTP/1.1 200 OK\r\n\r\n{{\"hello\":\"world\"}}");
|
||||
let resp = s.parse::<Response>().unwrap();
|
||||
let v = resp.into_json().unwrap();
|
||||
assert_eq!(
|
||||
v,
|
||||
"{\"hello\":\"world\"}"
|
||||
.parse::<serde_json::Value>()
|
||||
.unwrap()
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_borked_header() {
|
||||
let s = format!("HTTP/1.1 BORKED\r\n");
|
||||
let resp: Response = s.parse::<Response>().unwrap_err().into();
|
||||
assert_eq!(resp.http_version(), "HTTP/1.1");
|
||||
assert_eq!(*resp.status(), 500);
|
||||
assert_eq!(resp.status_text(), "Bad Status");
|
||||
assert_eq!(resp.content_type(), "text/plain");
|
||||
let v = resp.into_string().unwrap();
|
||||
assert_eq!(v, "Bad Status\n");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user