1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2024-12-25 09:30:35 +00:00
actix-web/tests/test_httpresponse.rs

42 lines
1.2 KiB
Rust
Raw Normal View History

2017-10-16 16:43:10 +00:00
extern crate actix_web;
extern crate http;
extern crate time;
use actix_web::*;
2017-12-01 03:01:25 +00:00
use std::str::FromStr;
2017-10-16 16:43:10 +00:00
use time::Duration;
2017-12-01 03:01:25 +00:00
use http::{header, Method, Version, HeaderMap, Uri};
2017-10-16 16:43:10 +00:00
#[test]
fn test_response_cookies() {
let mut headers = HeaderMap::new();
headers.insert(header::COOKIE,
header::HeaderValue::from_static("cookie1=value1; cookie2=value2"));
2017-12-08 02:00:20 +00:00
let req = HttpRequest::new(
2017-12-01 03:01:25 +00:00
Method::GET, Uri::from_str("/").unwrap(), Version::HTTP_11, headers, Payload::empty());
2017-12-08 02:00:20 +00:00
let cookies = req.cookies().unwrap();
2017-10-16 16:43:10 +00:00
let resp = httpcodes::HTTPOk
2017-11-27 06:31:29 +00:00
.build()
2017-12-08 00:40:29 +00:00
.cookie(headers::Cookie::build("name", "value")
2017-10-16 16:43:10 +00:00
.domain("www.rust-lang.org")
.path("/test")
.http_only(true)
.max_age(Duration::days(1))
.finish())
.del_cookie(&cookies[0])
.body(Body::Empty);
assert!(resp.is_ok());
let resp = resp.unwrap();
let mut val: Vec<_> = resp.headers().get_all("Set-Cookie")
.iter().map(|v| v.to_str().unwrap().to_owned()).collect();
val.sort();
assert!(val[0].starts_with("cookie1=; Max-Age=0;"));
assert_eq!(
val[1],"name=value; HttpOnly; Path=/test; Domain=www.rust-lang.org; Max-Age=86400");
}