extern crate github_rs as gh;
use gh::client::Github;
use gh::headers::{ etag, rate_limit_remaining };
use std::io::BufReader;
use std::io::prelude::*;
use std::fs::File;
fn auth_token() -> Result<String, std::io::Error> {
let file = File::open("tests/auth_token")?;
let mut reader = BufReader::new(file);
let mut buffer = String::new();
let _ = reader.read_line(&mut buffer)?;
Ok(buffer)
}
#[test]
fn get_user_repos() {
let g = Github::new(&auth_token().unwrap()).unwrap();
let (headers, status, json) = g.get()
.repos()
.owner("mgattozzi")
.repo("github-rs")
.execute()
.unwrap();
println!("{}", headers);
println!("{}", status);
if let Some(json) = json {
println!("{}", json);
}
}
#[test]
fn cached_response() {
let g = Github::new(&auth_token().unwrap()).unwrap();
let (headers, _, _) = g.get()
.repos()
.owner("mgattozzi")
.repo("github-rs")
.execute()
.unwrap();
let etag = etag(&headers);
let _ = rate_limit_remaining(&headers).unwrap();
let (headers, _, _) = g.get()
.set_etag(etag.unwrap())
.repos()
.owner("mgattozzi")
.repo("github-rs")
.execute()
.unwrap();
let _ = rate_limit_remaining(&headers).unwrap();
}
#[test]
fn core_exposure() {
let g = Github::new(&auth_token().unwrap()).unwrap();
let core = g.get_core();
let core_mut = core.try_borrow_mut().unwrap();
let _ = core_mut.handle();
}