From ec54c925c13ae4b5469a5b6cb965fa8018c32b45 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Wed, 27 Apr 2016 01:25:56 -0700 Subject: [PATCH] [Tests] use mocks for `nvm_ls_remote`/`nvm_ls_remote_iojs` tests. --- .../mocks/nodejs.org-dist-index.tab | 2 + test/fast/Unit tests/mocks/nvm_ls_remote.txt | 264 ++++++++++++++++++ .../Unit tests/mocks/nvm_ls_remote_iojs.txt | 41 +++ test/fast/Unit tests/nvm_ls_remote | 10 +- test/fast/Unit tests/nvm_ls_remote_iojs | 6 +- update_test_mocks.sh | 2 + 6 files changed, 319 insertions(+), 6 deletions(-) create mode 100644 test/fast/Unit tests/mocks/nvm_ls_remote.txt create mode 100644 test/fast/Unit tests/mocks/nvm_ls_remote_iojs.txt diff --git a/test/fast/Unit tests/mocks/nodejs.org-dist-index.tab b/test/fast/Unit tests/mocks/nodejs.org-dist-index.tab index 073bac7..c7c6bd3 100644 --- a/test/fast/Unit tests/mocks/nodejs.org-dist-index.tab +++ b/test/fast/Unit tests/mocks/nodejs.org-dist-index.tab @@ -1,4 +1,6 @@ version date files npm v8 uv zlib openssl modules lts +v6.0.0 2016-04-26 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.8.6 5.0.71.35 1.9.0 1.2.8 1.0.2g 48 - +v5.11.0 2016-04-21 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.8.6 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 - v5.10.1 2016-04-05 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.8.3 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 - v5.10.0 2016-04-01 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.8.3 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 - v5.9.1 2016-03-22 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.7.3 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 - diff --git a/test/fast/Unit tests/mocks/nvm_ls_remote.txt b/test/fast/Unit tests/mocks/nvm_ls_remote.txt new file mode 100644 index 0000000..a46cb95 --- /dev/null +++ b/test/fast/Unit tests/mocks/nvm_ls_remote.txt @@ -0,0 +1,264 @@ +v0.1.14 +v0.1.15 +v0.1.16 +v0.1.17 +v0.1.18 +v0.1.19 +v0.1.20 +v0.1.21 +v0.1.22 +v0.1.23 +v0.1.24 +v0.1.25 +v0.1.26 +v0.1.27 +v0.1.28 +v0.1.29 +v0.1.30 +v0.1.31 +v0.1.32 +v0.1.33 +v0.1.90 +v0.1.91 +v0.1.92 +v0.1.93 +v0.1.94 +v0.1.95 +v0.1.96 +v0.1.97 +v0.1.98 +v0.1.99 +v0.1.100 +v0.1.101 +v0.1.102 +v0.1.103 +v0.1.104 +v0.2.0 +v0.2.1 +v0.2.2 +v0.2.3 +v0.2.4 +v0.2.5 +v0.2.6 +v0.3.0 +v0.3.1 +v0.3.2 +v0.3.3 +v0.3.4 +v0.3.5 +v0.3.6 +v0.3.7 +v0.3.8 +v0.4.0 +v0.4.1 +v0.4.2 +v0.4.3 +v0.4.4 +v0.4.5 +v0.4.6 +v0.4.7 +v0.4.8 +v0.4.9 +v0.4.10 +v0.4.11 +v0.4.12 +v0.5.0 +v0.5.1 +v0.5.2 +v0.5.3 +v0.5.4 +v0.5.5 +v0.5.6 +v0.5.7 +v0.5.8 +v0.5.9 +v0.5.10 +v0.6.0 +v0.6.1 +v0.6.2 +v0.6.3 +v0.6.4 +v0.6.5 +v0.6.6 +v0.6.7 +v0.6.8 +v0.6.9 +v0.6.10 +v0.6.11 +v0.6.12 +v0.6.13 +v0.6.14 +v0.6.15 +v0.6.16 +v0.6.17 +v0.6.18 +v0.6.19 +v0.6.20 +v0.6.21 +v0.7.0 +v0.7.1 +v0.7.2 +v0.7.3 +v0.7.4 +v0.7.5 +v0.7.6 +v0.7.7 +v0.7.8 +v0.7.9 +v0.7.10 +v0.7.11 +v0.7.12 +v0.8.0 +v0.8.1 +v0.8.2 +v0.8.3 +v0.8.4 +v0.8.5 +v0.8.6 +v0.8.7 +v0.8.8 +v0.8.9 +v0.8.10 +v0.8.11 +v0.8.12 +v0.8.13 +v0.8.14 +v0.8.15 +v0.8.16 +v0.8.17 +v0.8.18 +v0.8.19 +v0.8.20 +v0.8.21 +v0.8.22 +v0.8.23 +v0.8.24 +v0.8.25 +v0.8.26 +v0.8.27 +v0.8.28 +v0.9.0 +v0.9.1 +v0.9.2 +v0.9.3 +v0.9.4 +v0.9.5 +v0.9.6 +v0.9.7 +v0.9.8 +v0.9.9 +v0.9.10 +v0.9.11 +v0.9.12 +v0.10.0 +v0.10.1 +v0.10.2 +v0.10.3 +v0.10.4 +v0.10.5 +v0.10.6 +v0.10.7 +v0.10.8 +v0.10.9 +v0.10.10 +v0.10.11 +v0.10.12 +v0.10.13 +v0.10.14 +v0.10.15 +v0.10.16 +v0.10.17 +v0.10.18 +v0.10.19 +v0.10.20 +v0.10.21 +v0.10.22 +v0.10.23 +v0.10.24 +v0.10.25 +v0.10.26 +v0.10.27 +v0.10.28 +v0.10.29 +v0.10.30 +v0.10.31 +v0.10.32 +v0.10.33 +v0.10.34 +v0.10.35 +v0.10.36 +v0.10.37 +v0.10.38 +v0.10.39 +v0.10.40 +v0.10.41 +v0.10.42 +v0.10.43 +v0.10.44 +v0.11.0 +v0.11.1 +v0.11.2 +v0.11.3 +v0.11.4 +v0.11.5 +v0.11.6 +v0.11.7 +v0.11.8 +v0.11.9 +v0.11.10 +v0.11.11 +v0.11.12 +v0.11.13 +v0.11.14 +v0.11.15 +v0.11.16 +v0.12.0 +v0.12.1 +v0.12.2 +v0.12.3 +v0.12.4 +v0.12.5 +v0.12.6 +v0.12.7 +v0.12.8 +v0.12.9 +v0.12.10 +v0.12.11 +v0.12.12 +v0.12.13 +v4.0.0 +v4.1.0 +v4.1.1 +v4.1.2 +v4.2.0 +v4.2.1 +v4.2.2 +v4.2.3 +v4.2.4 +v4.2.5 +v4.2.6 +v4.3.0 +v4.3.1 +v4.3.2 +v4.4.0 +v4.4.1 +v4.4.2 +v4.4.3 +v5.0.0 +v5.1.0 +v5.1.1 +v5.2.0 +v5.3.0 +v5.4.0 +v5.4.1 +v5.5.0 +v5.6.0 +v5.7.0 +v5.7.1 +v5.8.0 +v5.9.0 +v5.9.1 +v5.10.0 +v5.10.1 +v5.11.0 +v6.0.0 diff --git a/test/fast/Unit tests/mocks/nvm_ls_remote_iojs.txt b/test/fast/Unit tests/mocks/nvm_ls_remote_iojs.txt new file mode 100644 index 0000000..d263a73 --- /dev/null +++ b/test/fast/Unit tests/mocks/nvm_ls_remote_iojs.txt @@ -0,0 +1,41 @@ +iojs-v1.0.0 +iojs-v1.0.1 +iojs-v1.0.2 +iojs-v1.0.3 +iojs-v1.0.4 +iojs-v1.1.0 +iojs-v1.2.0 +iojs-v1.3.0 +iojs-v1.4.1 +iojs-v1.4.2 +iojs-v1.4.3 +iojs-v1.5.0 +iojs-v1.5.1 +iojs-v1.6.0 +iojs-v1.6.1 +iojs-v1.6.2 +iojs-v1.6.3 +iojs-v1.6.4 +iojs-v1.7.1 +iojs-v1.8.1 +iojs-v1.8.2 +iojs-v1.8.3 +iojs-v1.8.4 +iojs-v2.0.0 +iojs-v2.0.1 +iojs-v2.0.2 +iojs-v2.1.0 +iojs-v2.2.0 +iojs-v2.2.1 +iojs-v2.3.0 +iojs-v2.3.1 +iojs-v2.3.2 +iojs-v2.3.3 +iojs-v2.3.4 +iojs-v2.4.0 +iojs-v2.5.0 +iojs-v3.0.0 +iojs-v3.1.0 +iojs-v3.2.0 +iojs-v3.3.0 +iojs-v3.3.1 diff --git a/test/fast/Unit tests/nvm_ls_remote b/test/fast/Unit tests/nvm_ls_remote index ed4e2c1..d8f7d3d 100755 --- a/test/fast/Unit tests/nvm_ls_remote +++ b/test/fast/Unit tests/nvm_ls_remote @@ -14,14 +14,16 @@ nvm_download() { cat "$TAB_PATH" } +EXPECTED_OUTPUT_PATH="$PWD/mocks/nvm_ls_remote.txt" + OUTPUT="$(nvm_ls_remote foo)" EXIT_CODE="$(nvm_ls_remote foo >/dev/null 2>&1 ; echo $?)" [ "_$OUTPUT" = "_N/A" ] || die "nonexistent version did not report N/A" [ "_$EXIT_CODE" = "_3" ] || die "nonexistent version did not exit with code 3, got $EXIT_CODE" OUTPUT="$(nvm_ls_remote)" -EXPECTED_OUTPUT="$(nvm_download | \egrep -o 'v[0-9]+\.[0-9]+\.[0-9]+' | sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n)" -[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "bare nvm_ls_remote did not output expected sorted versions; got $(echo "$OUTPUT") expected $(echo "$EXPECTED_OUTPUT")" +EXPECTED_OUTPUT="$(cat "$EXPECTED_OUTPUT_PATH")" +[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "bare nvm_ls_remote did not output expected sorted versions; got $(echo ">$OUTPUT<") expected $(echo ">$EXPECTED_OUTPUT<")" OUTPUT="$(nvm_ls_remote 0.3)" EXPECTED_OUTPUT="v0.3.0 @@ -38,7 +40,7 @@ v0.3.8" # Sanity checks OUTPUT="$(nvm_print_implicit_alias remote stable)" -EXPECTED_OUTPUT="5.10" +EXPECTED_OUTPUT="6.0" [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_print_implicit_alias remote stable did not output $EXPECTED_OUTPUT; got $OUTPUT" OUTPUT="$(nvm_print_implicit_alias remote unstable)" @@ -46,7 +48,7 @@ EXPECTED_OUTPUT="0.11" [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_print_implicit_alias remote unstable did not output $EXPECTED_OUTPUT; got $OUTPUT" OUTPUT="$(nvm_ls_remote stable)" -EXPECTED_OUTPUT="v5.10.1" +EXPECTED_OUTPUT="v6.0.0" [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_ls_remote stable did not output $EXPECTED_OUTPUT; got $OUTPUT" OUTPUT="$(nvm_ls_remote unstable)" diff --git a/test/fast/Unit tests/nvm_ls_remote_iojs b/test/fast/Unit tests/nvm_ls_remote_iojs index 03bb417..1f909c7 100755 --- a/test/fast/Unit tests/nvm_ls_remote_iojs +++ b/test/fast/Unit tests/nvm_ls_remote_iojs @@ -14,14 +14,16 @@ nvm_download() { cat "$TAB_PATH" } +EXPECTED_OUTPUT_PATH="$PWD/mocks/nvm_ls_remote_iojs.txt" + OUTPUT="$(nvm_ls_remote_iojs foo)" EXIT_CODE="$(nvm_ls_remote_iojs foo >/dev/null 2>&1 ; echo $?)" [ "_$OUTPUT" = "_N/A" ] || die "nonexistent version did not report N/A" [ "_$EXIT_CODE" = "_3" ] || die "nonexistent version did not exit with code 3, got $EXIT_CODE" OUTPUT="$(nvm_ls_remote_iojs)" -EXPECTED_OUTPUT="$(nvm_download | \egrep -o 'v[0-9]+\.[0-9]+\.[0-9]+' | sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n | sed -e 's/^/iojs-/')" -[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "bare nvm_ls_remote_iojs did not output expected sorted versions; got $(echo "$OUTPUT") expected $(echo "$EXPECTED_OUTPUT")" +EXPECTED_OUTPUT="$(cat "$EXPECTED_OUTPUT_PATH")" +[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "bare nvm_ls_remote_iojs did not output expected sorted versions; got $(echo ">$OUTPUT<") expected $(echo ">$EXPECTED_OUTPUT<")" OUTPUT="$(nvm_ls_remote_iojs 1.0)" EXPECTED_OUTPUT="iojs-v1.0.0 diff --git a/update_test_mocks.sh b/update_test_mocks.sh index 7f42195..10eaed6 100755 --- a/update_test_mocks.sh +++ b/update_test_mocks.sh @@ -11,6 +11,8 @@ mkdir -p MOCKS_DIR . "$NVM_DIR/nvm.sh" +nvm_ls_remote > "$MOCKS_DIR/nvm_ls_remote.txt" +nvm_ls_remote_iojs > "$MOCKS_DIR/nvm_ls_remote_iojs.txt" nvm_download -L -s "$NVM_NODEJS_ORG_MIRROR/index.tab" -o - > "$MOCKS_DIR/nodejs.org-dist-index.tab" nvm_download -L -s "$NVM_IOJS_ORG_MIRROR/index.tab" -o - > "$MOCKS_DIR/iojs.org-dist-index.tab"