42 lines
1.5 KiB
Bash
42 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Test for issue #2431: Local chart with external dependencies
|
|
#
|
|
# helmfile.yaml has repos configured (vector), but NOT the repo that the
|
|
# local chart depends on (wiremind). The fix ensures that:
|
|
# 1. helm dep build does NOT receive --skip-refresh for local charts
|
|
# 2. helmfile template succeeds without "no cached repository" error
|
|
#
|
|
# This replicates the exact scenario from issue #2431.
|
|
|
|
issue_2431_input_dir="${cases_dir}/issue-2431/input"
|
|
issue_2431_tmp=$(mktemp -d)
|
|
issue_2431_output="${issue_2431_tmp}/template.log"
|
|
|
|
cleanup_issue_2431() {
|
|
rm -rf "${issue_2431_tmp}"
|
|
}
|
|
trap cleanup_issue_2431 EXIT
|
|
|
|
test_start "issue-2431: Local chart with external dependency not in helmfile.yaml"
|
|
|
|
info "Running helmfile template: local chart depends on wiremind repo (not configured in helmfile.yaml)"
|
|
${helmfile} -f "${issue_2431_input_dir}/helmfile.yaml" -e karma template > "${issue_2431_output}" 2>&1 || {
|
|
code=$?
|
|
cat "${issue_2431_output}"
|
|
|
|
# Check if the failure is due to "no cached repository" or "no repository definition" error
|
|
if grep -q "no cached repository" "${issue_2431_output}" || grep -q "no repository definition" "${issue_2431_output}"; then
|
|
fail "Issue #2431 regression: helm dep build received --skip-refresh incorrectly for local chart"
|
|
fi
|
|
|
|
fail "helmfile template failed with exit code ${code}"
|
|
}
|
|
|
|
info "SUCCESS: helmfile template completed successfully"
|
|
info "Template output:"
|
|
cat "${issue_2431_output}"
|
|
|
|
trap - EXIT
|
|
test_pass "issue-2431: Local chart with external dependency not in helmfile.yaml"
|