From cf937ed89c3fe10d891c41612017301a7ff0fbae Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Wed, 23 May 2018 19:22:57 -0700 Subject: fix identifier lookups --- rust/src/api_server.rs | 8 +++---- rust/tests/api_server.rs | 29 ----------------------- rust/tests/test_api_server.rs | 53 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 33 deletions(-) delete mode 100644 rust/tests/api_server.rs create mode 100644 rust/tests/test_api_server.rs diff --git a/rust/src/api_server.rs b/rust/src/api_server.rs index 18a3ff32..29d9a555 100644 --- a/rust/src/api_server.rs +++ b/rust/src/api_server.rs @@ -113,7 +113,7 @@ impl Server { .inner_join(container_rev::table) .filter(container_rev::issn.eq(&issn)) .filter(container_ident::is_live.eq(true)) - .filter(container_ident::redirect_id.is_not_null()) + .filter(container_ident::redirect_id.is_null()) .first(&conn); let (ident, rev) = match res { @@ -169,7 +169,7 @@ impl Server { .inner_join(creator_rev::table) .filter(creator_rev::orcid.eq(&orcid)) .filter(creator_ident::is_live.eq(true)) - .filter(creator_ident::redirect_id.is_not_null()) + .filter(creator_ident::redirect_id.is_null()) .first(&conn); let (ident, rev) = match res { @@ -225,7 +225,7 @@ impl Server { .inner_join(file_rev::table) .filter(file_rev::sha1.eq(&sha1)) .filter(file_ident::is_live.eq(true)) - .filter(file_ident::redirect_id.is_not_null()) + .filter(file_ident::redirect_id.is_null()) .first(&conn); let (ident, rev) = match res { @@ -314,7 +314,7 @@ impl Server { .inner_join(release_rev::table) .filter(release_rev::doi.eq(&doi)) .filter(release_ident::is_live.eq(true)) - .filter(release_ident::redirect_id.is_not_null()) + .filter(release_ident::redirect_id.is_null()) .first(&conn); let (ident, rev) = match res { diff --git a/rust/tests/api_server.rs b/rust/tests/api_server.rs deleted file mode 100644 index 84cd4aaf..00000000 --- a/rust/tests/api_server.rs +++ /dev/null @@ -1,29 +0,0 @@ -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)); -} 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")); +} -- cgit v1.2.3