mirror of
https://github.com/danbulant/robotparser-rs
synced 2026-06-15 04:31:19 +00:00
* Add test when url is invalid and panic * Initial error handling ref https://github.com/messense/robotparser-rs/issues/22 * Rename ErrorKind::HttpClient => ErrorKind::Http * Implement std::error::Error and rename to Error
27 lines
969 B
Rust
27 lines
969 B
Rust
use robotparser::http::RobotsTxtClient;
|
|
use robotparser::service::RobotsTxtService;
|
|
use reqwest::blocking::Client;
|
|
use url::Url;
|
|
use url::{Host, Origin};
|
|
|
|
#[test]
|
|
fn test_reqwest_blocking() {
|
|
let client = Client::new();
|
|
let robots_txt_url = Url::parse("https://www.python.org/robots.txt").unwrap();
|
|
let robots_txt = client.fetch_robots_txt(robots_txt_url.origin()).unwrap().get_result();
|
|
let fetch_url = Url::parse("https://www.python.org/robots.txt").unwrap();
|
|
assert!(robots_txt.can_fetch("*", &fetch_url));
|
|
let fetch_url = Url::parse("https://www.python.org/webstats/").unwrap();
|
|
assert!(!robots_txt.can_fetch("*", &fetch_url));
|
|
}
|
|
|
|
#[test]
|
|
fn test_reqwest_blocking_panic_url() {
|
|
let client = Client::new();
|
|
let host = Host::Domain("python.org::".into());
|
|
let origin = Origin::Tuple("https".into(), host, 80);
|
|
match client.fetch_robots_txt(origin) {
|
|
Ok(_) => assert!(false),
|
|
Err(_) => assert!(true)
|
|
}
|
|
}
|