Files
opencloud/tests/acceptance/scripts/run_api_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

161 lines
4.4 KiB
Bash
Executable File

#!/bin/bash
# Set required environment variables
export LOCAL_TEST=true
export START_EMAIL=true
export WITH_WRAPPER=true
export STORAGE_DRIVER=${STORAGE_DRIVER:-posix}
export TEST_ROOT_PATH="/drone/src/tests"
# LOCAL TEST WITHOUT EXTRA ENVS
TEST_SERVER_URL="https://opencloud-server:9200"
OC_WRAPPER_URL="http://opencloud-server:5200"
EXPECTED_FAILURES_FILE="tests/acceptance/expected-failures-localAPI-on-decomposed-storage.md"
EXPECTED_FAILURES_FILE_FROM_CORE="tests/acceptance/expected-failures-API-on-decomposed-storage.md"
# 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
# List of suites to run
SUITES=(
"apiArchiver"
"apiContract"
"apiCors"
"apiAsyncUpload"
"apiDownloads"
"apiDepthInfinity"
"apiLocks"
"apiActivities"
"apiSettings"
"apiGraph"
"apiServiceAvailability"
"apiGraphUserGroup"
"apiSpaces"
"apiSpacesShares"
"apiSpacesDavOperation"
"apiSearch1"
"apiSearch2"
"apiReshare"
"apiSharingNg1"
"apiSharingNg2"
"apiSharingNgShareInvitation"
"apiSharingNgLinkSharePermission"
"apiSharingNgLinkShareRoot"
"apiAccountsHashDifficulty"
"apiSearchContent"
"apiNotification"
)
# List of suites from core
CORE_SUITES=(
"coreApiAuth"
"coreApiCapabilities"
"coreApiFavorites"
"coreApiMain"
"coreApiShareCreateSpecialToShares1"
"coreApiShareCreateSpecialToShares2"
"coreApiSharees"
"coreApiShareManagementBasicToShares"
"coreApiShareManagementToShares"
"coreApiShareOperationsToShares1"
"coreApiShareOperationsToShares2"
"coreApiSharePublicLink1"
"coreApiSharePublicLink2"
"coreApiShareUpdateToShares"
"coreApiTrashbin"
"coreApiTrashbinRestore"
"coreApiVersions"
"coreApiWebdavDelete"
"coreApiWebdavEtagPropagation1"
"coreApiWebdavEtagPropagation2"
"coreApiWebdavMove1"
"coreApiWebdavMove2"
"coreApiWebdavOperations"
"coreApiWebdavPreviews"
"coreApiWebdavProperties"
"coreApiWebdavUpload"
"coreApiWebdavUploadTUS"
)
EXTRA_SUITE=(
"apiAntivirus"
"apiOcm"
"apiCollaboration"
"apiAuthApp"
"cliCommands"
)
# Create log directory
LOG_DIR="./suite-logs"
mkdir -p "$LOG_DIR"
SUCCESS_COUNT=0
FAILURE_COUNT=0
for SUITE in "${SUITES[@]}"; do
echo "=============================================="
echo "Running suite: $SUITE"
echo "=============================================="
LOG_FILE="$LOG_DIR/${SUITE}.log"
# Run suite
make test-acceptance-api TEST_SERVER_URL=$TEST_SERVER_URL OC_WRAPPER_URL=$OC_WRAPPER_URL EXPECTED_FAILURES_FILE=$EXPECTED_FAILURES_FILE BEHAT_SUITE=$SUITE SEND_SCENARIO_LINE_REFERENCES=true > "$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
for SUITE in "${CORE_SUITES[@]}"; do
echo "=============================================="
echo "Running suite: $SUITE"
echo "=============================================="
LOG_FILE="$LOG_DIR/${SUITE}.log"
# Run suite
make test-acceptance-api TEST_SERVER_URL=$TEST_SERVER_URL EXPECTED_FAILURES_FILE=$EXPECTED_FAILURES_FILE_FROM_CORE BEHAT_SUITE=$SUITE SEND_SCENARIO_LINE_REFERENCES=true > "$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 "=============================================="