#!/usr/bin/env bash
# Stub docker for the pg layout guard tests. Records every call in $STUB_LOG.
# Env: STUB_EXISTS=1 STUB_MOUNTS="dest|src\n..." STUB_REF STUB_IMGID
#      STUB_IMGMAJ="ref=major ref=major" (image inspect PG_MAJOR by ref/id)
echo "docker $*" >> "$STUB_LOG"
case "$1" in
  ps) case "$*" in *Status*) echo "Up 1 second" ;; *) [ "${STUB_EXISTS:-0}" = 1 ] && echo postgresql ;; esac ;;
  inspect)
    fmt="$*"
    case "$fmt" in
      *.Mounts*) printf '%b\n' "${STUB_MOUNTS:-}" ;;
      *.Config.Image*) echo "${STUB_REF:-}" ;;
      *"{{.Image}}"*) echo "${STUB_IMGID:-sha256:live}" ;;
    esac ;;
  image)
    ref="$3"
    for kv in ${STUB_IMGMAJ:-}; do
      if [ "${kv%%=*}" = "$ref" ]; then printf 'PATH=/x\nPG_MAJOR=%s\nPGDATA=/y\n' "${kv#*=}"; exit 0; fi
    done
    exit 1 ;;
  pull|stop|rm|run) exit 0 ;;
  *) exit 0 ;;
esac
