EOX GitLab Instance

Skip to content
Snippets Groups Projects
gitlab_test.sh 2.38 KiB
Newer Older
#!/bin/sh
# fetch secrets and write them to their according files
cat $vhr18_db > ../env/vhr18_db.env
cat $vhr18_django > ../env/vhr18_django.env
cat $vhr18_obs > ../env/vhr18_obs.env

cat $emg_db > ../env/emg_db.env
cat $emg_django > ../env/emg_django.env
cat $emg_obs > ../env/emg_obs.env

# randomize the bucket name to avoid clash of two CI pipelines (linux)
PREPROCESSOR_RESULTS_BUCKET=$(cat /proc/sys/kernel/random/uuid)
echo "PREPROCESSOR_RESULTS_BUCKET=$PREPROCESSOR_RESULTS_BUCKET" >> ../env/emg.env
# use `pvs_testing` bucket instead
sed -i -e 's/emg-data/pvs_testing/g' ../env/emg.env
sed -i -e 's/vhr18-data/pvs_testing/g' ../env/vhr18.env

sed -i -e 's/emg-cache/pvs_testing/g' ../env/emg_obs.env
sed -i -e 's/vhr18-cache/pvs_testing/g' ../env/vhr18_obs.env

# source the env file
echo "DJANGO_SECRET_KEY=${DJANGO_SECRET_KEY}" >> ../env/emg.env
set -o allexport
source ../env/emg.env
set +o allexport

mkdir data
docker swarm init
docker network create -d overlay emg-extnet
# create the docker secrets
printf $OS_PASSWORD_DOWNLOAD | docker secret create OS_PASSWORD_DOWNLOAD -
printf $DJANGO_PASSWORD | docker secret create DJANGO_PASSWORD -
printf $DJANGO_SECRET_KEY | docker secret create DJANGO_SECRET_KEY -
printf $OS_PASSWORD | docker secret create OS_PASSWORD -
# create docker configs
Lubomir Dolezal's avatar
Lubomir Dolezal committed
printf $sftp_users_emg | docker config create sftp_users_emg -
Mussab Abdalla's avatar
Mussab Abdalla committed

# override preprocessor default configuration file
Mussab Abdalla's avatar
Mussab Abdalla committed
cat ./testing_preprocessor_config.yml>../config/emg_preprocessor-config.yml
Mussab Abdalla's avatar
Mussab Abdalla committed

# deploy the stack
docker stack deploy -c ../docker-compose.emg.yml -c ../docker-compose.emg.dev.yml emg-pvs
./docker-stack-wait.sh -n renderer -n registrar -n preprocessor -n database -n sftp -n ingestor emg-pvs
# perform the testing
Mussab Abdalla's avatar
Mussab Abdalla committed
bash ./preprocessor_prep.sh preprocessed_list.csv
bash ./registrar_prep.sh product_list.csv

pytest registrar_test.py preprocessor_test.py renderer_test.py
if [ $? -ne 0 ]; then any_test_failed=0;fi
Mussab Abdalla's avatar
Mussab Abdalla committed

swift delete $PREPROCESSOR_RESULTS_BUCKET
# ingestor test
bash ./ingestor_prep.sh
Mussab Abdalla's avatar
Mussab Abdalla committed

if [ $? -ne 0 ]; then any_test_failed=0;fi
# cleanup
swift delete $PREPROCESSOR_RESULTS_BUCKET
for service in $(docker service ls --format "{{.Name}}"); do
  docker service ps $service --no-trunc >> "$CI_PROJECT_DIR/$service.txt"
  docker service logs $service --timestamps >> "$CI_PROJECT_DIR/$service.txt"
done
if [ $any_test_failed -ne 1 ]; then echo "Some test failed"; exit 1;fi