feat(import): add CoreHub pricing collector and importer
- 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
This commit is contained in:
41
scripts/report_state_tracking_test.sh
Executable file
41
scripts/report_state_tracking_test.sh
Executable file
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
source .env.local 2>/dev/null || true
|
||||
source .env 2>/dev/null || true
|
||||
source scripts/report_utils.sh
|
||||
|
||||
if [[ -z "${DATABASE_URL:-}" ]]; then
|
||||
echo "DATABASE_URL is required"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TEST_DATE="2099-01-01"
|
||||
cleanup() {
|
||||
psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -c "DELETE FROM report_runs WHERE report_date = DATE '$TEST_DATE'; DELETE FROM daily_report WHERE report_date = DATE '$TEST_DATE';" >/dev/null
|
||||
}
|
||||
trap cleanup EXIT
|
||||
cleanup
|
||||
|
||||
track_report_state "$DATABASE_URL" "$TEST_DATE" generated 123 'official summary' 'reports/daily/daily_report_2099-01-01.md' '' scheduled cron true >/dev/null
|
||||
|
||||
OFFICIAL_ROW="$(psql "$DATABASE_URL" -Atqc "SELECT status || '|' || run_kind || '|' || trigger_source || '|' || is_official_daily::text FROM daily_report WHERE report_date = DATE '$TEST_DATE';")"
|
||||
[[ "$OFFICIAL_ROW" == "generated|scheduled|cron|true" ]]
|
||||
|
||||
OFFICIAL_RUN_COUNT="$(psql "$DATABASE_URL" -Atqc "SELECT count(*) FROM report_runs WHERE report_date = DATE '$TEST_DATE';")"
|
||||
[[ "$OFFICIAL_RUN_COUNT" == "1" ]]
|
||||
|
||||
track_report_state "$DATABASE_URL" "$TEST_DATE" failed '' '' '' 'manual failed' manual pipeline false >/dev/null
|
||||
|
||||
MANUAL_ROW="$(psql "$DATABASE_URL" -Atqc "SELECT status || '|' || run_kind || '|' || trigger_source || '|' || is_official_daily::text FROM daily_report WHERE report_date = DATE '$TEST_DATE';")"
|
||||
[[ "$MANUAL_ROW" == "generated|scheduled|cron|true" ]]
|
||||
|
||||
RUN_ROWS="$(psql "$DATABASE_URL" -Atqc "SELECT string_agg(status || '|' || run_kind || '|' || trigger_source || '|' || is_official_daily::text, E'\n' ORDER BY id) FROM report_runs WHERE report_date = DATE '$TEST_DATE';")"
|
||||
EXPECTED_ROWS=$'generated|scheduled|cron|true\nfailed|manual|pipeline|false'
|
||||
[[ "$RUN_ROWS" == "$EXPECTED_ROWS" ]]
|
||||
|
||||
echo "report_state_tracking_test: PASS"
|
||||
Reference in New Issue
Block a user