رفع الملفات إلى "/"
هذا الالتزام موجود في:
48
test._api.sh
Normal file
48
test._api.sh
Normal file
@@ -0,0 +1,48 @@
|
||||
|
||||
BASE="http://localhost:5000"
|
||||
OUT_LOG="test_results.log"
|
||||
echo "Starting API tests at $(date -u)" > "$OUT_LOG"
|
||||
|
||||
# helper
|
||||
do_request() {
|
||||
local method=$1
|
||||
local url=$2
|
||||
local data=$3
|
||||
echo "---- $method $url" | tee -a "$OUT_LOG"
|
||||
if [ -n "$data" ]; then
|
||||
curl -s -w "\nHTTP_CODE:%{http_code}\nTIME_TOTAL:%{time_total}\n" -X "$method" -H "Content-Type: application/json" -d "$data" "$url" >> "$OUT_LOG"
|
||||
else
|
||||
curl -s -w "\nHTTP_CODE:%{http_code}\nTIME_TOTAL:%{time_total}\n" -X "$method" "$url" >> "$OUT_LOG"
|
||||
fi
|
||||
echo -e "\n" >> "$OUT_LOG"
|
||||
sleep 0.5
|
||||
}
|
||||
|
||||
|
||||
do_request GET "$BASE/items"
|
||||
|
||||
# 2) POST create item
|
||||
do_request POST "$BASE/items" '{"name":"Test Item 1","price":12.5}'
|
||||
|
||||
# 3) POST create another
|
||||
do_request POST "$BASE/items" '{"name":"Test Item 2","price":5.0}'
|
||||
|
||||
# 4) GET items (should list 2)
|
||||
do_request GET "$BASE/items"
|
||||
|
||||
# 5) GET single item (id 1)
|
||||
do_request GET "$BASE/items/1"
|
||||
|
||||
# 6) PUT update item 1
|
||||
do_request PUT "$BASE/items/1" '{"name":"Test Item 1 updated","price":15.0}'
|
||||
|
||||
# 7) POST create order (valid)
|
||||
do_request POST "$BASE/orders" '{"item_id":1,"quantity":2}'
|
||||
|
||||
# 8) POST create order (invalid item -> triggers 400)
|
||||
do_request POST "$BASE/orders" '{"item_id":9999,"quantity":1}'
|
||||
do_request DELETE "$BASE/items/2"
|
||||
do_request GET "$BASE/items"
|
||||
|
||||
echo "Tests finished at $(date -u)" >> "$OUT_LOG"
|
||||
echo "Results written to $OUT_LOG"
|
المرجع في مشكلة جديدة
حظر مستخدم