diff --git a/crates/crates-io/lib.rs b/crates/crates-io/lib.rs index 00cc3e0590b..becd02af8d8 100644 --- a/crates/crates-io/lib.rs +++ b/crates/crates-io/lib.rs @@ -149,41 +149,15 @@ impl Registry { pub fn add_owners(&mut self, krate: &str, owners: &[&str]) -> Result { let body = serde_json::to_string(&OwnersReq { users: owners })?; let body = self.put(&format!("/crates/{}/owners", krate), body.as_bytes())?; - let body = if body.is_empty() { - r#"{"ok":false,"msg":"response body is empty"}"#.parse()? - } else { - body - }; - match serde_json::from_str::(&body) { - Ok(response) => { - if response.ok { - Ok(response.msg) - } else { - bail!("{}", response.msg) - } - } - _ => bail!("failed to parse response body"), - } + assert!(serde_json::from_str::(&body)?.ok); + Ok(serde_json::from_str::(&body)?.msg) } - pub fn remove_owners(&mut self, krate: &str, owners: &[&str]) -> Result { + pub fn remove_owners(&mut self, krate: &str, owners: &[&str]) -> Result<()> { let body = serde_json::to_string(&OwnersReq { users: owners })?; let body = self.delete(&format!("/crates/{}/owners", krate), Some(body.as_bytes()))?; - let body = if body.is_empty() { - r#"{"ok":false,"msg":"response body is empty"}"#.parse()? - } else { - body - }; - match serde_json::from_str::(&body) { - Ok(response) => { - if response.ok { - Ok(response.msg) - } else { - bail!("{}", response.msg) - } - } - _ => bail!("failed to parse response body"), - } + assert!(serde_json::from_str::(&body)?.ok); + Ok(()) } pub fn list_owners(&mut self, krate: &str) -> Result> { @@ -298,21 +272,8 @@ impl Registry { pub fn unyank(&mut self, krate: &str, version: &str) -> Result<()> { let body = self.put(&format!("/crates/{}/{}/unyank", krate, version), &[])?; - let body = if body.is_empty() { - r#"{"ok":false}"#.parse()? - } else { - body - }; - match serde_json::from_str::(&body) { - Ok(response) => { - if response.ok { - Ok(()) - } else { - bail!("ok is false in response body") - } - } - _ => bail!("failed to parse response body"), - } + assert!(serde_json::from_str::(&body)?.ok); + Ok(()) } fn put(&mut self, path: &str, b: &[u8]) -> Result { diff --git a/tests/testsuite/owner.rs b/tests/testsuite/owner.rs index d37206b206a..03a987d72db 100644 --- a/tests/testsuite/owner.rs +++ b/tests/testsuite/owner.rs @@ -76,7 +76,7 @@ fn simple_add() { .with_status(101) .with_stderr( " Updating `[..]` index -error: failed to invite owners to crate foo: response body is empty", +error: failed to invite owners to crate foo: EOF while parsing a value at line 1 column 0", ) .run(); } @@ -110,7 +110,7 @@ fn simple_remove() { error: failed to remove owners from crate foo Caused by: - response body is empty", + EOF while parsing a value at line 1 column 0", ) .run(); } diff --git a/tests/testsuite/yank.rs b/tests/testsuite/yank.rs index 83c118be80d..c697825320d 100644 --- a/tests/testsuite/yank.rs +++ b/tests/testsuite/yank.rs @@ -45,7 +45,7 @@ fn simple() { error: failed to undo a yank Caused by: - ok is false in response body", + EOF while parsing a value at line 1 column 0", ) .run(); }