mirror of
https://github.com/actix/actix-web.git
synced 2024-11-14 04:41:15 +00:00
37 lines
1 KiB
Rust
37 lines
1 KiB
Rust
|
use actix_files::Files;
|
||
|
use actix_web::{
|
||
|
guard::Host,
|
||
|
http::StatusCode,
|
||
|
test::{self, TestRequest},
|
||
|
App,
|
||
|
};
|
||
|
use bytes::Bytes;
|
||
|
|
||
|
#[actix_rt::test]
|
||
|
async fn test_guard_filter() {
|
||
|
let srv = test::init_service(
|
||
|
App::new()
|
||
|
.service(Files::new("/", "./tests/fixtures/guards/first").guard(Host("first.com")))
|
||
|
.service(
|
||
|
Files::new("/", "./tests/fixtures/guards/second").guard(Host("second.com")),
|
||
|
),
|
||
|
)
|
||
|
.await;
|
||
|
|
||
|
let req = TestRequest::with_uri("/index.txt")
|
||
|
.append_header(("Host", "first.com"))
|
||
|
.to_request();
|
||
|
let res = test::call_service(&srv, req).await;
|
||
|
|
||
|
assert_eq!(res.status(), StatusCode::OK);
|
||
|
assert_eq!(test::read_body(res).await, Bytes::from("first"));
|
||
|
|
||
|
let req = TestRequest::with_uri("/index.txt")
|
||
|
.append_header(("Host", "second.com"))
|
||
|
.to_request();
|
||
|
let res = test::call_service(&srv, req).await;
|
||
|
|
||
|
assert_eq!(res.status(), StatusCode::OK);
|
||
|
assert_eq!(test::read_body(res).await, Bytes::from("second"));
|
||
|
}
|