Files
mkt.ose.tw/scripts/editor_smoke_test.sh
2026-03-23 20:23:58 +08:00

103 lines
2.1 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
API_BASE_URL="${API_BASE_URL:-}"
ACCESS_TOKEN="${ACCESS_TOKEN:-}"
VARIANT_ID="${VARIANT_ID:-}"
BASE_URL="${BASE_URL:-}"
if [[ -z "${API_BASE_URL}" ]]; then
echo "Missing API_BASE_URL"
exit 1
fi
if [[ -z "${ACCESS_TOKEN}" ]]; then
echo "Missing ACCESS_TOKEN"
exit 1
fi
if [[ -z "${VARIANT_ID}" ]]; then
echo "Missing VARIANT_ID"
exit 1
fi
if [[ -z "${BASE_URL}" ]]; then
echo "Missing BASE_URL"
exit 1
fi
AUTH_HEADER="Authorization: Bearer ${ACCESS_TOKEN}"
CONTENT_HEADER="Content-Type: application/json"
echo ""
echo "== Create Editor Session =="
curl --silent --show-error --fail \
-X POST \
-H "${AUTH_HEADER}" \
-H "${CONTENT_HEADER}" \
-d "{
\"variant_id\": \"${VARIANT_ID}\",
\"base_url\": \"${BASE_URL}\",
\"mode\": \"edit\"
}" \
"${API_BASE_URL}/api/editor/sessions"
echo ""
echo ""
echo "== Load Variant Changes =="
curl --silent --show-error --fail \
-H "${AUTH_HEADER}" \
"${API_BASE_URL}/api/editor/variants/${VARIANT_ID}/changes"
echo ""
echo ""
echo "== Save Variant Changes =="
curl --silent --show-error --fail \
-X PUT \
-H "${AUTH_HEADER}" \
-H "${CONTENT_HEADER}" \
-d "{
\"items\": [
{
\"change_type\": \"replace_text\",
\"selector_type\": \"css\",
\"selector_value\": \"h1\",
\"sort_order\": 0,
\"enabled\": true,
\"payload\": {
\"text\": \"Smoke Test Heading\"
}
}
]
}" \
"${API_BASE_URL}/api/editor/variants/${VARIANT_ID}/changes"
echo ""
echo ""
echo "== Build Preview =="
curl --silent --show-error --fail \
-X POST \
-H "${AUTH_HEADER}" \
-H "${CONTENT_HEADER}" \
-d "{
\"variant_id\": \"${VARIANT_ID}\",
\"items\": [
{
\"change_type\": \"replace_text\",
\"selector_type\": \"css\",
\"selector_value\": \"h1\",
\"sort_order\": 0,
\"enabled\": true,
\"payload\": {
\"text\": \"Smoke Test Heading\"
}
}
]
}" \
"${API_BASE_URL}/api/editor/previews/build"
echo ""
echo ""
echo "Editor smoke test completed."