64 lines
1.9 KiB
Bash
Executable File
64 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
## Pre-requisites
|
|
# Install ngrok
|
|
# Install patrol CLI
|
|
# Open android emulator
|
|
|
|
# Stoping previous environment if any
|
|
killall ngrok || true
|
|
cd backend-docker
|
|
docker compose down || true
|
|
cd ..
|
|
|
|
# Forward traffic to tmail-backend
|
|
ngrok http http://localhost:80 --log=stdout >/dev/null &
|
|
until [[ $(curl localhost:4040/api/status | jq -r ".status") == "online" ]]; do
|
|
echo "Waiting for ngrok to connect..."
|
|
sleep 2
|
|
done
|
|
|
|
export BASIC_AUTH_URL=$(curl -s localhost:4040/api/tunnels | jq -r '.tunnels[0].public_url')
|
|
|
|
cd backend-docker
|
|
|
|
# Generate keys for tmail backend
|
|
echo "Generating keys for tmail-backend..."
|
|
openssl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits:4096 -out jwt_privatekey
|
|
openssl rsa -in jwt_privatekey -pubout -out jwt_publickey
|
|
|
|
# Replace content of jmap.properties with url.prefix=$BASIC_AUTH_URL
|
|
# and websocket.url.prefix=ws${BASIC_AUTH_URL:4}
|
|
sed -i '' "s|url.prefix=.*|url.prefix=$BASIC_AUTH_URL|" jmap.properties
|
|
sed -i '' "s|websocket.url.prefix=.*|websocket.url.prefix=ws${BASIC_AUTH_URL:4}|" jmap.properties
|
|
|
|
echo "Starting services and adding users..."
|
|
docker compose up -d
|
|
# Wait till the service is started to add users
|
|
until (docker compose logs tmail-backend | grep -i "JAMES server started"); do
|
|
echo "Waiting for tmail-backend to start..."
|
|
sleep 2
|
|
done
|
|
export BOB="bob"
|
|
export ALICE="alice"
|
|
export DOMAIN="example.com"
|
|
|
|
docker exec tmail-backend ./root/conf/integration_test/provisioning.sh
|
|
|
|
cd ..
|
|
|
|
echo "Building the app and running tests..."
|
|
flutter build apk --config-only
|
|
patrol test -v \
|
|
--dart-define=USERNAME="$BOB" \
|
|
--dart-define=PASSWORD="$BOB" \
|
|
--dart-define=ADDITIONAL_MAIL_RECIPIENT="$ALICE@$DOMAIN" \
|
|
--dart-define=BASIC_AUTH_EMAIL="$BOB@$DOMAIN" \
|
|
--dart-define=BASIC_AUTH_URL="$BASIC_AUTH_URL"
|
|
|
|
# Clean up
|
|
echo "Cleaning up test environment..."
|
|
killall ngrok
|
|
cd backend-docker
|
|
docker compose down
|
|
cd .. |