From 89109a6320b2bcf62f87cd1627ba924385e33473 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Fri, 10 May 2019 15:17:24 -0700 Subject: add a rust test for extid table UNIQ --- rust/tests/test_extid.rs | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 rust/tests/test_extid.rs (limited to 'rust/tests') diff --git a/rust/tests/test_extid.rs b/rust/tests/test_extid.rs new file mode 100644 index 00000000..f0dc11d1 --- /dev/null +++ b/rust/tests/test_extid.rs @@ -0,0 +1,37 @@ + +use diesel::prelude::*; +use fatcat::database_models::*; +use fatcat::database_schema::*; +use fatcat::server; +use diesel::insert_into; +use std::str::FromStr; +use uuid::Uuid; + +mod helpers; + +#[test] +fn test_extid_uniq() { + // This test ensures that the SQL UNIQ constraint is working + let server = server::create_test_server().unwrap(); + let conn = server.db_pool.get().expect("db_pool error"); + + let resp = insert_into(release_rev_extid::table) + .values(ReleaseExtidRow { + release_rev: Uuid::from_str("00000000-0000-0000-4444-FFF000000002").unwrap(), + extid_type: "arxiv".to_string(), + value: "1905.03769v1".to_string(), + }) + .execute(&conn); + + assert!(resp.is_err()); + + let resp = insert_into(release_rev_extid::table) + .values(ReleaseExtidRow { + release_rev: Uuid::from_str("00000000-0000-0000-4444-FFF000000002").unwrap(), + extid_type: "arxiv_blah".to_string(), + value: "1905.03769v1".to_string(), + }) + .execute(&conn); + + assert!(resp.is_ok()); +} -- cgit v1.2.3