Удалены все Go-ссылки из tests_v2.sh (переменная GO_NS и БЛОК AE)
This commit is contained in:
-34
@@ -10,7 +10,6 @@ RUN_ID=$(echo "$RUN_ID" | sha256sum 2>/dev/null | head -c 8 || echo "${RUN_ID}"
|
||||
|
||||
cleanup_namespaces() {
|
||||
local subs=()
|
||||
subs+=("${GO_NS}")
|
||||
subs+=("alice@test.local" "routetest-alice@test.local" "routetest-bob@test.local")
|
||||
subs+=("val-user@test.local" "dup-user@test.local" "upd-user@test.local" "get-user@test.local")
|
||||
subs+=("ns-u1@test.local" "ns-u2@test.local" "alice-del@test.local" "carol-del@test.local")
|
||||
@@ -38,12 +37,6 @@ cleanup_namespaces() {
|
||||
}
|
||||
trap cleanup_namespaces EXIT
|
||||
|
||||
# GO_NS фиксированный — namespace создаётся один раз, Fission не рестартует при повторных прогонах.
|
||||
# Первый прогон занимает ~5 мин (rolling restart Fission), последующие — мгновенно.
|
||||
GO_NS="go-livetest@test.local"
|
||||
# Триггерим ensureUserNamespace заранее — Fission начнёт регистрировать NS пока идут остальные тесты.
|
||||
curl -s -o /dev/null -X GET ${BASE}/functions -H "X-Test-Sub: ${GO_NS}" || true
|
||||
|
||||
pass() { PASS=$((PASS+1)); echo " PASS: $1"; }
|
||||
fail() { FAIL=$((FAIL+1)); echo " FAIL: $1"; }
|
||||
check_http() { local got=$1 want=$2 label=$3; [ "$got" = "$want" ] && pass "$label (HTTP $got)" || fail "$label --- got HTTP $got, want $want"; }
|
||||
@@ -783,33 +776,6 @@ check_http "$CODE" "400" "Невалидный язык cobol → 400"
|
||||
|
||||
# ──────────────────────────────────────────────
|
||||
echo ""
|
||||
echo ">>> БЛОК AE: Go — создание и вызов"
|
||||
|
||||
# Go: namespace GO_NS уже прогрет в начале теста (curl в самом верху).
|
||||
# При первом прогоне Fission делает rolling restart (~5 мин) — retry до 600s покрывает это.
|
||||
# При последующих прогонах NS уже зарегистрирован → invoke занимает ~10-15s.
|
||||
GO_CODE=$(python3 -c "import json; print(json.dumps('package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n)\n\nfunc Handler(w http.ResponseWriter, r *http.Request) {\n\tfmt.Fprintf(w, \"go-ok\")\n}'))")
|
||||
# Удаляем старую функцию если осталась от прошлого прогона (игнорируем ошибку)
|
||||
curl -s -o /dev/null -X DELETE ${BASE}/functions/go-fn -H "X-Test-Sub: ${GO_NS}" || true
|
||||
R=$(curl -s -w "\n%{http_code}" -X POST ${BASE}/functions \
|
||||
-H "X-Test-Sub: ${GO_NS}" -H "Content-Type: application/json" \
|
||||
-d "{\"name\":\"go-fn\",\"language\":\"go\",\"code\":${GO_CODE},\"ttl\":\"30m\"}")
|
||||
CODE=$(echo "$R" | tail -1)
|
||||
check_http "$CODE" "201" "Go: create → 201"
|
||||
|
||||
# Retry до 600s (60 итераций × 10s): первый прогон — ждём Fission rolling restart + build + pool pod.
|
||||
STATUS=""; RAW=""
|
||||
for _try in $(seq 1 60); do
|
||||
sleep 10
|
||||
INV=$(curl -s -X POST ${BASE}/functions/go-fn/invoke \
|
||||
-H "X-Test-Sub: ${GO_NS}")
|
||||
STATUS=$(echo "$INV" | python3 -c "import sys,json; print(json.load(sys.stdin).get('status','?'))" 2>/dev/null)
|
||||
RAW=$(echo "$INV" | python3 -c "import sys,json; print(json.load(sys.stdin).get('response_raw','?'))" 2>/dev/null)
|
||||
[ "$STATUS" = "200" ] && break
|
||||
done
|
||||
[ "$STATUS" = "200" ] && pass "Go: invoke → 200" || fail "Go: invoke → got $STATUS (body: $RAW)"
|
||||
echo "$RAW" | grep -q "go-ok" && pass "Go: тело содержит go-ok" || fail "Go: тело не содержит go-ok (got: $RAW)"
|
||||
|
||||
# ──────────────────────────────────────────────
|
||||
echo ""
|
||||
echo "========================================"
|
||||
|
||||
Reference in New Issue
Block a user