diff options
Diffstat (limited to 'rust/tests')
| -rw-r--r-- | rust/tests/test_api_server.rs | 41 | 
1 files changed, 40 insertions, 1 deletions
diff --git a/rust/tests/test_api_server.rs b/rust/tests/test_api_server.rs index 5d4aaf1d..ac9a8dcc 100644 --- a/rust/tests/test_api_server.rs +++ b/rust/tests/test_api_server.rs @@ -79,13 +79,52 @@ fn test_post_container() {  }  #[test] +fn test_post_file() { +    let server = fatcat::test_server().unwrap(); +    let router = fatcat_api::router(server); +    let mut headers = Headers::new(); +    let mime: Mime = "application/json".parse().unwrap(); +    headers.set(ContentType(mime)); + +    let response = request::post( +        "http://localhost:9411/v0/file", +        headers.clone(), +        r#"{ }"#, +        &router, +    ).unwrap(); +    let status = response.status; +    let body = response::extract_body_to_string(response); +    println!("{}", body); +    assert_eq!(status, Some(status::Created)); + +    let response = request::post( +        "http://localhost:9411/v0/file", +        headers, +        r#"{"size": 76543, +            "sha1": "f013d66c7f6817d08b7eb2a93e6d0440c1f3e7f8", +            "url": "http://archive.org/asdf.txt", +            "releases": [ +                "f1f046a3-45c9-4b99-4444-000000000001", +                "f1f046a3-45c9-4b99-4444-000000000002" +            ] +            }"#, +        &router, +    ).unwrap(); +    let status = response.status; +    let body = response::extract_body_to_string(response); +    println!("{}", body); +    assert_eq!(status, Some(status::Created)); +    //assert!(body.contains("secret paper")); +} + +#[test]  fn test_post_release() {      let server = fatcat::test_server().unwrap();      let router = fatcat_api::router(server);      let mut headers = Headers::new();      let mime: Mime = "application/json".parse().unwrap();      headers.set(ContentType(mime)); -  +      let response = request::post(          "http://localhost:9411/v0/release",          headers.clone(),  | 
