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.
|
||||
# Функция: CREATE TABLE IF NOT EXISTS → INSERT → SELECT COUNT(*) → return.
|
||||
# Таблица приходит через env TEST_TABLE (изоляция по namespace).
|
||||
# Важно: zipfile не должен существовать до вызова zip (иначе zip пытается его
|
||||
# открыть как существующий архив → "Zip file structure invalid").
|
||||
# ---------------------------------------------------------------------------
|
||||
make_py_zip() {
|
||||
local zipfile="$1"
|
||||
local tmpdir
|
||||
tmpdir=$(mktemp -d)
|
||||
rm -f "$zipfile" # гарантируем чистый файл — zip создаёт с нуля
|
||||
# Одинарные кавычки в EOF — чтобы bash не раскрывал $ внутри heredoc
|
||||
cat > "$tmpdir/pg_tester.py" << 'PYEOF'
|
||||
# pg_tester.py — тестовая функция: INSERT/SELECT в PG через env_vars.
|
||||
@@ -164,23 +167,27 @@ run_user_test() {
|
||||
fi
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# U-2: Create service с PG env_vars
|
||||
# U-2: Create service с PG env_vars + memory_mb (обязательное поле, мин 1)
|
||||
# -----------------------------------------------------------------------
|
||||
local create_json
|
||||
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")
|
||||
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" \
|
||||
-H "Authorization: Bearer $token" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "$create_json")
|
||||
code=$(printf '%s' "$create_body" | tail -1)
|
||||
if [[ "$code" == "201" ]]; then
|
||||
echo "U${n}-2 PASS create($code)"
|
||||
(( pass++ ))
|
||||
else
|
||||
echo "U${n}-2 FAIL create=$code"
|
||||
echo "U${n}-2 FAIL create=$code body=$(printf '%s' "$create_body" | head -1)"
|
||||
(( fail++ ))
|
||||
printf '%d %d\n' "$pass" "$fail" > "$RESULTS_DIR/user_${n}.result"
|
||||
return
|
||||
fi
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user