fix: multiuser test — memory_mb + zip invalid + early return
This commit is contained in:
@@ -51,11 +51,14 @@ make_fake_jwt() {
|
|||||||
# make_py_zip zipfile — создаёт zip с Python-функцией + requirements.txt.
|
# make_py_zip zipfile — создаёт zip с Python-функцией + requirements.txt.
|
||||||
# Функция: CREATE TABLE IF NOT EXISTS → INSERT → SELECT COUNT(*) → return.
|
# Функция: CREATE TABLE IF NOT EXISTS → INSERT → SELECT COUNT(*) → return.
|
||||||
# Таблица приходит через env TEST_TABLE (изоляция по namespace).
|
# Таблица приходит через env TEST_TABLE (изоляция по namespace).
|
||||||
|
# Важно: zipfile не должен существовать до вызова zip (иначе zip пытается его
|
||||||
|
# открыть как существующий архив → "Zip file structure invalid").
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
make_py_zip() {
|
make_py_zip() {
|
||||||
local zipfile="$1"
|
local zipfile="$1"
|
||||||
local tmpdir
|
local tmpdir
|
||||||
tmpdir=$(mktemp -d)
|
tmpdir=$(mktemp -d)
|
||||||
|
rm -f "$zipfile" # гарантируем чистый файл — zip создаёт с нуля
|
||||||
# Одинарные кавычки в EOF — чтобы bash не раскрывал $ внутри heredoc
|
# Одинарные кавычки в EOF — чтобы bash не раскрывал $ внутри heredoc
|
||||||
cat > "$tmpdir/pg_tester.py" << 'PYEOF'
|
cat > "$tmpdir/pg_tester.py" << 'PYEOF'
|
||||||
# pg_tester.py — тестовая функция: INSERT/SELECT в PG через env_vars.
|
# pg_tester.py — тестовая функция: INSERT/SELECT в PG через env_vars.
|
||||||
@@ -164,23 +167,27 @@ run_user_test() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# -----------------------------------------------------------------------
|
# -----------------------------------------------------------------------
|
||||||
# U-2: Create service с PG env_vars
|
# U-2: Create service с PG env_vars + memory_mb (обязательное поле, мин 1)
|
||||||
# -----------------------------------------------------------------------
|
# -----------------------------------------------------------------------
|
||||||
local create_json
|
local create_json
|
||||||
create_json=$(printf \
|
create_json=$(printf \
|
||||||
'{"name":"%s","runtime":"python3.11","entrypoint":"pg_tester.handle","env_vars":{"PGHOST":"%s","PGDATABASE":"%s","PGUSER":"%s","PGPASSWORD":"%s","TEST_TABLE":"%s"}}' \
|
'{"name":"%s","runtime":"python3.11","entrypoint":"pg_tester.handle","memory_mb":128,"env_vars":{"PGHOST":"%s","PGDATABASE":"%s","PGUSER":"%s","PGPASSWORD":"%s","TEST_TABLE":"%s"}}' \
|
||||||
"$svc" "$PG_HOST" "$PG_DB" "$PG_USER" "$PG_PASS" "$table")
|
"$svc" "$PG_HOST" "$PG_DB" "$PG_USER" "$PG_PASS" "$table")
|
||||||
code=$(curl -s -o /dev/null -w "%{http_code}" -X POST \
|
local create_body
|
||||||
|
create_body=$(curl -s -w "\n%{http_code}" -X POST \
|
||||||
"$API_BASE/namespaces/${ns}/services" \
|
"$API_BASE/namespaces/${ns}/services" \
|
||||||
-H "Authorization: Bearer $token" \
|
-H "Authorization: Bearer $token" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d "$create_json")
|
-d "$create_json")
|
||||||
|
code=$(printf '%s' "$create_body" | tail -1)
|
||||||
if [[ "$code" == "201" ]]; then
|
if [[ "$code" == "201" ]]; then
|
||||||
echo "U${n}-2 PASS create($code)"
|
echo "U${n}-2 PASS create($code)"
|
||||||
(( pass++ ))
|
(( pass++ ))
|
||||||
else
|
else
|
||||||
echo "U${n}-2 FAIL create=$code"
|
echo "U${n}-2 FAIL create=$code body=$(printf '%s' "$create_body" | head -1)"
|
||||||
(( fail++ ))
|
(( fail++ ))
|
||||||
|
printf '%d %d\n' "$pass" "$fail" > "$RESULTS_DIR/user_${n}.result"
|
||||||
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# -----------------------------------------------------------------------
|
# -----------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user