diff options
| author | Bryan Newbold <bnewbold@robocracy.org> | 2018-11-13 15:38:19 -0800 | 
|---|---|---|
| committer | Bryan Newbold <bnewbold@robocracy.org> | 2018-11-13 15:38:19 -0800 | 
| commit | c7ff87bc03d98c7fa8b2354223ae33f0fab8b5bd (patch) | |
| tree | b418dff0e671de87550ec63b3df10692bbc36b08 /rust/tests/test_api_server_client.rs | |
| parent | d14e86155fc0ae718954871f7adb59e415d98602 (diff) | |
| download | fatcat-c7ff87bc03d98c7fa8b2354223ae33f0fab8b5bd.tar.gz fatcat-c7ff87bc03d98c7fa8b2354223ae33f0fab8b5bd.zip  | |
start using client in some tests
Diffstat (limited to 'rust/tests/test_api_server_client.rs')
| -rw-r--r-- | rust/tests/test_api_server_client.rs | 57 | 
1 files changed, 57 insertions, 0 deletions
diff --git a/rust/tests/test_api_server_client.rs b/rust/tests/test_api_server_client.rs new file mode 100644 index 00000000..381dc6ab --- /dev/null +++ b/rust/tests/test_api_server_client.rs @@ -0,0 +1,57 @@ +/* + * This file contains API server tests that hit the API through the Rust API client library. + * + * These tests are relatively complex and mutate database state. Tests should take care not to be + * racey or overwrite each other; for example, they should randomize external identifiers and + * minimize reliance on hard-coded example entities. + * + * Note that these tests currently do *not* include tests the authentication system, or any other + * middleware. + */ + +extern crate fatcat; +extern crate fatcat_api_spec; +extern crate uuid; +extern crate iron; + +use iron::{Iron, Listening}; +use fatcat_api_spec::{Context, Api, ApiNoContext, Future, ContextWrapperExt}; +use fatcat_api_spec::client::Client; +//use uuid::Uuid; + + +fn setup() -> ( +    Context, +    Client, +    Listening, +) { +    let server = fatcat::test_server().unwrap(); +    let router = fatcat_api_spec::router(server); +    let iron_server = Iron::new(router) +        .http("localhost:9144") +        .expect("Failed to start HTTP server"); + +    let context = Context::new(); +    let client = Client::try_new_http("http://localhost:9144").unwrap(); +    (context, client, iron_server) +} + +#[test] +fn test_basic() { + +    let (context, client, mut server) = setup(); +    let client = client.with_context(context); + +    client.get_changelog_entry(1).wait().unwrap(); +    server.close().unwrap() +} + +#[test] +fn test_basic2() { + +    let (context, client, mut server) = setup(); +    let client = client.with_context(context); + +    client.get_changelog_entry(1).wait().unwrap(); +    server.close().unwrap() +}  | 
