aboutsummaryrefslogtreecommitdiffstats
path: root/rust
diff options
context:
space:
mode:
Diffstat (limited to 'rust')
-rw-r--r--rust/tests/helpers.rs8
-rw-r--r--rust/tests/test_api_server_http.rs153
2 files changed, 83 insertions, 78 deletions
diff --git a/rust/tests/helpers.rs b/rust/tests/helpers.rs
index 677a8855..01891eaf 100644
--- a/rust/tests/helpers.rs
+++ b/rust/tests/helpers.rs
@@ -9,6 +9,10 @@ use iron::{status, Chain, Headers, Iron, Listening};
use iron_test::response;
use std::str::FromStr;
+
+pub static TEST_ADMIN_EDITOR_ID: &str = "aaaaaaaaaaaabkvkaaaaaaaaae";
+//static TEST_ADMIN_EDITOR_ID: FatCatId = FatCatId::from_str("aaaaaaaaaaaabkvkaaaaaaaaae").unwrap();
+
// A current problem with this method is that if the test fails (eg, panics, assert fails), the
// server never gets closed, and the server thread hangs forever.
// One workaround might be to invert the function, take a closure, capture the panic/failure, and
@@ -18,7 +22,7 @@ pub fn setup_client() -> (Client, Context, Listening) {
let server = server::create_test_server().unwrap();
// setup auth as admin user
- let admin_id = FatCatId::from_str("aaaaaaaaaaaabkvkaaaaaaaaae").unwrap();
+ let admin_id = FatCatId::from_str(TEST_ADMIN_EDITOR_ID).unwrap();
let token = server
.auth_confectionary
.create_token(admin_id, None)
@@ -55,7 +59,7 @@ pub fn setup_http() -> (
let conn = server.db_pool.get().expect("db_pool error");
// setup auth as admin user
- let admin_id = FatCatId::from_str("aaaaaaaaaaaabkvkaaaaaaaaae").unwrap();
+ let admin_id = FatCatId::from_str(TEST_ADMIN_EDITOR_ID).unwrap();
let token = server
.auth_confectionary
.create_token(admin_id, None)
diff --git a/rust/tests/test_api_server_http.rs b/rust/tests/test_api_server_http.rs
index 7d4469af..4773a44e 100644
--- a/rust/tests/test_api_server_http.rs
+++ b/rust/tests/test_api_server_http.rs
@@ -12,7 +12,7 @@ use fatcat::editing::create_editgroup;
use fatcat::identifiers::*;
use iron::status;
use iron_test::request;
-use uuid::Uuid;
+use std::str::FromStr;
mod helpers;
@@ -484,11 +484,13 @@ fn test_reverse_lookups() {
#[test]
fn test_post_container() {
- let (headers, router, _conn) = helpers::setup_http();
+ let (headers, router, conn) = helpers::setup_http();
+ let editor_id = FatCatId::from_str(helpers::TEST_ADMIN_EDITOR_ID).unwrap();
+ let editgroup_id = FatCatId::from_uuid(&create_editgroup(&conn, editor_id.to_uuid()).unwrap());
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/container",
+ &format!("http://localhost:9411/v0/container?editgroup_id={}", editgroup_id),
headers,
r#"{"name": "test journal"}"#,
&router,
@@ -516,11 +518,13 @@ fn test_post_batch_container() {
#[test]
fn test_post_creator() {
- let (headers, router, _conn) = helpers::setup_http();
+ let (headers, router, conn) = helpers::setup_http();
+ let editor_id = FatCatId::from_str(helpers::TEST_ADMIN_EDITOR_ID).unwrap();
+ let editgroup_id = FatCatId::from_uuid(&create_editgroup(&conn, editor_id.to_uuid()).unwrap());
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/creator",
+ &format!( "http://localhost:9411/v0/creator?editgroup_id={}", editgroup_id),
headers,
r#"{"display_name": "some person"}"#,
&router,
@@ -533,8 +537,8 @@ fn test_post_creator() {
#[test]
fn test_post_file() {
let (headers, router, conn) = helpers::setup_http();
- let editor_id = Uuid::parse_str("00000000-0000-0000-AAAA-000000000001").unwrap();
- let editgroup_id = uuid2fcid(&create_editgroup(&conn, editor_id).unwrap());
+ let editor_id = FatCatId::from_str(helpers::TEST_ADMIN_EDITOR_ID).unwrap();
+ let editgroup_id = FatCatId::from_uuid(&create_editgroup(&conn, editor_id.to_uuid()).unwrap());
helpers::check_http_response(
request::post(
@@ -603,8 +607,8 @@ fn test_post_file() {
#[test]
fn test_post_fileset() {
let (headers, router, conn) = helpers::setup_http();
- let editor_id = Uuid::parse_str("00000000-0000-0000-AAAA-000000000001").unwrap();
- let editgroup_id = uuid2fcid(&create_editgroup(&conn, editor_id).unwrap());
+ let editor_id = FatCatId::from_str(helpers::TEST_ADMIN_EDITOR_ID).unwrap();
+ let editgroup_id = FatCatId::from_uuid(&create_editgroup(&conn, editor_id.to_uuid()).unwrap());
helpers::check_http_response(
request::post(
@@ -663,8 +667,8 @@ fn test_post_fileset() {
#[test]
fn test_post_webcapture() {
let (headers, router, conn) = helpers::setup_http();
- let editor_id = Uuid::parse_str("00000000-0000-0000-AAAA-000000000001").unwrap();
- let editgroup_id = uuid2fcid(&create_editgroup(&conn, editor_id).unwrap());
+ let editor_id = FatCatId::from_str(helpers::TEST_ADMIN_EDITOR_ID).unwrap();
+ let editgroup_id = FatCatId::from_uuid(&create_editgroup(&conn, editor_id.to_uuid()).unwrap());
helpers::check_http_response(
request::post(
@@ -733,8 +737,8 @@ fn test_post_webcapture() {
#[test]
fn test_post_release() {
let (headers, router, conn) = helpers::setup_http();
- let editor_id = Uuid::parse_str("00000000-0000-0000-AAAA-000000000001").unwrap();
- let editgroup_id = uuid2fcid(&create_editgroup(&conn, editor_id).unwrap());
+ let editor_id = FatCatId::from_str(helpers::TEST_ADMIN_EDITOR_ID).unwrap();
+ let editgroup_id = FatCatId::from_uuid(&create_editgroup(&conn, editor_id.to_uuid()).unwrap());
helpers::check_http_response(
request::post(
@@ -835,11 +839,13 @@ fn test_post_release() {
#[test]
fn test_post_work() {
- let (headers, router, _conn) = helpers::setup_http();
+ let (headers, router, conn) = helpers::setup_http();
+ let editor_id = FatCatId::from_str(helpers::TEST_ADMIN_EDITOR_ID).unwrap();
+ let editgroup_id = FatCatId::from_uuid(&create_editgroup(&conn, editor_id.to_uuid()).unwrap());
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/work",
+ &format!( "http://localhost:9411/v0/work?editgroup_id={}", editgroup_id),
headers.clone(),
// TODO: target_work_id
r#"{
@@ -855,10 +861,12 @@ fn test_post_work() {
#[test]
fn test_update_work() {
let (headers, router, conn) = helpers::setup_http();
+ let editor_id = FatCatId::from_str(helpers::TEST_ADMIN_EDITOR_ID).unwrap();
+ let editgroup_id = FatCatId::from_uuid(&create_editgroup(&conn, editor_id.to_uuid()).unwrap());
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/work",
+ &format!("http://localhost:9411/v0/work?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{
"extra": { "source": "other speculation" }
@@ -869,13 +877,11 @@ fn test_update_work() {
None,
);
- let editor_id = Uuid::parse_str("00000000-0000-0000-AAAA-000000000001").unwrap();
- let editgroup_id = create_editgroup(&conn, editor_id).unwrap();
helpers::check_http_response(
request::post(
&format!(
"http://localhost:9411/v0/editgroup/{}/accept",
- uuid2fcid(&editgroup_id)
+ editgroup_id
),
headers.clone(),
"",
@@ -889,10 +895,12 @@ fn test_update_work() {
#[test]
fn test_delete_work() {
let (headers, router, conn) = helpers::setup_http();
+ let editor_id = FatCatId::from_str(helpers::TEST_ADMIN_EDITOR_ID).unwrap();
+ let editgroup_id = FatCatId::from_uuid(&create_editgroup(&conn, editor_id.to_uuid()).unwrap());
helpers::check_http_response(
request::delete(
- "http://localhost:9411/v0/work/aaaaaaaaaaaaavkvaaaaaaaaai",
+ &format!("http://localhost:9411/v0/work/aaaaaaaaaaaaavkvaaaaaaaaai?editgroup_id={}", editgroup_id),
headers.clone(),
&router,
),
@@ -900,14 +908,9 @@ fn test_delete_work() {
None,
);
- let editor_id = Uuid::parse_str("00000000-0000-0000-AAAA-000000000001").unwrap();
- let editgroup_id = create_editgroup(&conn, editor_id).unwrap();
helpers::check_http_response(
request::post(
- &format!(
- "http://localhost:9411/v0/editgroup/{}/accept",
- uuid2fcid(&editgroup_id)
- ),
+ &format!("http://localhost:9411/v0/editgroup/{}/accept", editgroup_id),
headers.clone(),
"",
&router,
@@ -920,9 +923,8 @@ fn test_delete_work() {
#[test]
fn test_accept_editgroup() {
let (headers, router, conn) = helpers::setup_http();
-
- let editor_id = Uuid::parse_str("00000000-0000-0000-AAAA-000000000001").unwrap();
- let editgroup_id = create_editgroup(&conn, editor_id).unwrap();
+ let editor_id = FatCatId::from_str(helpers::TEST_ADMIN_EDITOR_ID).unwrap();
+ let editgroup_id = FatCatId::from_uuid(&create_editgroup(&conn, editor_id.to_uuid()).unwrap());
let c: i64 = container_ident::table
.filter(container_ident::is_live.eq(false))
@@ -931,7 +933,7 @@ fn test_accept_editgroup() {
.unwrap();
assert_eq!(c, 0);
let c: i64 = changelog::table
- .filter(changelog::editgroup_id.eq(editgroup_id))
+ .filter(changelog::editgroup_id.eq(editgroup_id.to_uuid()))
.count()
.get_result(&conn)
.unwrap();
@@ -939,14 +941,11 @@ fn test_accept_editgroup() {
helpers::check_http_response(
request::post(
- &format!(
- "http://localhost:9411/v0/container?editgroup_id={}",
- uuid2fcid(&editgroup_id)
- ),
+ &format!("http://localhost:9411/v0/container?editgroup_id={}", editgroup_id),
headers.clone(),
&format!(
"{{\"name\": \"test journal 1\", \"editgroup_id\": \"{}\"}}",
- uuid2fcid(&editgroup_id)
+ editgroup_id
),
&router,
),
@@ -955,14 +954,11 @@ fn test_accept_editgroup() {
);
helpers::check_http_response(
request::post(
- &format!(
- "http://localhost:9411/v0/container?editgroup_id={}",
- uuid2fcid(&editgroup_id)
- ),
+ &format!("http://localhost:9411/v0/container?editgroup_id={}", editgroup_id),
headers.clone(),
&format!(
"{{\"name\": \"test journal 2\", \"editgroup_id\": \"{}\"}}",
- uuid2fcid(&editgroup_id)
+ editgroup_id
),
&router,
),
@@ -981,7 +977,7 @@ fn test_accept_editgroup() {
request::get(
&format!(
"http://localhost:9411/v0/editgroup/{}",
- uuid2fcid(&editgroup_id)
+ editgroup_id
),
headers.clone(),
&router,
@@ -994,7 +990,7 @@ fn test_accept_editgroup() {
request::post(
&format!(
"http://localhost:9411/v0/editgroup/{}/accept",
- uuid2fcid(&editgroup_id)
+ editgroup_id
),
headers.clone(),
"",
@@ -1011,7 +1007,7 @@ fn test_accept_editgroup() {
.unwrap();
assert_eq!(c, 0);
let c: i64 = changelog::table
- .filter(changelog::editgroup_id.eq(editgroup_id))
+ .filter(changelog::editgroup_id.eq(editgroup_id.to_uuid()))
.count()
.get_result(&conn)
.unwrap();
@@ -1045,11 +1041,13 @@ fn test_changelog() {
#[test]
fn test_400() {
- let (headers, router, _conn) = helpers::setup_http();
+ let (headers, router, conn) = helpers::setup_http();
+ let editor_id = FatCatId::from_str(helpers::TEST_ADMIN_EDITOR_ID).unwrap();
+ let editgroup_id = FatCatId::from_uuid(&create_editgroup(&conn, editor_id.to_uuid()).unwrap());
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers,
r#"{"title": "secret paper",
"release_type": "article-journal",
@@ -1119,12 +1117,14 @@ fn test_edit_gets() {
#[test]
fn test_bad_external_idents() {
- let (headers, router, _conn) = helpers::setup_http();
+ let (headers, router, conn) = helpers::setup_http();
+ let editor_id = FatCatId::from_str(helpers::TEST_ADMIN_EDITOR_ID).unwrap();
+ let editgroup_id = FatCatId::from_uuid(&create_editgroup(&conn, editor_id.to_uuid()).unwrap());
// Bad wikidata QID
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "secret paper",
"wikidata_qid": "P12345"
@@ -1136,7 +1136,7 @@ fn test_bad_external_idents() {
);
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/container",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"name": "my journal",
"wikidata_qid": "P12345"
@@ -1148,7 +1148,7 @@ fn test_bad_external_idents() {
);
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/creator",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"display_name": "some body",
"wikidata_qid": "P12345"
@@ -1162,7 +1162,7 @@ fn test_bad_external_idents() {
// Bad PMCID
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "secret paper",
"pmcid": "12345"
@@ -1176,7 +1176,7 @@ fn test_bad_external_idents() {
// Bad PMID
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "secret paper",
"pmid": "not-a-number"
@@ -1190,7 +1190,7 @@ fn test_bad_external_idents() {
// Bad DOI
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "secret paper",
"doi": "asdf"
@@ -1204,7 +1204,7 @@ fn test_bad_external_idents() {
// Good identifiers
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "secret paper",
"doi": "10.1234/abcde.781231231239",
@@ -1222,15 +1222,12 @@ fn test_bad_external_idents() {
#[test]
fn test_abstracts() {
let (headers, router, conn) = helpers::setup_http();
- let editor_id = Uuid::parse_str("00000000-0000-0000-AAAA-000000000001").unwrap();
- let editgroup_id = uuid2fcid(&create_editgroup(&conn, editor_id).unwrap());
+ let editor_id = FatCatId::from_str(helpers::TEST_ADMIN_EDITOR_ID).unwrap();
+ let editgroup_id = FatCatId::from_uuid(&create_editgroup(&conn, editor_id.to_uuid()).unwrap());
helpers::check_http_response(
request::post(
- &format!(
- "http://localhost:9411/v0/release?editgroup_id={}",
- editgroup_id
- ),
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "some paper",
"doi": "10.1234/iiiiiii",
@@ -1320,8 +1317,8 @@ fn test_abstracts() {
#[test]
fn test_contribs() {
let (headers, router, conn) = helpers::setup_http();
- let editor_id = Uuid::parse_str("00000000-0000-0000-AAAA-000000000001").unwrap();
- let editgroup_id = uuid2fcid(&create_editgroup(&conn, editor_id).unwrap());
+ let editor_id = FatCatId::from_str(helpers::TEST_ADMIN_EDITOR_ID).unwrap();
+ let editgroup_id = FatCatId::from_uuid(&create_editgroup(&conn, editor_id.to_uuid()).unwrap());
helpers::check_http_response(
request::post(
@@ -1406,12 +1403,14 @@ fn test_post_batch_autoaccept() {
#[test]
fn test_release_dates() {
- let (headers, router, _conn) = helpers::setup_http();
+ let (headers, router, conn) = helpers::setup_http();
+ let editor_id = FatCatId::from_str(helpers::TEST_ADMIN_EDITOR_ID).unwrap();
+ let editgroup_id = FatCatId::from_uuid(&create_editgroup(&conn, editor_id.to_uuid()).unwrap());
// Ok
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "secret minimal paper",
"release_type": "article-journal",
@@ -1426,7 +1425,7 @@ fn test_release_dates() {
// Ok
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "secret minimal paper",
"release_type": "article-journal",
@@ -1441,7 +1440,7 @@ fn test_release_dates() {
// Ok; ISO 8601
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "secret minimal paper",
"release_type": "article-journal",
@@ -1454,7 +1453,7 @@ fn test_release_dates() {
);
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "secret minimal paper",
"release_type": "article-journal",
@@ -1469,7 +1468,7 @@ fn test_release_dates() {
// Ok
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "secret minimal paper",
"release_type": "article-journal",
@@ -1485,7 +1484,7 @@ fn test_release_dates() {
// Ok for now, but may be excluded later
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "secret minimal paper",
"release_type": "article-journal",
@@ -1501,7 +1500,7 @@ fn test_release_dates() {
// Bad: year/month only
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "secret minimal paper",
"release_type": "article-journal",
@@ -1516,7 +1515,7 @@ fn test_release_dates() {
// Bad: full timestamp
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "secret minimal paper",
"release_type": "article-journal",
@@ -1531,7 +1530,7 @@ fn test_release_dates() {
// Bad: bogus month/day
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "secret minimal paper",
"release_type": "article-journal",
@@ -1546,12 +1545,14 @@ fn test_release_dates() {
#[test]
fn test_release_types() {
- let (headers, router, _conn) = helpers::setup_http();
+ let (headers, router, conn) = helpers::setup_http();
+ let editor_id = FatCatId::from_str(helpers::TEST_ADMIN_EDITOR_ID).unwrap();
+ let editgroup_id = FatCatId::from_uuid(&create_editgroup(&conn, editor_id.to_uuid()).unwrap());
// Ok
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "secret minimal paper",
"release_type": "article-journal"
@@ -1565,7 +1566,7 @@ fn test_release_types() {
// Bad
helpers::check_http_response(
request::post(
- "http://localhost:9411/v0/release",
+ &format!("http://localhost:9411/v0/release?editgroup_id={}", editgroup_id),
headers.clone(),
r#"{"title": "secret minimal paper",
"release_type": "journal-article"
@@ -1584,7 +1585,7 @@ fn test_create_editgroup() {
// We're authenticated, so don't need to supply editor_id
helpers::check_http_response(
request::post(
- &format!("http://localhost:9411/v0/editgroup",),
+ "http://localhost:9411/v0/editgroup",
headers.clone(),
"{}",
&router,
@@ -1596,7 +1597,7 @@ fn test_create_editgroup() {
// But can if we want to
helpers::check_http_response(
request::post(
- &format!("http://localhost:9411/v0/editgroup",),
+ "http://localhost:9411/v0/editgroup",
headers.clone(),
r#"{"editor_id": "aaaaaaaaaaaabkvkaaaaaaaaae"}"#,
&router,