use gh::client::Executor; use gh::StatusCode; use github_rs as gh; use serde_json::Value; mod testutil; use testutil::*; #[test] fn get_gitignore_templates() { let g = setup_github_connection(); let (_headers, status, json) = g .get() .gitignore() .templates() .execute::() .expect(testutil::FAILED_GITHUB_CONNECTION); println!("Status: {}\nResponse: {:#?}", status, json); assert_eq!(status, StatusCode::OK); if let Some(Value::Array(languages)) = json { assert!(languages.contains(&Value::String("Rust".into()))) } } #[test] fn get_gitignore_templates_rust() { let g = setup_github_connection(); let (_headers, status, json) = g .get() .gitignore() .templates() .lang("Rust") .execute::() .expect(testutil::FAILED_GITHUB_CONNECTION); println!("Status: {}\nResponse: {:#?}", status, json); assert_eq!(status, StatusCode::OK); if let Some(json) = json { assert!(json .get("source") .unwrap() .as_str() .unwrap() .contains("Cargo")) } }