Files
Munitor/tests/install_java.bats
James MaesandGPT-6 ae7d93328f fix(#18): unblock website release CI
Closes #18

Co-Authored-By: GPT-6 <codex@openai.com>
Signed-off-by: James Maes <jmaes@dmdbrands.com>
2026-10-10 15:06:49 -05:00

33 lines
1.1 KiB
Bash

#!/usr/bin/env bats
setup() {
export PROJECT_DIR="${BATS_TEST_DIRNAME}/.."
export WORK="${BATS_TEST_TMPDIR}/work"
mkdir -p "${WORK}/bin"
export BASH_ENV="${WORK}/bash-env" JAVA_VERSION=21
export APT_CALLS="${WORK}/apt-calls"
cat > "${WORK}/bin/sudo" <<'MOCK'
#!/usr/bin/env bash
if [[ "$1" == env ]]; then
[[ "$2" == DEBIAN_FRONTEND=noninteractive && "$3" == NEEDRESTART_MODE=a && "$4" == apt-get ]] || exit 2
printf '%s\n' "$*" >> "$APT_CALLS"
elif [[ "$1" == tee ]]; then
cat > /dev/null
fi
MOCK
printf '#!/usr/bin/env bash\necho key\n' > "${WORK}/bin/curl"
printf '#!/usr/bin/env bash\necho amd64\n' > "${WORK}/bin/dpkg"
printf '#!/usr/bin/env bash\necho java-version-21\n' > "${WORK}/bin/java"
chmod +x "${WORK}/bin/"*
export PATH="${WORK}/bin:${PATH}"
}
@test "APT update and Java installation cannot open an interactive restart prompt" {
run bash "${PROJECT_DIR}/src/scripts/install_java.sh"
[ "$status" -eq 0 ]
[ "$(wc -l < "$APT_CALLS")" -eq 2 ]
grep -q 'apt-get update -qq' "$APT_CALLS"
grep -q 'apt-get install -y -qq temurin-21-jdk' "$APT_CALLS"
grep -q "export JAVA_HOME='/usr/lib/jvm/temurin-21-jdk-amd64'" "$BASH_ENV"
}