文件
skills/similarweb-analytics/scripts/test_docker_workflow.sh
2026-03-05 10:28:14 +08:00

41 行
1.2 KiB
Bash
可执行文件

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
RUNTIME_FIXTURE_DIR="$SCRIPT_DIR/tests/fixtures"
OUTPUT_DIR="${1:-$SCRIPT_DIR/../tmp/test-output}"
RUNNER="$SCRIPT_DIR/run_in_docker.sh"
mkdir -p "$OUTPUT_DIR"
echo "[1/4] Build image + self-test"
"$RUNNER" --build --runtime-dir "$RUNTIME_FIXTURE_DIR" --output-dir "$OUTPUT_DIR" -- --self-test
echo "[2/4] Dry-run validation"
"$RUNNER" --runtime-dir "$RUNTIME_FIXTURE_DIR" --output-dir "$OUTPUT_DIR" -- \
--api visits-total \
--domain amazon.com \
--country world \
--dry-run
echo "[3/4] Mock call writes output file"
"$RUNNER" --runtime-dir "$RUNTIME_FIXTURE_DIR" --output-dir "$OUTPUT_DIR" -- \
--api global-rank \
--domain amazon.com \
--mock-result \
--output /data/mock-global-rank.json
test -f "$OUTPUT_DIR/mock-global-rank.json"
echo "[4/4] Fixture ApiClient end-to-end call writes output"
"$RUNNER" --runtime-dir "$RUNTIME_FIXTURE_DIR" --output-dir "$OUTPUT_DIR" -- \
--api traffic-by-country \
--domain amazon.com \
--start-date 2025-12 \
--end-date 2026-02 \
--limit 3 \
--output /data/fixture-traffic-by-country.json
test -f "$OUTPUT_DIR/fixture-traffic-by-country.json"
echo "All tests passed. Output dir: $OUTPUT_DIR"