#!/bin/bash
# Handle any env var that must be passed to container
ENV=${ENV:-'prod'}
CYPRESS_TEST_WISE=${CYPRESS_TEST_WISE:-'false'}
CONTAINER_TAG='latest'
CONTAINER_NAME="${JOB_NAME////-}-$BUILD_NUMBER"

if [ -z "$JOB_NAME" ]; then
  echo "JOB_NAME env variable not set, this script will exit..."
  exit 1
fi

if [ -z "$BUILD_NUMBER" ]; then
  echo "BUILD_NUMBER env variable not set, this script will exit..."
  exit 1
fi


if [ "$ENV" = "qa" ] && [ "$GIT_COMMIT" != 'master' ]; then
  CONTAINER_TAG=$GIT_COMMIT
fi

make clean_docker_containers
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 086679231553.dkr.ecr.us-east-1.amazonaws.com
docker pull 086679231553.dkr.ecr.us-east-1.amazonaws.com/"$ENV"-cucumber-cypress-tests-jenkins:"$CONTAINER_TAG"

docker run -v $PWD:/data/e2e:rw -w /data/e2e \
--name $CONTAINER_NAME \
--rm \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
-e AWS_REGION=us-east-1 \
-e BUILD_TAG=$BUILD_TAG \
-e BUILD_NUMBER=$BUILD_NUMBER \
-e BUILD_URL=$BUILD_URL \
-e BUILD_ID=$BUILD_ID \
-e WORKSPACE=$WORKSPACE \
-e JOB_NAME=$JOB_NAME \
-e JOB_URL=$JOB_URL \
-e JENKINS_URL=$JENKINS_URL \
-e GIT_URL=$GIT_URL \
-e GIT_COMMIT=$GIT_COMMIT \
-e GIT_BRANCH=$GIT_BRANCH \
-e CYPRESS_IS_JENKINS=true \
-e APP=$APP \
-e TAGS="$TAGS" \
-e DD_ENV=$ENV \
-e ENV=$ENV \
-e DELAY=$DELAY \
-e TRIES=$TRIES \
-e RERUN_FARGATE=$RERUN_FARGATE \
-e CYPRESS_TEST_WISE=$CYPRESS_TEST_WISE \
-e CYPRESS_SNOWFLAKE_SCHEMA=$CYPRESS_SNOWFLAKE_SCHEMA \
-e NO_VIDEO=$NO_VIDEO \
-e TASK_REVISION=$TASK_REVISION \
-e CYPRESS_OVERRIDE_FRONTEND_HOST=$CYPRESS_OVERRIDE_FRONTEND_HOST \
-e CYPRESS_DEFAULT_COMMAND_TIMEOUT=$CYPRESS_DEFAULT_COMMAND_TIMEOUT \
-e DEBUG=$DEBUG \
086679231553.dkr.ecr.us-east-1.amazonaws.com/"$ENV"-cucumber-cypress-tests-jenkins:"$CONTAINER_TAG" "$@"
