diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2018-05-23 19:22:57 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2018-05-24 15:21:32 -0700 |
commit | cf937ed89c3fe10d891c41612017301a7ff0fbae (patch) | |
tree | 9aff837d2d9b276c72fafa19fb082bee8c9e4b22 /rust/tests/test_api_server.rs | |
parent | 7ee9e001bc908aa6a934751bdef5081977d034db (diff) | |
download | fatcat-cf937ed89c3fe10d891c41612017301a7ff0fbae.tar.gz fatcat-cf937ed89c3fe10d891c41612017301a7ff0fbae.zip |
fix identifier lookups
Diffstat (limited to 'rust/tests/test_api_server.rs')
-rw-r--r-- | rust/tests/test_api_server.rs | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/rust/tests/test_api_server.rs b/rust/tests/test_api_server.rs new file mode 100644 index 00000000..fdabdea2 --- /dev/null +++ b/rust/tests/test_api_server.rs @@ -0,0 +1,53 @@ +extern crate fatcat; +extern crate fatcat_api; +extern crate iron; +extern crate iron_test; + +use iron::{status, Headers}; +use iron_test::{request, response}; + +#[test] +fn test_basics() { + let server = fatcat::server().unwrap(); + let router = fatcat_api::router(server); + + let response = request::get( + "http://localhost:9411/v0/creator/f1f046a3-45c9-4b99-adce-000000000001", + Headers::new(), + &router, + ).unwrap(); + assert_eq!(response.status, Some(status::Ok)); + let body = response::extract_body_to_string(response); + assert!(body.contains("Grace Hopper")); + + let response = request::get( + "http://localhost:9411/v0/creator/f1f046a3-45c9-4b99-adce-999999999999", + Headers::new(), + &router, + ).unwrap(); + assert_eq!(response.status, Some(status::NotFound)); +} + +#[test] +fn test_lookups() { + let server = fatcat::server().unwrap(); + let router = fatcat_api::router(server); + + let response = request::get( + "http://localhost:9411/v0/container/lookup?issn=1234-5678", + Headers::new(), + &router, + ).unwrap(); + assert_eq!(response.status, Some(status::Ok)); + let body = response::extract_body_to_string(response); + assert!(body.contains("Journal of Trivial Results")); + + let response = request::get( + "http://localhost:9411/v0/creator/lookup?orcid=0000-0003-2088-7465", + Headers::new(), + &router, + ).unwrap(); + assert_eq!(response.status, Some(status::Ok)); + let body = response::extract_body_to_string(response); + assert!(body.contains("Christine Moran")); +} |