wip: локальный коммит всех изменений, включая новые тесты, артефакты и правки UI/infra
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash
|
||||
# Тест загрузки функций из архива для 4 языков
|
||||
# НЕ запускать автоматически! Только ручной вызов из run_all.sh или отдельно.
|
||||
|
||||
set -euo pipefail
|
||||
ROOT_DIR=$(cd "$(dirname "$0")" && pwd)
|
||||
API_URL="https://fission.kube5s.ru/console/api"
|
||||
|
||||
# Примеры: test-archive-py, test-archive-node, ...
|
||||
LANGS=(py node ruby php)
|
||||
FILES=(py-hello.zip node-hello.zip ruby-hello.zip php-hello.zip)
|
||||
RUNTIMES=(python nodejs ruby php)
|
||||
|
||||
for i in ${!LANGS[@]}; do
|
||||
lang="${LANGS[$i]}"
|
||||
file="${FILES[$i]}"
|
||||
runtime="${RUNTIMES[$i]}"
|
||||
FN="t-archive-${lang}-$(date +%s%N | tail -c 6)"
|
||||
SUB="test-archive-${lang}@test.local"
|
||||
echo "=== [${lang}] Тест архива: $file, runtime: $runtime, fn: $FN ==="
|
||||
# 1. Загрузка архива (multipart)
|
||||
RESP=$(curl -s -X POST "$API_URL/packages" \
|
||||
-H "X-Auth-Token: $SUB" \
|
||||
-F "file=@../test-archives/$file" \
|
||||
-F "runtime=$runtime")
|
||||
PKG_ID=$(echo "$RESP" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
if [[ -z "$PKG_ID" ]]; then
|
||||
echo "[FAIL] Не удалось загрузить архив ($file): $RESP"
|
||||
continue
|
||||
fi
|
||||
echo "[OK] Архив загружен, package id: $PKG_ID"
|
||||
# 2. Создание функции
|
||||
RESP=$(curl -s -X POST "$API_URL/functions" \
|
||||
-H "X-Auth-Token: $SUB" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"name\":\"$FN\",\"package\":\"$PKG_ID\",\"runtime\":\"$runtime\"}")
|
||||
if echo "$RESP" | grep -q '"error"'; then
|
||||
echo "[FAIL] Не удалось создать функцию: $RESP"
|
||||
continue
|
||||
fi
|
||||
echo "[OK] Функция создана: $FN"
|
||||
# 3. Вызов функции
|
||||
RESP=$(curl -s -X POST "$API_URL/functions/$FN/invoke" \
|
||||
-H "X-Auth-Token: $SUB" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{}')
|
||||
echo "Invoke response: $RESP"
|
||||
# 4. Удаление функции
|
||||
curl -s -X DELETE "$API_URL/functions/$FN" -H "X-Auth-Token: $SUB" > /dev/null
|
||||
echo "[OK] Функция удалена: $FN"
|
||||
done
|
||||
|
||||
echo "Тесты архивов подготовлены. Для запуска — вручную или из run_all.sh."
|
||||
Reference in New Issue
Block a user