mirror of
https://github.com/actix/actix-extras.git
synced 2024-11-30 18:34:36 +01:00
tests for default resource
This commit is contained in:
parent
c63f058647
commit
8d52e2bbd9
@ -257,3 +257,53 @@ impl<S: 'static> Iterator for Application<S> {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use std::str::FromStr;
|
||||
use http::{Method, Version, Uri, HeaderMap, StatusCode};
|
||||
use super::*;
|
||||
use handler::ReplyItem;
|
||||
use httprequest::HttpRequest;
|
||||
use httpresponse::HttpResponse;
|
||||
use payload::Payload;
|
||||
use httpcodes;
|
||||
|
||||
impl Reply {
|
||||
fn msg(self) -> Option<HttpResponse> {
|
||||
match self.into() {
|
||||
ReplyItem::Message(resp) => Some(resp),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_default_resource() {
|
||||
let app = Application::new("/")
|
||||
.resource("/test", |r| r.h(httpcodes::HTTPOk))
|
||||
.finish();
|
||||
|
||||
let req = HttpRequest::new(
|
||||
Method::GET, Uri::from_str("/test").unwrap(),
|
||||
Version::HTTP_11, HeaderMap::new(), Payload::empty());
|
||||
let resp = app.run(req).msg().unwrap();
|
||||
assert_eq!(resp.status(), StatusCode::OK);
|
||||
|
||||
let req = HttpRequest::new(
|
||||
Method::GET, Uri::from_str("/blah").unwrap(),
|
||||
Version::HTTP_11, HeaderMap::new(), Payload::empty());
|
||||
let resp = app.run(req).msg().unwrap();
|
||||
assert_eq!(resp.status(), StatusCode::NOT_FOUND);
|
||||
|
||||
let app = Application::new("/")
|
||||
.default_resource(|r| r.h(httpcodes::HTTPMethodNotAllowed))
|
||||
.finish();
|
||||
let req = HttpRequest::new(
|
||||
Method::GET, Uri::from_str("/blah").unwrap(),
|
||||
Version::HTTP_11, HeaderMap::new(), Payload::empty());
|
||||
let resp = app.run(req).msg().unwrap();
|
||||
assert_eq!(resp.status(), StatusCode::METHOD_NOT_ALLOWED);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user