43 lines
2.1 KiB
Bash
43 lines
2.1 KiB
Bash
# Issue #2409: Test that --sequential-helmfiles works with kubeContext from bases
|
|
# https://github.com/helmfile/helmfile/issues/2409
|
|
#
|
|
# This test replicates the exact user scenario:
|
|
# - Multiple files in helmfile.d/
|
|
# - bases: with relative paths (../bases/) for environments and defaults
|
|
# - Environment values set kubeContext (resolved via .Environment.Values.kubeContext)
|
|
# - Running diff against the minikube cluster to exercise kubeContext resolution
|
|
#
|
|
# Before the fix, os.Chdir() in the sequential path could break relative path
|
|
# resolution, causing kubeContext or KUBECONFIG to not resolve correctly.
|
|
|
|
issue_2409_input_dir="${cases_dir}/issue-2409-sequential-kubecontext/input/helmfile.d"
|
|
issue_2409_tmp=$(mktemp -d)
|
|
|
|
test_start "issue 2409 sequential helmfiles with kubeContext"
|
|
|
|
# Run diff with --sequential-helmfiles to verify kubeContext resolves correctly
|
|
# against the minikube cluster. This would fail with "context does not exist"
|
|
# if path resolution were broken by os.Chdir().
|
|
info "Running helmfile --sequential-helmfiles diff with kubeContext from bases"
|
|
bash -c "${helmfile} --sequential-helmfiles -f ${issue_2409_input_dir} diff --detailed-exitcode; code="'$?'"; [ "'${code}'" -eq 2 ]" \
|
|
|| fail "\"helmfile --sequential-helmfiles diff\" should exit 2 (changes detected)"
|
|
|
|
# Also verify template output contains both releases and the relative values file
|
|
info "Running helmfile --sequential-helmfiles template"
|
|
${helmfile} --sequential-helmfiles -f ${issue_2409_input_dir} template \
|
|
> ${issue_2409_tmp}/sequential.log 2>&1 \
|
|
|| fail "\"helmfile --sequential-helmfiles template\" shouldn't fail"
|
|
|
|
grep -q "test-release-2409" ${issue_2409_tmp}/sequential.log \
|
|
|| fail "release test-release-2409 from 01-app.yaml.gotmpl should be in output"
|
|
|
|
grep -q "test-infra-2409" ${issue_2409_tmp}/sequential.log \
|
|
|| fail "release test-infra-2409 from 02-infra.yaml.gotmpl should be in output"
|
|
|
|
grep -q "common-values-2409" ${issue_2409_tmp}/sequential.log \
|
|
|| fail "relative values file values/common.yaml should be resolved in sequential mode"
|
|
|
|
rm -rf ${issue_2409_tmp}
|
|
|
|
test_pass "issue 2409 sequential helmfiles with kubeContext"
|