Add Actions #2
@@ -20,11 +20,27 @@ jobs:
|
||||
pip install -r requirements.txt
|
||||
pip install uvicorn
|
||||
|
||||
- name: Check FastAPI startup
|
||||
- name: Check FastAPI startup and protected endpoints
|
||||
run: |
|
||||
uvicorn main:app --host 127.0.0.1 --port 8000 &
|
||||
sleep 5
|
||||
curl --fail http://127.0.0.1:8000/ || (echo 'FastAPI did not start!' && exit 1)
|
||||
# Test: /stats should not be available without login
|
||||
status=$(curl -s -o /dev/null -w "%{http_code}" http://127.0.0.1:8000/stats)
|
||||
if [ "$status" = "303" ] || [ "$status" = "401" ] || [ "$status" = "403" ]; then
|
||||
echo "Access to /stats correctly denied for unauthenticated user."
|
||||
else
|
||||
echo "Access to /stats should be denied, got status $status"
|
||||
exit 1
|
||||
fi
|
||||
# Test: POST /drink should not be available without login
|
||||
status=$(curl -s -o /dev/null -w "%{http_code}" -X POST http://127.0.0.1:8000/drink)
|
||||
if [ "$status" = "303" ] || [ "$status" = "401" ] || [ "$status" = "403" ]; then
|
||||
echo "POST to /drink correctly denied for unauthenticated user."
|
||||
else
|
||||
echo "POST to /drink should be denied, got status $status"
|
||||
exit 1
|
||||
fi
|
||||
env:
|
||||
SECRET_KEY: test_secret
|
||||
DATABASE_FILE: test.db
|
||||
|
||||
Reference in New Issue
Block a user