get -> header

This commit is contained in:
Martin Algesten
2018-06-12 19:48:34 +02:00
parent 89aafaa439
commit 729f907fe0
9 changed files with 80 additions and 56 deletions

View File

@@ -1,28 +0,0 @@
use test;
use super::super::*;
#[test]
fn agent_reuse_headers() {
let agent = agent()
.set("Authorization", "Foo 12345")
.build();
test::set_handler("/agent_reuse_headers", |req, _url| {
assert!(req.has("Authorization"));
assert_eq!(req.get("Authorization").unwrap(), "Foo 12345");
test::make_stream(200, "OK", vec!["X-Call: 1"], vec![])
});
let resp = agent.get("test://host/agent_reuse_headers").call();
assert_eq!(resp.get("X-Call").unwrap(), "1");
test::set_handler("/agent_reuse_headers", |req, _url| {
assert!(req.has("Authorization"));
assert_eq!(req.get("Authorization").unwrap(), "Foo 12345");
test::make_stream(200, "OK", vec!["X-Call: 2"], vec![])
});
let resp = agent.get("test://host/agent_reuse_headers").call();
assert_eq!(resp.get("X-Call").unwrap(), "2");
}

52
src/test/agent_test.rs Normal file
View File

@@ -0,0 +1,52 @@
use test;
use super::super::*;
#[test]
fn agent_reuse_headers() {
let agent = agent()
.set("Authorization", "Foo 12345")
.build();
test::set_handler("/agent_reuse_headers", |req, _url| {
assert!(req.has("Authorization"));
assert_eq!(req.header("Authorization").unwrap(), "Foo 12345");
test::make_stream(200, "OK", vec!["X-Call: 1"], vec![])
});
let resp = agent.get("test://host/agent_reuse_headers").call();
assert_eq!(resp.header("X-Call").unwrap(), "1");
test::set_handler("/agent_reuse_headers", |req, _url| {
assert!(req.has("Authorization"));
assert_eq!(req.header("Authorization").unwrap(), "Foo 12345");
test::make_stream(200, "OK", vec!["X-Call: 2"], vec![])
});
let resp = agent.get("test://host/agent_reuse_headers").call();
assert_eq!(resp.header("X-Call").unwrap(), "2");
}
#[test]
fn agent_cookies() {
let agent = agent()
.build();
test::set_handler("/agent_cookies", |_req, _url| {
test::make_stream(200, "OK", vec!["Set-Cookie: foo=bar; Path=/; HttpOnly"], vec![])
});
agent.get("test://host/agent_cookies").call();
assert!(agent.cookie("foo").is_some());
assert_eq!(agent.cookie("foo").unwrap().value(), "bar");
test::set_handler("/agent_cookies", |req, _url| {
assert_eq!(req.header("Cookie").unwrap(), "");
test::make_stream(200, "OK", vec![], vec![])
});
agent.get("test://host/agent_cookies").call();
}

View File

@@ -5,7 +5,7 @@ use super::super::*;
#[test]
fn basic_auth() {
test::set_handler("/basic_auth", |req, _url| {
assert_eq!(req.get("Authorization").unwrap(), "Basic bWFydGluOnJ1YmJlcm1hc2hndW0=");
assert_eq!(req.header("Authorization").unwrap(), "Basic bWFydGluOnJ1YmJlcm1hc2hndW0=");
test::make_stream(200, "OK", vec![], vec![])
});
let resp = get("test://host/basic_auth")
@@ -17,7 +17,7 @@ fn basic_auth() {
#[test]
fn kind_auth() {
test::set_handler("/kind_auth", |req, _url| {
assert_eq!(req.get("Authorization").unwrap(), "Digest abcdefgh123");
assert_eq!(req.header("Authorization").unwrap(), "Digest abcdefgh123");
test::make_stream(200, "OK", vec![], vec![])
});
let resp = get("test://host/kind_auth")

View File

@@ -8,7 +8,7 @@ use stream::Stream;
use url::Url;
use util::vecread::VecRead;
mod agent;
mod agent_test;
mod auth;
mod simple;
mod body_read;

View File

@@ -7,20 +7,20 @@ use super::super::*;
fn header_passing() {
test::set_handler("/header_passing", |req, _url| {
assert!(req.has("X-Foo"));
assert_eq!(req.get("X-Foo").unwrap(), "bar");
assert_eq!(req.header("X-Foo").unwrap(), "bar");
test::make_stream(200, "OK", vec!["X-Bar: foo"], vec![])
});
let resp = get("test://host/header_passing").set("X-Foo", "bar").call();
assert_eq!(*resp.status(), 200);
assert!(resp.has("X-Bar"));
assert_eq!(resp.get("X-Bar").unwrap(), "foo");
assert_eq!(resp.header("X-Bar").unwrap(), "foo");
}
#[test]
fn repeat_non_x_header() {
test::set_handler("/repeat_non_x_header", |req, _url| {
assert!(req.has("Accept"));
assert_eq!(req.get("Accept").unwrap(), "baz");
assert_eq!(req.header("Accept").unwrap(), "baz");
test::make_stream(200, "OK", vec![], vec![])
});
let resp = get("test://host/repeat_non_x_header")
@@ -34,8 +34,8 @@ fn repeat_non_x_header() {
fn repeat_x_header() {
test::set_handler("/repeat_x_header", |req, _url| {
assert!(req.has("X-Forwarded-For"));
assert_eq!(req.get("X-Forwarded-For").unwrap(), "130.240.19.2");
assert_eq!(req.get_all("X-Forwarded-For"), vec![
assert_eq!(req.header("X-Forwarded-For").unwrap(), "130.240.19.2");
assert_eq!(req.all("X-Forwarded-For"), vec![
"130.240.19.2",
"130.240.19.3",
]);