#!/usr/bin/env bash

export MISE_LOCKFILE=1

cat <<EOF >mise.toml
[tools]
dummy = "3.0.0"
EOF

cat <<EOF >mise.lock
$LOCKFILE_HEADER

[[tools.dummy]]
version = "1.0.0"
backend = "asdf:dummy"

[tools.dummy.platforms.linux-x64]
checksum = "sha256:old"
EOF

mise cache clear dummy

assert_fail_contains "RTX_FAILURE=1 mise lock dummy --platform linux-x64 2>&1" "failed to resolve"
assert_contains "cat mise.lock" 'version = "1.0.0"'
assert_not_contains "cat mise.lock" 'version = "3.0.0"'

assert_fail_contains "RTX_FAILURE=1 mise lock --platform linux-x64 2>&1" "failed to resolve"
assert_contains "cat mise.lock" 'version = "1.0.0"'
assert_not_contains "cat mise.lock" 'version = "3.0.0"'

cat <<EOF >mise.toml
[tools]
dummy = "3.0.0"
jq = "1.7.1"
EOF

cat <<EOF >mise.lock
$LOCKFILE_HEADER

[[tools.dummy]]
version = "1.0.0"
backend = "asdf:dummy"

[tools.dummy.platforms.linux-x64]
checksum = "sha256:old"
EOF

output=$(RTX_FAILURE=1 mise lock jq --platform linux-x64 2>&1)
assert_contains "echo '$output'" "Processing 1 tool(s)"
assert_not_contains "echo '$output'" "failed to resolve dummy@3.0.0"
assert_contains "cat mise.lock" 'version = "1.7.1"'
assert_not_contains "cat mise.lock" 'version = "3.0.0"'
