diff options
| -rw-r--r-- | rust/src/api_server.rs | 8 | ||||
| -rw-r--r-- | rust/tests/test_api_server.rs (renamed from rust/tests/api_server.rs) | 24 | 
2 files changed, 28 insertions, 4 deletions
| 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/test_api_server.rs index 84cd4aaf..fdabdea2 100644 --- a/rust/tests/api_server.rs +++ b/rust/tests/test_api_server.rs @@ -27,3 +27,27 @@ fn test_basics() {      ).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")); +} | 
