#!/usr/bin/env bash # Seed the dev Mongo deterministically and run the REST smoke test. # # smoke/smoke.sh # compare against committed baseline snapshots # smoke/smoke.sh --update # (re)generate the baseline snapshots # # Env overrides: # MONGO_CONTAINER docker container running the dev Mongo (default tcef-mongo32) # MONGO_DB database name (default fuegos) # BASE_URL dev server URL (default http://localhost:3100) set -euo pipefail cd "$(dirname "$0")/.." MONGO_CONTAINER="${MONGO_CONTAINER:-tcef-mongo32}" MONGO_DB="${MONGO_DB:-fuegos}" echo "== Seeding ${MONGO_DB} in ${MONGO_CONTAINER} ==" # Copy the script in and run it as a whole file: the mongo shell evaluates a # file argument atomically (piping via stdin is line-by-line and breaks on # multi-line comments / var scope). docker cp smoke/seed.js "${MONGO_CONTAINER}:/tmp/tcef-seed.js" docker exec "${MONGO_CONTAINER}" mongo "${MONGO_DB}" /tmp/tcef-seed.js | tail -1 echo "== Running REST smoke test against ${BASE_URL:-http://localhost:3100} ==" node smoke/run.js "$@"