Files
opencloud/tests/acceptance/scripts/run_e2e_tests.sh
Viktor Scharf 93d84478a4 removed test virus files from repo (#1812)
* remove virus file from repo

* doenload zip file

* adjust tests
2025-11-10 09:38:51 +01:00

95 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# Set required environment variables
export LOCAL_TEST=true
export WITH_WRAPPER=false
TEST_SERVER_URL="https://opencloud-server:9200"
# Start server
make -C tests/acceptance/docker start-server
# Wait until the server responds with HTTP 200
echo "Waiting for server to start..."
for i in {1..60}; do
response_code=$(curl -sk -u admin:admin "${TEST_SERVER_URL}/graph/v1.0/users/admin" -w "%{http_code}" -o /dev/null)
echo "Attempt $i: Received response code $response_code" # Debugging line to see the status
if [ "$response_code" == "200" ]; then
echo "✅ Server is up and running!"
break
fi
sleep 1
done
if [ "$response_code" != "200" ]; then
echo "❌ Server is not up after 60 attempts."
exit 1
fi
E2E_SUITES=(
"admin-settings"
"file-action"
"journeys"
"navigation"
"search"
"shares"
"spaces"
"user-settings"
)
EXTRA_E2E_SUITE="app-providerapp-store,keycloak,ocm,oidc"
# Create log directory
LOG_DIR="./suite-logs"
mkdir -p "$LOG_DIR"
SUCCESS_COUNT=0
FAILURE_COUNT=0
# Clone the repository and install dependencies
git clone https://github.com/opencloud-eu/web
cd web || exit 1
pnpm i
echo "Installation complete, moving to tests/e2e directory..."
# Run e2e suites
for SUITE in "${E2E_SUITES[@]}"; do
echo "=============================================="
echo "Running e2e suite: $SUITE"
echo "=============================================="
LOG_FILE="$LOG_DIR/${SUITE}.log"
# Run suite
(
cd tests/e2e || exit 1
OC_BASE_URL=$TEST_SERVER_URL RETRY=1 HEADLESS=true PARALLEL=4 ./run-e2e.sh --suites $SUITE > "../../../$LOG_FILE" 2>&1
)
# Check if suite was successful
if [ $? -eq 0 ]; then
echo "✅ Suite $SUITE completed successfully."
((SUCCESS_COUNT++))
else
echo "❌ Suite $SUITE failed. Check log: $LOG_FILE"
((FAILURE_COUNT++))
fi
done
# Report summary
echo "=============================================="
echo "Test Summary:"
echo "✅ Successful suites: $SUCCESS_COUNT"
echo "❌ Failed suites: $FAILURE_COUNT"
echo "Logs saved in: $LOG_DIR"
echo "=============================================="
# Cleanup: Remove the cloned web directory
echo "🧹 Cleaning up..."
cd ..
rm -rf web
echo "✅ Cleanup complete."