Skip to content

Integration Tests

Integration Tests #590

name: Integration Tests
on:
push:
branches: [ main ]
workflow_dispatch:
schedule:
- cron: '0 */6 * * *' # Every 6 hours
jobs:
integration-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest httpx pytest-asyncio fastmcp
- name: Wait for Railway deployment
run: |
echo "Waiting for Railway deployment to complete..."
for i in {1..20}; do
if curl -f -I https://strunz.up.railway.app/ 2>/dev/null; then
echo "Railway deployment is ready!"
break
fi
echo "Attempt $i/20 - Deployment not ready yet..."
sleep 30
done
- name: Run integration tests
env:
MCP_SERVER_URL: https://strunz.up.railway.app
run: |
python src/tests/test_production_mcp.py
- name: Test SSE endpoint
run: |
echo "Testing SSE endpoint..."
timeout 10s curl https://strunz.up.railway.app/sse || true
- name: Health check summary
if: always()
run: |
echo "=== Health Check Summary ==="
echo "Root endpoint:"
curl -I https://strunz.up.railway.app/ 2>/dev/null | head -5
echo ""
echo "SSE endpoint:"
curl -I https://strunz.up.railway.app/sse 2>/dev/null | head -5