mirror of
https://github.com/actix/actix-extras.git
synced 2024-11-27 17:22:57 +01:00
more tests
This commit is contained in:
parent
85b598a614
commit
163ca89cf4
@ -178,3 +178,28 @@ impl<P> fmt::Debug for Request<P> {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
use http::HttpTryFrom;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_basics() {
|
||||||
|
let msg = Message::new();
|
||||||
|
let mut req = Request::from(msg);
|
||||||
|
req.headers_mut().insert(
|
||||||
|
header::CONTENT_TYPE,
|
||||||
|
header::HeaderValue::from_static("text/plain"),
|
||||||
|
);
|
||||||
|
assert!(req.headers().contains_key(header::CONTENT_TYPE));
|
||||||
|
|
||||||
|
*req.uri_mut() = Uri::try_from("/index.html?q=1").unwrap();
|
||||||
|
assert_eq!(req.uri().path(), "/index.html");
|
||||||
|
assert_eq!(req.uri().query(), Some("q=1"));
|
||||||
|
|
||||||
|
let s = format!("{:?}", req);
|
||||||
|
println!("T: {:?}", s);
|
||||||
|
assert!(s.contains("Request HTTP/1.1 GET:/index.html"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -17,7 +17,7 @@ use futures::stream::once;
|
|||||||
use rand::{distributions::Alphanumeric, Rng};
|
use rand::{distributions::Alphanumeric, Rng};
|
||||||
|
|
||||||
use actix_web::middleware::{BodyEncoding, Compress};
|
use actix_web::middleware::{BodyEncoding, Compress};
|
||||||
use actix_web::{http, test, web, App, HttpResponse, HttpServer};
|
use actix_web::{dev, http, test, web, App, HttpResponse, HttpServer};
|
||||||
|
|
||||||
const STR: &str = "Hello World Hello World Hello World Hello World Hello World \
|
const STR: &str = "Hello World Hello World Hello World Hello World Hello World \
|
||||||
Hello World Hello World Hello World Hello World Hello World \
|
Hello World Hello World Hello World Hello World Hello World \
|
||||||
@ -89,6 +89,39 @@ fn test_body_gzip() {
|
|||||||
assert_eq!(Bytes::from(dec), Bytes::from_static(STR.as_ref()));
|
assert_eq!(Bytes::from(dec), Bytes::from_static(STR.as_ref()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(any(feature = "flate2-zlib", feature = "flate2-rust"))]
|
||||||
|
#[test]
|
||||||
|
fn test_body_gzip2() {
|
||||||
|
let mut srv = TestServer::new(|| {
|
||||||
|
h1::H1Service::new(
|
||||||
|
App::new()
|
||||||
|
.wrap(Compress::new(ContentEncoding::Gzip))
|
||||||
|
.service(web::resource("/").route(web::to(|| {
|
||||||
|
Response::Ok().body(STR).into_body::<dev::Body>()
|
||||||
|
}))),
|
||||||
|
)
|
||||||
|
});
|
||||||
|
|
||||||
|
let mut response = srv
|
||||||
|
.block_on(
|
||||||
|
srv.get("/")
|
||||||
|
.no_decompress()
|
||||||
|
.header(ACCEPT_ENCODING, "gzip")
|
||||||
|
.send(),
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
assert!(response.status().is_success());
|
||||||
|
|
||||||
|
// read response
|
||||||
|
let bytes = srv.block_on(response.body()).unwrap();
|
||||||
|
|
||||||
|
// decode
|
||||||
|
let mut e = GzDecoder::new(&bytes[..]);
|
||||||
|
let mut dec = Vec::new();
|
||||||
|
e.read_to_end(&mut dec).unwrap();
|
||||||
|
assert_eq!(Bytes::from(dec), Bytes::from_static(STR.as_ref()));
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(any(feature = "flate2-zlib", feature = "flate2-rust"))]
|
#[cfg(any(feature = "flate2-zlib", feature = "flate2-rust"))]
|
||||||
#[test]
|
#[test]
|
||||||
fn test_body_encoding_override() {
|
fn test_body_encoding_override() {
|
||||||
|
Loading…
Reference in New Issue
Block a user