From b1331c20b098de74a689f752260837e96356fb68 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Thu, 6 Apr 2023 09:23:33 -0700 Subject: [PATCH] [Tests] add unit tests for `nvm_download_artifact` --- test/fast/Unit tests/nvm_download_artifact | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100755 test/fast/Unit tests/nvm_download_artifact diff --git a/test/fast/Unit tests/nvm_download_artifact b/test/fast/Unit tests/nvm_download_artifact new file mode 100755 index 0000000..250bca3 --- /dev/null +++ b/test/fast/Unit tests/nvm_download_artifact @@ -0,0 +1,55 @@ +#!/bin/sh + +cleanup () { + unset -f nvm_get_mirror +} +die () { echo "$@" ; cleanup ; exit 1; } + +\. ../../../nvm.sh + +# bad flavor +ACTUAL="$(nvm_download_artifact 2>&1)" +CODE="$(nvm_download_artifact >/dev/null 2>&1 ; echo $?)" +EXPECTED='supported flavors: node, iojs' +EXPECTED_CODE=1 + +[ "${ACTUAL}" = "${EXPECTED}" ] || die "expected >${EXPECTED}<, got >${ACTUAL}<" +[ "${CODE}" = $EXPECTED_CODE ] || die "expected exit code ${EXPECTED_CODE}, got ${CODE}" + +# bad kind +ACTUAL="$(nvm_download_artifact node 2>&1)" +CODE="$(nvm_download_artifact node >/dev/null 2>&1 ; echo $?)" +EXPECTED='supported kinds: binary, source' +EXPECTED_CODE=1 + +[ "${ACTUAL}" = "${EXPECTED}" ] || die "expected >${EXPECTED}<, got >${ACTUAL}<" +[ "${CODE}" = $EXPECTED_CODE ] || die "expected exit code ${EXPECTED_CODE}, got ${CODE}" + +# bad type +ACTUAL="$(nvm_download_artifact node binary nonexistentType 2>&1)" +CODE="$(nvm_download_artifact node binary nonexistentType >/dev/null 2>&1 ; echo $?)" +EXPECTED='unknown type of node.js or io.js release' +EXPECTED_CODE=2 + +[ "${ACTUAL}" = "${EXPECTED}" ] || die "expected >${EXPECTED}<, got >${ACTUAL}<" +[ "${CODE}" = $EXPECTED_CODE ] || die "expected exit code ${EXPECTED_CODE}, got ${CODE}" + +# no version +ACTUAL="$(nvm_download_artifact node binary std 2>&1)" +CODE="$(nvm_download_artifact node binary std >/dev/null 2>&1 ; echo $?)" +EXPECTED='A version number is required.' +EXPECTED_CODE=3 + +[ "${ACTUAL}" = "${EXPECTED}" ] || die "expected >${EXPECTED}<, got >${ACTUAL}<" +[ "${CODE}" = $EXPECTED_CODE ] || die "expected exit code ${EXPECTED_CODE}, got ${CODE}" + +# binary type, version without binary available +VERSION=0.8.5 +ACTUAL="$(nvm_download_artifact node binary std ${VERSION} 2>&1)" +CODE="$(nvm_download_artifact node binary std ${VERSION} >/dev/null 2>&1 ; echo $?)" +EXPECTED="No precompiled binary available for ${VERSION}." +EXPECTED_CODE=0 + +[ "${ACTUAL}" = "${EXPECTED}" ] || die "expected >${EXPECTED}<, got >${ACTUAL}<" +[ "${CODE}" = $EXPECTED_CODE ] || die "expected exit code ${EXPECTED_CODE}, got ${CODE}" +