- coreshub_pricing_lib.go: CoreHub pricing data extraction and parsing - import_coreshub_pricing.go: importer with dry_run support - import_coreshub_pricing_test.go: unit tests for importer - coreshub_pricing_sample.txt: test fixture
43 lines
1.9 KiB
Bash
Executable File
43 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "$ROOT_DIR"
|
|
|
|
CORESHUB_FIXTURE_PATH="${CORESHUB_FIXTURE_PATH:-./scripts/testdata/coreshub_pricing_sample.txt}"
|
|
CTYUN_CODING_FIXTURE_PATH="${CTYUN_CODING_FIXTURE_PATH:-./scripts/testdata/ctyun_coding_plan_sample.txt}"
|
|
CTYUN_TOKEN_FIXTURE_PATH="${CTYUN_TOKEN_FIXTURE_PATH:-./scripts/testdata/ctyun_token_plan_sample.txt}"
|
|
|
|
last_meaningful_line() {
|
|
awk 'NF && $0 !~ /^exit status [0-9]+$/ { line=$0 } END { print line }'
|
|
}
|
|
|
|
run_smoke() {
|
|
local name="$1"
|
|
local command="$2"
|
|
local output rc tail
|
|
|
|
set +e
|
|
output="$(bash -lc "$command" 2>&1)"
|
|
rc=$?
|
|
set -e
|
|
|
|
printf '%s\n' "$output"
|
|
if [[ "$rc" -eq 0 ]]; then
|
|
echo "[PASS] importer_smoke=${name}"
|
|
return 0
|
|
fi
|
|
|
|
tail="$(printf '%s\n' "$output" | last_meaningful_line)"
|
|
echo "[FAIL] importer_smoke=${name} detail=${tail:-unknown failure}"
|
|
return 1
|
|
}
|
|
|
|
run_smoke "coreshub-fixture" "go run -tags llm_script ./scripts/subscription_import_common.go ./scripts/official_pricing_import_common.go ./scripts/coreshub_pricing_lib.go ./scripts/import_coreshub_pricing.go -fixture ${CORESHUB_FIXTURE_PATH@Q} -dry-run"
|
|
run_smoke "coreshub-live" "go run -tags llm_script ./scripts/subscription_import_common.go ./scripts/official_pricing_import_common.go ./scripts/coreshub_pricing_lib.go ./scripts/import_coreshub_pricing.go -dry-run"
|
|
run_smoke "ctyun-fixture" "go run -tags llm_script ./scripts/subscription_import_common.go ./scripts/ctyun_subscription_lib.go ./scripts/import_ctyun_subscription.go -coding-fixture ${CTYUN_CODING_FIXTURE_PATH@Q} -token-fixture ${CTYUN_TOKEN_FIXTURE_PATH@Q} -dry-run"
|
|
run_smoke "ctyun-live" "go run -tags llm_script ./scripts/subscription_import_common.go ./scripts/ctyun_subscription_lib.go ./scripts/import_ctyun_subscription.go -dry-run"
|
|
|
|
echo "IMPORTER_SMOKE_RESULT: PASS"
|