diff --git a/run_tests.sh b/run_tests.sh index be9904b..c2ecefc 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -9,17 +9,36 @@ run_tests() { } stop() { - $CONTAINER_BIN container stop classquiz_db - $CONTAINER_BIN container stop test_redis - $CONTAINER_BIN container stop test_meili + $CONTAINER_BIN container stop classquiz_db + $CONTAINER_BIN container stop test_redis + $CONTAINER_BIN container stop test_meili } init() { - mkdir /tmp/storage - $CONTAINER_BIN run --rm -d -p 6379:6379 --name test_redis redis:alpine - $CONTAINER_BIN run -it --rm -d -p 7700:7700 --name test_meili getmeili/meilisearch:v0.28.0 - $CONTAINER_BIN volume create classquiz_db_data - $CONTAINER_BIN run --name classquiz_db -p 5432:5432 --rm -d -e POSTGRES_PASSWORD=mysecretpassword -v classquiz_db_data:/var/lib/postgresql/data -e POSTGRES_DB=classquiz postgres + if [ ! -d /tmp/storage ]; then + mkdir /tmp/storage + fi + + $CONTAINER_BIN volume exists classquiz_db_data + if [ ! $? ]; then + $CONTAINER_BIN volume create classquiz_db_data + fi + + #Check Linux distribution, which is necessary for using Redis + SYSINFO=$(uname -rv) + CONTAINER_REDIS="" + if [[ ${SYSINFO} == *"Ubuntu"* ]]; then + CONTAINER_REDIS=redis:buster + elif [[ ${SYSINFO} == *"Alpine"* ]]; then + CONTAINER_REDIS=redis:alpine + else + echo "Warning. Defaulting to Alpine Redis. If Redis error follows, please add your Linux distribution. Then make this script addition your first Class Quiz contribution! We will appreciate it!" + CONTAINER_REDIS=redis:alpine + fi + + $CONTAINER_BIN run --rm -d -p 6379:6379 --name test_redis $CONTAINER_REDIS + $CONTAINER_BIN run -it --rm -d -p 7700:7700 --name test_meili docker.io/getmeili/meilisearch:v0.28.0 + $CONTAINER_BIN run --name classquiz_db -p 5432:5432 --rm -d -e POSTGRES_PASSWORD=mysecretpassword -v classquiz_db_data:/var/lib/postgresql/data -e POSTGRES_DB=classquiz docker.io/postgres sleep 1 pipenv run alembic upgrade head }