test to validate asset url

This commit is contained in:
softprops 2019-08-25 23:37:45 -04:00
parent c7f2407010
commit aa1c0dedfd

View File

@ -79,6 +79,17 @@ impl Releaser for Client {
} }
} }
fn asset_url(
github_repo: &str,
release_id: usize,
name: &str,
) -> String {
format!(
"http://uploads.github.com/repos/{}/releases/{}/assets?name={}",
github_repo, release_id, name
)
}
impl<A: Into<Body>> AssetUploader<A> for Client { impl<A: Into<Body>> AssetUploader<A> for Client {
// https://developer.github.com/v3/repos/releases/#upload-a-release-asset // https://developer.github.com/v3/repos/releases/#upload-a-release-asset
fn upload( fn upload(
@ -91,10 +102,7 @@ impl<A: Into<Body>> AssetUploader<A> for Client {
asset: A, asset: A,
) -> Result<StatusCode, Box<dyn Error>> { ) -> Result<StatusCode, Box<dyn Error>> {
Ok(self Ok(self
.post(&format!( .post(&asset_url(github_repo, release_id, name))
"http://uploads.github.com/repos/{}/releases/{}/assets?name={}",
github_repo, release_id, name
))
.header("Authorization", format!("bearer {}", github_token)) .header("Authorization", format!("bearer {}", github_token))
.header("Content-Type", mime.to_string()) .header("Content-Type", mime.to_string())
.body(asset) .body(asset)
@ -105,6 +113,12 @@ impl<A: Into<Body>> AssetUploader<A> for Client {
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use super::*;
#[test] #[test]
fn it_works() {} fn asset_url_formats_urls() {
assert_eq!(
"http://uploads.github.com/repos/foo/bar/releases/1/assets?name=release.txt",
asset_url("foo/bar", 1, "release.txt")
)
}
} }