65 lines
No EOL
2.3 KiB
Bash
Executable file
65 lines
No EOL
2.3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
#Always compile ytsync
|
|
make
|
|
|
|
#OVERRIDE this in your .env file if running from mac. Check docker-compose.yml for details
|
|
export LOCAL_TMP_DIR="/var/tmp:/var/tmp"
|
|
|
|
#Private Variables Set in local installations: SLACK_TOKEN,YOUTUBE_API_KEY,AWS_S3_ID,AWS_S3_SECRET,AWS_S3_REGION,AWS_S3_BUCKET
|
|
touch -a .env && set -o allexport; source ./.env; set +o allexport
|
|
echo "LOCAL_TMP_DIR=$LOCAL_TMP_DIR"
|
|
# Compose settings - docker only
|
|
export SLACK_CHANNEL="ytsync-travis"
|
|
export LBRY_API_TOKEN="ytsyntoken"
|
|
export LBRY_WEB_API="http://localhost:15400"
|
|
export LBRYNET_ADDRESS="http://localhost:15100"
|
|
export LBRYCRD_STRING="tcp://lbry:lbry@localhost:15200"
|
|
export LBRYNET_USE_DOCKER=true
|
|
export REFLECT_BLOBS=false
|
|
export CLEAN_ON_STARTUP=true
|
|
export REGTEST=true
|
|
# Local settings
|
|
export BLOBS_DIRECTORY="$(pwd)/e2e/blobsfiles"
|
|
export LBRYNET_DIR="$(pwd)/e2e/persist/.lbrynet/.local/share/lbry/lbrynet/"
|
|
export LBRYNET_WALLETS_DIR="$(pwd)/e2e/persist/.lbrynet/.local/share/lbry/lbryum"
|
|
export TMP_DIR="/var/tmp"
|
|
export UID
|
|
|
|
cd ./e2e
|
|
docker-compose stop
|
|
docker-compose rm -f
|
|
echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin
|
|
docker-compose pull
|
|
if [[ -d persist ]]; then rm -rf persist; fi
|
|
mkdir -m 0777 -p ./persist
|
|
mkdir -m 777 -p ./persist/.walletserver
|
|
mkdir -m 777 -p ./persist/.lbrynet
|
|
#sudo chown -Rv 999:999 ./persist/.walletserver
|
|
#sudo chown -Rv 1000:1000 ./persist/.lbrynet
|
|
docker-compose up -d
|
|
printf 'waiting for internal apis'
|
|
until curl --output /dev/null --silent --head --fail http://localhost:15400; do
|
|
printf '.'
|
|
sleep 1
|
|
done
|
|
echo "successfully started..."
|
|
|
|
#Data Setup for test
|
|
./data_setup.sh
|
|
|
|
# Execute the test!
|
|
./../bin/ytsync --channelID UCCyr5j8akeu9j4Q7urV0Lqw #Force channel intended...just in case. This channel lines up with the api container
|
|
# Assert the status
|
|
status=$(mysql -u lbry -plbry -ss -D lbry -h "127.0.0.1" -P 15500 -e 'SELECT status FROM youtube_data WHERE id=1')
|
|
videoStatus=$(mysql -u lbry -plbry -ss -D lbry -h "127.0.0.1" -P 15500 -e 'SELECT status FROM synced_video WHERE id=1')
|
|
if [[ $status != "synced" || $videoStatus != "published" ]]; then
|
|
docker-compose logs --tail="all" lbrycrd
|
|
docker-compose logs --tail="all" walletserver
|
|
docker-compose logs --tail="all" lbrynet
|
|
docker-compose logs --tail="all" internalapis
|
|
echo "List local /var/tmp"
|
|
find /var/tmp
|
|
exit 1; fi; |