summaryrefslogtreecommitdiffstats
path: root/rust/tests/test_api_server.rs
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2018-05-23 19:22:57 -0700
committerBryan Newbold <bnewbold@robocracy.org>2018-05-24 15:21:32 -0700
commitcf937ed89c3fe10d891c41612017301a7ff0fbae (patch)
tree9aff837d2d9b276c72fafa19fb082bee8c9e4b22 /rust/tests/test_api_server.rs
parent7ee9e001bc908aa6a934751bdef5081977d034db (diff)
downloadfatcat-cf937ed89c3fe10d891c41612017301a7ff0fbae.tar.gz
fatcat-cf937ed89c3fe10d891c41612017301a7ff0fbae.zip
fix identifier lookups
Diffstat (limited to 'rust/tests/test_api_server.rs')
-rw-r--r--rust/tests/test_api_server.rs53
1 files changed, 53 insertions, 0 deletions
diff --git a/rust/tests/test_api_server.rs b/rust/tests/test_api_server.rs
new file mode 100644
index 00000000..fdabdea2
--- /dev/null
+++ b/rust/tests/test_api_server.rs
@@ -0,0 +1,53 @@
+extern crate fatcat;
+extern crate fatcat_api;
+extern crate iron;
+extern crate iron_test;
+
+use iron::{status, Headers};
+use iron_test::{request, response};
+
+#[test]
+fn test_basics() {
+ let server = fatcat::server().unwrap();
+ let router = fatcat_api::router(server);
+
+ let response = request::get(
+ "http://localhost:9411/v0/creator/f1f046a3-45c9-4b99-adce-000000000001",
+ Headers::new(),
+ &router,
+ ).unwrap();
+ assert_eq!(response.status, Some(status::Ok));
+ let body = response::extract_body_to_string(response);
+ assert!(body.contains("Grace Hopper"));
+
+ let response = request::get(
+ "http://localhost:9411/v0/creator/f1f046a3-45c9-4b99-adce-999999999999",
+ Headers::new(),
+ &router,
+ ).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"));
+}