From b8aa57160b6b5de9dca3196a792f46c6f785da31 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Wed, 14 Nov 2018 19:59:08 -0800 Subject: implement new controlled vocabularies --- rust/migrations/2018-05-12-001226_init/up.sql | 4 +- rust/tests/test_api_server_http.rs | 53 ++++++++++++++++++++++----- rust/tests/test_old_python_tests.rs | 8 ++-- 3 files changed, 49 insertions(+), 16 deletions(-) diff --git a/rust/migrations/2018-05-12-001226_init/up.sql b/rust/migrations/2018-05-12-001226_init/up.sql index 83bce88b..b5214078 100644 --- a/rust/migrations/2018-05-12-001226_init/up.sql +++ b/rust/migrations/2018-05-12-001226_init/up.sql @@ -427,8 +427,8 @@ INSERT INTO work_edit (ident_id, rev_id, redirect_id, editgroup_id, prev_rev) VA INSERT INTO release_rev (id, work_ident_id, container_ident_id, title, release_type, release_status, release_date, doi, isbn13, core_id, volume, issue, pages, publisher, language) VALUES ('00000000-0000-0000-4444-FFF000000001', '00000000-0000-0000-5555-000000000001', null, 'example title', null, null, null, null, null, null, null, null, null, null, null), - ('00000000-0000-0000-4444-FFF000000002', '00000000-0000-0000-5555-000000000002', '00000000-0000-0000-1111-000000000001', 'bigger example', 'journal-article', null,'2018-01-01', '10.123/abc', '978-3-16-148410-0', '42022773', '12', 'IV', '5-9', 'bogus publishing group', 'cn'), - ('00000000-0000-0000-4444-FFF000000003', '00000000-0000-0000-5555-000000000003', '00000000-0000-0000-1111-000000000003', 'Why Most Published Research Findings Are False', 'journal-article', 'published', '2005-08-30', '10.1371/journal.pmed.0020124', null, null, '2', '8', 'e124', 'Public Library of Science', 'en'); + ('00000000-0000-0000-4444-FFF000000002', '00000000-0000-0000-5555-000000000002', '00000000-0000-0000-1111-000000000001', 'bigger example', 'article-journal', null,'2018-01-01', '10.123/abc', '978-3-16-148410-0', '42022773', '12', 'IV', '5-9', 'bogus publishing group', 'cn'), + ('00000000-0000-0000-4444-FFF000000003', '00000000-0000-0000-5555-000000000003', '00000000-0000-0000-1111-000000000003', 'Why Most Published Research Findings Are False', 'article-journal', 'published', '2005-08-30', '10.1371/journal.pmed.0020124', null, null, '2', '8', 'e124', 'Public Library of Science', 'en'); INSERT INTO release_ident (id, is_live, rev_id, redirect_id) VALUES ('00000000-0000-0000-4444-000000000001', true, '00000000-0000-0000-4444-FFF000000001', null), -- aaaaaaaaaaaaarceaaaaaaaaae diff --git a/rust/tests/test_api_server_http.rs b/rust/tests/test_api_server_http.rs index 6df616a6..0aa6b062 100644 --- a/rust/tests/test_api_server_http.rs +++ b/rust/tests/test_api_server_http.rs @@ -385,7 +385,7 @@ fn test_post_release() { headers.clone(), // TODO: target_release_id r#"{"title": "secret minimal paper", - "release_type": "journal-article", + "release_type": "article-journal", "work_id": "aaaaaaaaaaaaavkvaaaaaaaaae" }"#, &router, @@ -401,7 +401,7 @@ fn test_post_release() { headers.clone(), // TODO: target_release_id r#"{"title": "secret minimal paper the second", - "release_type": "journal-article" + "release_type": "article-journal" }"#, &router, ), @@ -412,10 +412,10 @@ fn test_post_release() { check_http_response( request::post( "http://localhost:9411/v0/release", - headers, + headers.clone(), // TODO: target_release_id r#"{"title": "secret paper", - "release_type": "journal-article", + "release_type": "article-journal", "release_date": "2000-01-02", "doi": "10.1234/abcde.781231231239", "pmid": "54321", @@ -437,7 +437,7 @@ fn test_post_release() { "index": 1, "raw_name": "textual description of contributor (aka, name)", "creator_id": "aaaaaaaaaaaaaircaaaaaaaaae", - "contrib_type": "author" + "role": "author" },{ "raw_name": "shorter" }], @@ -683,7 +683,7 @@ fn test_400() { "http://localhost:9411/v0/release", headers, r#"{"title": "secret paper", - "release_type": "journal-article", + "release_type": "article-journal", "doi": "10.1234/abcde.781231231239", "volume": "439", "issue": "IV", @@ -1036,7 +1036,7 @@ fn test_release_dates() { "http://localhost:9411/v0/release", headers.clone(), r#"{"title": "secret minimal paper", - "release_type": "journal-article", + "release_type": "article-journal", "release_date": "2000-01-02" }"#, &router, @@ -1051,7 +1051,7 @@ fn test_release_dates() { "http://localhost:9411/v0/release", headers.clone(), r#"{"title": "secret minimal paper", - "release_type": "journal-article", + "release_type": "article-journal", "release_date": "2000-01" }"#, &router, @@ -1066,7 +1066,7 @@ fn test_release_dates() { "http://localhost:9411/v0/release", headers.clone(), r#"{"title": "secret minimal paper", - "release_type": "journal-article", + "release_type": "article-journal", "release_date": "2005-08-30T00:00:00Z" }"#, &router, @@ -1081,7 +1081,7 @@ fn test_release_dates() { "http://localhost:9411/v0/release", headers.clone(), r#"{"title": "secret minimal paper", - "release_type": "journal-article", + "release_type": "article-journal", "release_date": "2000-88-99" }"#, &router, @@ -1090,3 +1090,36 @@ fn test_release_dates() { None, ); } + +#[test] +fn test_release_types() { + let (headers, router, _conn) = setup_http(); + + // Ok + check_http_response( + request::post( + "http://localhost:9411/v0/release", + headers.clone(), + r#"{"title": "secret minimal paper", + "release_type": "article-journal" + }"#, + &router, + ), + status::Created, + None, + ); + + // Bad + check_http_response( + request::post( + "http://localhost:9411/v0/release", + headers.clone(), + r#"{"title": "secret minimal paper", + "release_type": "journal-article" + }"#, + &router, + ), + status::BadRequest, + Some("release_type"), + ); +} diff --git a/rust/tests/test_old_python_tests.rs b/rust/tests/test_old_python_tests.rs index ebe1dd0b..1b496328 100644 --- a/rust/tests/test_old_python_tests.rs +++ b/rust/tests/test_old_python_tests.rs @@ -68,7 +68,7 @@ fn test_api_rich_create() { // this stub work will be referenced let mut new_release = ReleaseEntity::new("derivative work".to_string()); - new_release.release_type = Some("journal-article".to_string()); + new_release.release_type = Some("article-journal".to_string()); new_release.work_id = Some(work_id.clone()); let mut contrib = ReleaseContrib::new(); contrib.creator_id = Some(creator_id.clone()); @@ -209,7 +209,7 @@ fn test_merge_works() { _ => unreachable!(), }; let mut new_release = ReleaseEntity::new("some release".to_string()); - new_release.release_type = Some("journal-article".to_string()); + new_release.release_type = Some("article-journal".to_string()); new_release.work_id = Some(work_a_id.clone()); new_release.doi = Some("10.1234/A1".to_string()); let resp = client @@ -231,7 +231,7 @@ fn test_merge_works() { }; let mut new_release = ReleaseEntity::new("some release".to_string()); - new_release.release_type = Some("journal-article".to_string()); + new_release.release_type = Some("article-journal".to_string()); new_release.work_id = Some(work_b_id.clone()); new_release.doi = Some("10.1234/B1".to_string()); let resp = client @@ -244,7 +244,7 @@ fn test_merge_works() { }; let mut new_release = ReleaseEntity::new("some release".to_string()); - new_release.release_type = Some("journal-article".to_string()); + new_release.release_type = Some("article-journal".to_string()); new_release.work_id = Some(work_b_id.clone()); new_release.doi = Some("10.1234/B2".to_string()); let resp = client -- cgit v1.2.3