github.com/noqcks/syft@v0.0.0-20230920222752-a9e2c4e288e5/test/install/2_download_release_asset_test.sh (about) 1 . test_harness.sh 2 3 test_download_release_asset() { 4 release="$1" 5 os="$2" 6 arch="$3" 7 format="$4" 8 expected_mime_type="$5" 9 10 # for troubleshooting 11 # log_set_priority 10 12 13 name=${PROJECT_NAME} 14 version=$(tag_to_version ${release}) 15 github_download="https://github.com/${OWNER}/${REPO}/releases/download/${release}" 16 17 tmpdir=$(mktemp -d) 18 19 actual_filepath=$(download_asset "${github_download}" "${tmpdir}" "${name}" "${os}" "${arch}" "${version}" "${format}" ) 20 21 assertFileExists "${actual_filepath}" "download_asset os=${os} arch=${arch} format=${format}" 22 23 actual_mime_type=$(file -b --mime-type ${actual_filepath}) 24 25 assertEquals "${expected_mime_type}" "${actual_mime_type}" "unexpected mimetype for os=${os} arch=${arch} format=${format}" 26 27 rm -rf -- "$tmpdir" 28 } 29 30 # always test against the latest release 31 release=$(get_release_tag "${OWNER}" "${REPO}" "latest" ) 32 33 # exercise all possible assets against a real github release (based on asset listing from https://github.com/anchore/syft/releases/tag/v0.36.0) 34 run_test_case test_download_release_asset "${release}" "darwin" "amd64" "tar.gz" "application/gzip" 35 run_test_case test_download_release_asset "${release}" "darwin" "arm64" "tar.gz" "application/gzip" 36 run_test_case test_download_release_asset "${release}" "linux" "amd64" "tar.gz" "application/gzip" 37 run_test_case test_download_release_asset "${release}" "linux" "amd64" "rpm" "application/x-rpm" 38 run_test_case test_download_release_asset "${release}" "linux" "amd64" "deb" "application/vnd.debian.binary-package" 39 run_test_case test_download_release_asset "${release}" "linux" "arm64" "tar.gz" "application/gzip" 40 run_test_case test_download_release_asset "${release}" "linux" "arm64" "rpm" "application/x-rpm" 41 run_test_case test_download_release_asset "${release}" "linux" "arm64" "deb" "application/vnd.debian.binary-package"