diff options
| author | Bryan Newbold <bnewbold@robocracy.org> | 2019-01-11 17:48:10 -0800 | 
|---|---|---|
| committer | Bryan Newbold <bnewbold@robocracy.org> | 2019-01-11 17:48:10 -0800 | 
| commit | 97b8c43dff9dd1bb86cc66c9ab71c6df17956579 (patch) | |
| tree | e1eedb75756825a2d84ecbd26de9dc0e910b4ed3 /rust/tests | |
| parent | 2ee844b75c611ae32f40f1d65dcb00f3de553240 (diff) | |
| download | fatcat-97b8c43dff9dd1bb86cc66c9ab71c6df17956579.tar.gz fatcat-97b8c43dff9dd1bb86cc66c9ab71c6df17956579.zip | |
minimal crude rust tests for new endpoints
Diffstat (limited to 'rust/tests')
| -rw-r--r-- | rust/tests/helpers.rs | 3 | ||||
| -rw-r--r-- | rust/tests/test_api_server_http.rs | 150 | 
2 files changed, 152 insertions, 1 deletions
| diff --git a/rust/tests/helpers.rs b/rust/tests/helpers.rs index 6f12faaa..f4cd93e9 100644 --- a/rust/tests/helpers.rs +++ b/rust/tests/helpers.rs @@ -94,6 +94,7 @@ pub fn check_http_response(      }  } +#[allow(dead_code)]  pub fn quick_editgroup(conn: &server::DbConn) -> FatcatId {      let editor_id = FatcatId::from_str(TEST_ADMIN_EDITOR_ID).unwrap();      let eg = Editgroup { @@ -102,7 +103,7 @@ pub fn quick_editgroup(conn: &server::DbConn) -> FatcatId {          editor: None,          changelog_index: None,          submitted: None, -        description: None, +        description: Some("quick test editgroup".to_string()),          extra: None,          annotations: None,          edits: None, diff --git a/rust/tests/test_api_server_http.rs b/rust/tests/test_api_server_http.rs index af19e4f2..0ec2650a 100644 --- a/rust/tests/test_api_server_http.rs +++ b/rust/tests/test_api_server_http.rs @@ -999,6 +999,17 @@ fn test_accept_editgroup() {          None,      ); +    helpers::check_http_response( +        request::post( +            &format!("http://localhost:9411/v0/editgroup/{}/accept", editgroup_id), +            headers.clone(), +            "", +            &router, +        ), +        status::BadRequest, +        None, +    ); +      let c: i64 = container_ident::table          .filter(container_ident::is_live.eq(false))          .count() @@ -1663,3 +1674,142 @@ fn test_create_editgroup() {          None,      );  } + +#[test] +fn test_get_editgroup() { +    let (headers, router, _conn) = helpers::setup_http(); + +    helpers::check_http_response( +        request::get( +            "http://localhost:9411/v0/editgroup/aaaaaaaaaaaabo53aaaaaaaaae", +            headers.clone(), +            &router, +        ), +        status::Ok, +        Some("changelog_index"), +    ); + +    helpers::check_http_response( +        request::get( +            "http://localhost:9411/v0/editor/aaaaaaaaaaaabkvkaaaaaaaaam/editgroups", +            headers.clone(), +            &router, +        ), +        status::Ok, +        Some("user edit"), +    ); + +    helpers::check_http_response( +        request::get( +            "http://localhost:9411/v0/editgroup/reviewable", +            headers.clone(), +            &router, +        ), +        status::Ok, +        Some("edit for submission"), +    ); +} + +#[test] +fn test_put_editgroup() { +    let (headers, router, conn) = helpers::setup_http(); +    let editgroup_id = helpers::quick_editgroup(&conn); + +    helpers::check_http_response( +        request::put( +            &format!( +                "http://localhost:9411/v0/editgroup/{}?submit=false", +                editgroup_id +            ), +            headers.clone(), +            &format!(r#"{{"editgroup_id": "{}"}}"#, editgroup_id), +            &router, +        ), +        status::Ok, +        None, +    ); + +    helpers::check_http_response( +        request::put( +            &format!( +                "http://localhost:9411/v0/editgroup/{}?submit=true", +                editgroup_id +            ), +            headers.clone(), +            &format!(r#"{{"editgroup_id": "{}"}}"#, editgroup_id), +            &router, +        ), +        status::Ok, +        None, +    ); + +    helpers::check_http_response( +        request::get( +            &format!("http://localhost:9411/v0/editgroup/reviewable"), +            headers.clone(), +            &router, +        ), +        status::Ok, +        Some("quick test editgroup"), +    ); +} + +#[test] +fn test_editgroup_annotations() { +    let (headers, router, conn) = helpers::setup_http(); +    let editgroup_id = helpers::quick_editgroup(&conn); + +    // pre-existing +    helpers::check_http_response( +        request::get( +            "http://localhost:9411/v0/editgroup/aaaaaaaaaaaabo53aaaaaaaaa4/annotations", +            headers.clone(), +            &router, +        ), +        status::Ok, +        Some("love this edit"), +    ); + +    helpers::check_http_response( +        request::post( +            &format!( +                "http://localhost:9411/v0/editgroup/{}/annotation", +                editgroup_id +            ), +            headers.clone(), +            r#"{"comment_markdown": "new special test annotation", +                "extra": { +                    "bogus-key": "bogus-value"} +               }"#, +            &router, +        ), +        status::Created, +        None, +    ); + +    helpers::check_http_response( +        request::get( +            &format!( +                "http://localhost:9411/v0/editgroup/{}/annotations", +                editgroup_id +            ), +            headers.clone(), +            &router, +        ), +        status::Ok, +        Some("special test annotation"), +    ); + +    helpers::check_http_response( +        request::get( +            &format!( +                "http://localhost:9411/v0/editor/{}/annotations", +                helpers::TEST_ADMIN_EDITOR_ID +            ), +            headers.clone(), +            &router, +        ), +        status::Ok, +        Some("special test annotation"), +    ); +} | 
