#!/usr/bin/env bash

export MISE_LOCKFILE=1
export MISE_AQUA_BAKED_REGISTRY=0

HTTP_PORT_FILE="$TMPDIR/mise_http_test_port"
MISE_HTTP_TEST_PORT_FILE="$HTTP_PORT_FILE" python3 "${TEST_ROOT}/helpers/scripts/http_test_server.py" 0 &
HTTP_SERVER_PID=$!

cleanup() {
  kill "$HTTP_SERVER_PID" 2>/dev/null || true
}
trap cleanup EXIT

wait_for_file "$HTTP_PORT_FILE" "HTTP test server port file" 30 "$HTTP_SERVER_PID"
HTTP_PORT=$(cat "$HTTP_PORT_FILE")

REGISTRY_DIR="$PWD/aqua-registry-local"
mkdir -p "$REGISTRY_DIR"

cat <<EOF >"$REGISTRY_DIR/registry.yaml"
packages:
  - type: http
    name: example/v-prefix
    url: http://127.0.0.1:$HTTP_PORT/tool-{{.Version}}
    format: raw
    supported_envs:
      - linux
EOF

export MISE_AQUA_REGISTRY_URL="file://$REGISTRY_DIR"

cat <<'EOF' >mise.toml
[tools]
"aqua:example/v-prefix" = "1.2.3"
EOF

mise lock --platform linux-x64

assert_contains "cat mise.lock" "url = \"http://127.0.0.1:$HTTP_PORT/tool-v1.2.3\""
assert_not_contains "cat mise.lock" "url = \"http://127.0.0.1:$HTTP_PORT/tool-1.2.3\""
