mirror of
https://github.com/fsquillace/junest.git
synced 2026-01-23 18:45:53 +00:00
85 lines
2.1 KiB
Bash
Executable file
85 lines
2.1 KiB
Bash
Executable file
#!/bin/bash
|
|
# shellcheck disable=SC1091
|
|
|
|
JUNEST_ROOT=$(readlink -f "$(dirname "$0")"/../..)
|
|
|
|
source "$JUNEST_ROOT/tests/utils/utils.sh"
|
|
|
|
source "$JUNEST_ROOT/lib/utils/utils.sh"
|
|
source "$JUNEST_ROOT/lib/core/common.sh"
|
|
source "$JUNEST_ROOT/lib/core/setup.sh"
|
|
|
|
# Disable the exiterr
|
|
set +e
|
|
|
|
function oneTimeSetUp(){
|
|
setUpUnitTests
|
|
}
|
|
|
|
function setUp(){
|
|
cwdSetUp
|
|
junestSetUp
|
|
}
|
|
|
|
function tearDown(){
|
|
junestTearDown
|
|
cwdTearDown
|
|
}
|
|
|
|
function test_is_env_installed(){
|
|
rm -rf "${JUNEST_HOME:?}"/*
|
|
assertCommandFail is_env_installed
|
|
touch "$JUNEST_HOME"/just_file
|
|
assertCommandSuccess is_env_installed
|
|
}
|
|
|
|
function test_setup_env(){
|
|
rm -rf "${JUNEST_HOME:?}"/*
|
|
# shellcheck disable=SC2317
|
|
wget_mock(){
|
|
# Proof that the setup is happening
|
|
# inside $JUNEST_TEMPDIR
|
|
local cwd=${PWD#"${JUNEST_TEMPDIR}"}
|
|
local parent_dir=${PWD%"${cwd}"}
|
|
assertEquals "$JUNEST_TEMPDIR" "${parent_dir}"
|
|
touch file
|
|
tar -czvf "${CMD}-${ARCH}".tar.gz file
|
|
}
|
|
# shellcheck disable=SC2034
|
|
WGET=wget_mock
|
|
# shellcheck disable=SC2119
|
|
setup_env 1> /dev/null
|
|
assertTrue "[ -e $JUNEST_HOME/file ]"
|
|
|
|
assertCommandFailOnStatus 102 setup_env "noarch"
|
|
}
|
|
|
|
|
|
function test_setup_env_from_file(){
|
|
rm -rf "${JUNEST_HOME:?}"/*
|
|
touch file
|
|
tar -czvf "${CMD}-${ARCH}".tar.gz file 1> /dev/null
|
|
assertCommandSuccess setup_env_from_file "${CMD}-${ARCH}.tar.gz"
|
|
assertTrue "[ -e $JUNEST_HOME/file ]"
|
|
}
|
|
|
|
function test_setup_env_from_file_not_existing_file(){
|
|
assertCommandFailOnStatus 103 setup_env_from_file noexist.tar.gz
|
|
}
|
|
|
|
function test_setup_env_from_file_with_absolute_path(){
|
|
rm -rf "${JUNEST_HOME:?}"/*
|
|
touch file
|
|
tar -czf "${CMD}-${ARCH}".tar.gz file
|
|
assertCommandSuccess setup_env_from_file "${CMD}-${ARCH}.tar.gz"
|
|
assertTrue "[ -e $JUNEST_HOME/file ]"
|
|
}
|
|
|
|
function test_delete_env(){
|
|
echo "N" | delete_env 1> /dev/null
|
|
assertCommandSuccess is_env_installed
|
|
echo "Y" | delete_env 1> /dev/null
|
|
assertCommandFail is_env_installed
|
|
}
|
|
|
|
source "$JUNEST_ROOT"/tests/utils/shunit2
|