From a8e5f9b06c88de510891c3640612c56931f7645e Mon Sep 17 00:00:00 2001 From: Alex Epstein Date: Thu, 3 Aug 2017 09:40:43 -0400 Subject: [PATCH] Adding transfer test --- install.sh | 2 +- tests/transfer.bats | 49 +++++++++++++++++++++++++++++++++++++++++++++ transfer/transfer | 3 +-- uninstall.sh | 2 +- 4 files changed, 52 insertions(+), 4 deletions(-) create mode 100755 tests/transfer.bats diff --git a/install.sh b/install.sh index 0100cb0..cd04800 100755 --- a/install.sh +++ b/install.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # Author: Alexander Epstein https://github.com/alexanderepstein currentVersion="1.17.3" -declare -a tools=(cheat cloudup crypt cryptocurrency currency geo movies newton qrify short siteciphers stocks taste todo weather ytview) +declare -a tools=(cheat cloudup crypt cryptocurrency currency geo movies newton qrify short siteciphers stocks taste todo transfer weather ytview) declare -a extraLinuxTools=(maps) declare -a extraDarwinTools usedGithubInstallMethod="0" diff --git a/tests/transfer.bats b/tests/transfer.bats new file mode 100755 index 0000000..bafbb20 --- /dev/null +++ b/tests/transfer.bats @@ -0,0 +1,49 @@ +#!/bin/env bats + +@test "Testing transfer tool" { + echo transfer +} + +@test "Check for latest version of bash-snippets on update" { + if [[ "$(uname)" == "Linux" ]];then + run transfer update + [ "$status" -eq 0 ] + [ "$output" = "Bash-Snippets is already the latest version" ] +fi +} + +@test "The -h option should print usage" { + run transfer -h + [ "$status" -eq 0 ] + [ "${lines[0]}" = "Transfer" ] +} + +@test "Testing file upload" { + touch testFile.txt + echo -n "This is some example content." > $(pwd)/testFile.txt + run transfer -s testFile.txt + transferResponse=$(transfer -s testFile.txt) + rm -f $(pwd)/testFile.txt + transferCommand=$( echo $transferResponse | cut -d $'\n' -f 3 | sed s/"Transfer Download Command:"//g | sed s:"desiredOutputDirectory":"$HOME":g | sed s:"^ "::g) + transferStatus=$( echo $transferResponse | grep -Eo "Success!") + [ "$status" -eq 0 ] + [ "$transferStatus" = "Success!" ] ## this works for darwin but the test wont + +} + + +#@test "Testing file download" { +# rm -f $HOME/testFile.txt +# run $(echo $transferCommand) + +# contents=$(cat $HOME/testFile.txt) +# rm -f $HOME/testFile.txt +# if [[ $contents != "This is some example content." ]];then exit 1; fi +#} + +@test "Get the tools version with -v" { + run transfer -v + [ "$status" -eq 0 ] + result=$( echo $(transfer -v) | grep -Eo "Version") + [ "$result" = "Version" ] +} diff --git a/transfer/transfer b/transfer/transfer index c82a2ef..9fa81ba 100755 --- a/transfer/transfer +++ b/transfer/transfer @@ -121,8 +121,7 @@ checkInternet() singleDownload() { if [[ ! -d $1 ]];then { echo "Directory doesn't exist, creating it now..."; mkdir -p $1;};fi - if [[ $1 == "" ]];then tempOutputPath=$(pwd) - else tempOutputPath=$1;fi + tempOutputPath=$1 if [ -f "$tempOutputPath/$3" ];then echo -n "File aleady exists at $tempOutputPath/$3, do you want to delete it? [Y/n] " read -r answer diff --git a/uninstall.sh b/uninstall.sh index 55b306f..9ffcdd5 100755 --- a/uninstall.sh +++ b/uninstall.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # Author: Alexander Epstein https://github.com/alexanderepstein -declare -a tools=(cheat cloudup crypt cryptocurrency currency geo movies newton qrify short siteciphers stocks taste todo weather ytview) +declare -a tools=(cheat cloudup crypt cryptocurrency currency geo movies newton qrify short siteciphers stocks taste todo transfer weather ytview) all="1" askUninstall()