old_console/cicd/integration_tests.sh
2024-11-02 14:12:45 +03:00

87 lines
1.6 KiB
Bash

#!/bin/bash
trap 'p=$(jobs -p); if [ "$p" != "" ]; then kill -s 9 $p; fi; rm_fd' EXIT
set -x
log_file_path="amc_integ_tests.log"
exec 3> >(tee -a $log_file_path)
exec 1>&3
exec 2>&3
rm_fd() {
exec 1>&-
exec 2>&-
exec 3>&-
wait
}
CUR_FILE_PATH=$(dirname "$0")
CUR_FILE_PATH=$(cd "$CUR_FILE_PATH" && pwd)
PRJ_ROOT_PATH=$(dirname "$CUR_FILE_PATH")
timeout=10
function check {
if [ "$1" == "$timeout" ]; then
echo "timeout. connection to $2 failed"
exit 1
else
echo "connection to $2 established"
fi
}
. $CUR_FILE_PATH/up_license_client.sh
check $client_counter "license_client"
response=0
counter=0
while [ "$response" != 200 ] && [ "$counter" != "$timeout" ]; do
response=$(curl -s -o /dev/null -w "%{http_code}" -u elastic:changeme -X GET http://elasticsearch:9200/)
sleep 5s
counter=$(( $counter + 1 ))
done
check $counter "elasticsearch"
response=0
counter=0
re=^.*PONG.*$
while ! [[ $response =~ ${re} ]] && [ "$counter" != "$timeout" ]; do
response=$(echo "PING" | nc -w 2 redis 6379)
sleep 5s
counter=$(( $counter + 1 ))
done
check $counter "redis"
set -ex
# if [ -d test_env ]; then
# rm -rf test_env
# echo "old env was removed"
# fi
#python3 -m virtualenv test_env
#source test_env/bin/activate
pip install --upgrade pip
pip install -r requirements_test.txt
DJANGO_SETTINGS_MODULE=console.settings.test python manage.py makemigrations
DJANGO_SETTINGS_MODULE=console.settings.test python manage.py migrate
DJANGO_SETTINGS_MODULE=console.settings.test coverage run -m pytest --disable-warnings -m integration
coverage html -d public/test_coverage/