Files
api_test/.github/workflows/api-tests.yml
T
kankys d0cdabbf11 refactor: restructure to monorepo with backends and apiTest
- Move web/backend to backends/potter-api
- Move web/frontend to backends/potter-api/frontend
- Add root package.json with npm workspaces
- Update README.md with monorepo navigation
- Update .github/workflows/api-tests.yml for dynamic test discovery
- Update bruno_test_scenario.md paths
- Fix .gitignore to allow JSON data files
- Add three new AI tests in apiTest/PotterAPI/AI/

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-09-15 21:08:39 +02:00

91 lines
2.9 KiB
YAML

name: Run Bruno API Tests
# Pipeline se spustí při každém pushnutí nebo Pull Requestu do hlavní větvě
on:
push:
branches: [ "main", "master" ]
pull_request:
branches: [ "main", "master" ]
jobs:
test:
runs-on: ubuntu-latest
steps:
# 1. Krok: Stáhne kód z repozitáře do runneru
- name: Checkout repository code
uses: actions/checkout@v4
# 2. Krok: Připraví prostředí Node.js
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
# 3. Krok: Instalace závislostí v rootu
- name: Install root dependencies
run: |
npm install
# 4. Krok: Spuštění PotterAPI backendu
- name: Start PotterAPI Backend
run: |
cd backends/potter-api
npm install
echo "PORT=3000" > .env
node app.js > server.log 2>&1 &
# 5. Krok: Vyčkání na server pomocí obyčejné smyčky s curl
- name: Wait for PotterAPI server to be ready
run: |
echo "Čekám na naběhnutí PotterAPI serveru..."
until curl -s http://127.0.0.1:3000 > /dev/null; do
sleep 1
done
echo "PotterAPI server běží a odpovídá!"
# 6. Krok: Spustí všechny Bruno testy v apiTest
- name: Run all Bruno API Tests
run: |
echo "Spouštím všechny testovací kolekce..."
# Získat seznam všech složek v apiTest (kromě node_modules)
TEST_DIRS=$(find apiTest -mindepth 1 -maxdepth 1 -type d ! -name "node_modules" ! -name ".git" | sort)
echo "Nalezené testovací kolekce: ${TEST_DIRS}"
# Spustit testy pro každou kolekci
ALL_PASSED=true
for dir in $TEST_DIRS; do
echo "=========================================="
echo "Spouštím testy pro: $dir"
echo "=========================================="
# Spust testy a zachyt výsledek
if npx @usebruno/cli run "${dir#apiTest/}" -r; then
echo "✅ Testy pro $(basename $dir) prošly"
else
echo "❌ Testy pro $(basename $dir) selhaly"
ALL_PASSED=false
fi
done
echo "=========================================="
echo "Výsledek všech testů"
echo "=========================================="
if [ "$ALL_PASSED" = true ]; then
echo "✅ Všechny testy prošly!"
exit 0
else
echo "❌ Některé testy selhaly"
exit 1
fi
# 7. Krok: Zobrazení server logů při selhání
- name: Show server logs on failure
if: failure()
run: |
echo "Server logs:"
cat backends/potter-api/server.log || echo "Log soubor nebyl nalezen"