#!/usr/bin/env bash
set -x

unset MISE_SOPS_AGE_KEY MISE_SOPS_AGE_KEY_FILE SOPS_AGE_KEY SOPS_AGE_KEY_FILE

cat >age.txt <<'EOF'
# unrelated identity
AGE-SECRET-KEY-1W92VNVAX0YKJX4WQ6SV7T7X2PZYUC0STF5TKJLQ9ZUWM62HLMN3QYQZJ6F

# matching identity
AGE-SECRET-KEY-1EQUCGFZH8UZKSZ0Z5N5T234YRNDT4U9H7QNYXWRRNJYDDVXE6FWSCPGNJ7
EOF

cat >.env.json <<'EOF'
{
	"SECRET": "ENC[AES256_GCM,data:II2ttLXqvIpBLJrIIK/6TQ==,iv:vnFEc+xEFpAvC2y/HJ5r3iQKy06mMkHcGReEC8KABYw=,tag:SdU+3uZSrdVyzULwf9jrGQ==,type:str]",
	"sops": {
		"age": [
			{
				"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2dkhKTGhTK3RqUER2TkM2\nUTVLYThRR1Job1ZPaGZFU0VCYStIV21jT1VFClhKaXZ3K1hGclR1aHhNVWlwelZC\nNkhXL2s5a3JZblM0VEhjSks5QVpDQTQKLS0tIDlFbmdHRmN3ZFNSMzF3d0Z1L2Vs\nQnY0MmQ4YWxGL0loZVRieVJqRUpvRWMK/YRR61rqdABu9dMQd+LvbXeQ2SyEkuZh\nkJpjTpH6y9mJu2o+hKVOBwLSZJxfH9DyuDDtNbiU4lhALL4dM6l+UQ==\n-----END AGE ENCRYPTED FILE-----\n",
				"recipient": "age1se5ghfycr4n8kcwc3qwf234ymvmr2lex2a99wh8gpfx97glwt9hqch4569"
			}
		],
		"lastmodified": "2026-08-15T10:20:11Z",
		"mac": "ENC[AES256_GCM,data:IdyCDYpjoE9JYLPen61YJ1GP8XelCWQyR5U/wH7Y2/wHKFgtairnUG3YtLxzGcx0a5MLyqUk4ny66JD+Nc1JKcfLR+HWLEVk4MFLmkTxNQGXTZ9LTGk/rNYaPy+K5ekRih4Yo4S5fYf1Kvz8oKy+FLtWF87ljy8nqZKvvUVkBo8=,iv:f/0OUbTHBmoWF/1yQ19w6YjY3MkWUi4YIcZZPGTxTaY=,tag:RNWhHdiD1uV+4oV16kSoOw==,type:str]",
		"unencrypted_suffix": "_unencrypted",
		"version": "3.13.3"
	}
}
EOF

cat >mise.toml <<'EOF'
[env]
_.file = ".env.json"

[settings]
experimental = true
sops.rops = true
sops.age_key_file = "./age.txt"
EOF

assert_contains "mise env" "export SECRET=multi-key-secret"
assert_contains "mise exec -- env" "SECRET=multi-key-secret"
