2015-12-26 02:35:21 +00:00
|
|
|
extern crate hyper;
|
2017-06-04 02:08:55 +00:00
|
|
|
extern crate hyper_native_tls;
|
2015-12-26 02:35:21 +00:00
|
|
|
extern crate inth_oauth2;
|
2016-02-28 00:48:41 +00:00
|
|
|
extern crate url;
|
2015-12-26 02:35:21 +00:00
|
|
|
|
2017-06-04 02:08:55 +00:00
|
|
|
use hyper::net::HttpsConnector;
|
|
|
|
use hyper_native_tls::NativeTlsClient;
|
2015-12-26 02:35:21 +00:00
|
|
|
use inth_oauth2::Client;
|
|
|
|
use inth_oauth2::provider::*;
|
2016-02-28 00:48:41 +00:00
|
|
|
use url::Url;
|
2015-12-26 02:35:21 +00:00
|
|
|
|
2016-02-28 00:48:41 +00:00
|
|
|
fn assert_get_uri_ok(uri: Url) {
|
2017-06-04 02:08:55 +00:00
|
|
|
let tls = NativeTlsClient::new().unwrap();
|
|
|
|
let connector = HttpsConnector::new(tls);
|
|
|
|
let client = hyper::Client::with_connector(connector);
|
2015-12-26 02:35:21 +00:00
|
|
|
let response = client.get(uri).send().unwrap();
|
|
|
|
assert_eq!(hyper::Ok, response.status);
|
|
|
|
}
|
|
|
|
|
2016-02-28 00:22:47 +00:00
|
|
|
#[test]
|
|
|
|
fn google_web_auth_uri_ok() {
|
|
|
|
let client = Client::<google::Web>::new(
|
|
|
|
String::from("143225766783-0h4h5ktpvhc7kqp6ohbpd2sssqrap57n.apps.googleusercontent.com"),
|
|
|
|
String::new(),
|
|
|
|
Some(String::from("https://cmcenroe.me/oauth2-paste/")),
|
|
|
|
);
|
|
|
|
let auth_uri = client.auth_uri(
|
|
|
|
Some("https://www.googleapis.com/auth/userinfo.email"),
|
|
|
|
Some("state"),
|
|
|
|
).unwrap();
|
2016-02-28 00:48:41 +00:00
|
|
|
assert_get_uri_ok(auth_uri);
|
2016-02-28 00:22:47 +00:00
|
|
|
}
|
|
|
|
|
2015-12-26 02:35:21 +00:00
|
|
|
#[test]
|
2016-02-21 22:16:54 +00:00
|
|
|
fn google_installed_auth_uri_ok() {
|
|
|
|
let client = Client::<google::Installed>::new(
|
2016-01-29 02:54:14 +00:00
|
|
|
String::from("143225766783-ip2d9qv6sdr37276t77luk6f7bhd6bj5.apps.googleusercontent.com"),
|
|
|
|
String::new(),
|
|
|
|
Some(String::from("urn:ietf:wg:oauth:2.0:oob"))
|
2015-12-26 02:35:21 +00:00
|
|
|
);
|
|
|
|
let auth_uri = client.auth_uri(
|
|
|
|
Some("https://www.googleapis.com/auth/userinfo.email"),
|
|
|
|
Some("state")
|
|
|
|
).unwrap();
|
2016-02-28 00:48:41 +00:00
|
|
|
assert_get_uri_ok(auth_uri);
|
2015-12-26 02:35:21 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn github_auth_uri_ok() {
|
|
|
|
let client = Client::<GitHub>::new(
|
2016-01-29 02:54:14 +00:00
|
|
|
String::from("01774654cd9a6051e478"),
|
|
|
|
String::new(),
|
|
|
|
Some(String::from("https://cmcenroe.me/oauth2-paste/"))
|
2015-12-26 02:35:21 +00:00
|
|
|
);
|
|
|
|
let auth_uri = client.auth_uri(Some("user"), Some("state")).unwrap();
|
2016-02-28 00:48:41 +00:00
|
|
|
assert_get_uri_ok(auth_uri);
|
2015-12-26 02:35:21 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn imgur_auth_uri_ok() {
|
|
|
|
let client = Client::<Imgur>::new(
|
2016-01-29 02:54:14 +00:00
|
|
|
String::from("505c8ca804230e0"),
|
|
|
|
String::new(),
|
|
|
|
Some(String::from("https://cmcenroe.me/oauth2-paste/"))
|
2015-12-26 02:35:21 +00:00
|
|
|
);
|
|
|
|
let auth_uri = client.auth_uri(None, Some("state")).unwrap();
|
2016-02-28 00:48:41 +00:00
|
|
|
assert_get_uri_ok(auth_uri);
|
2015-12-26 02:35:21 +00:00
|
|
|
}
|