From aa1c0dedfdc85d6d8c5f57b2026675e4b8ab99e7 Mon Sep 17 00:00:00 2001 From: softprops Date: Sun, 25 Aug 2019 23:37:45 -0400 Subject: [PATCH] test to validate asset url --- src/github.rs | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/github.rs b/src/github.rs index 18e2612..abe924b 100644 --- a/src/github.rs +++ b/src/github.rs @@ -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> AssetUploader for Client { // https://developer.github.com/v3/repos/releases/#upload-a-release-asset fn upload( @@ -91,10 +102,7 @@ impl> AssetUploader for Client { asset: A, ) -> Result> { Ok(self - .post(&format!( - "http://uploads.github.com/repos/{}/releases/{}/assets?name={}", - github_repo, release_id, name - )) + .post(&asset_url(github_repo, release_id, name)) .header("Authorization", format!("bearer {}", github_token)) .header("Content-Type", mime.to_string()) .body(asset) @@ -105,6 +113,12 @@ impl> AssetUploader for Client { #[cfg(test)] mod tests { + use super::*; #[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") + ) + } }