test: add integration test for issue-2515 (post-renderer with output-dir-template)
Verifies that --post-renderer output is written to files when --output-dir-template is set, instead of pre-renderer content. Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
parent
8de2d66952
commit
9685ec2bb1
|
|
@ -115,6 +115,7 @@ ${kubectl} create namespace ${test_ns} || fail "Could not create namespace ${tes
|
|||
. ${dir}/test-cases/yaml-overwrite.sh
|
||||
. ${dir}/test-cases/chart-needs.sh
|
||||
. ${dir}/test-cases/postrender.sh
|
||||
. ${dir}/test-cases/issue-2515.sh
|
||||
. ${dir}/test-cases/chartify.sh
|
||||
. ${dir}/test-cases/deps-mr-1011.sh
|
||||
. ${dir}/test-cases/deps-kustomization-i-1402.sh
|
||||
|
|
|
|||
|
|
@ -0,0 +1,34 @@
|
|||
issue_2515_case_dir="${cases_dir}/issue-2515"
|
||||
issue_2515_tmp=$(mktemp -d)
|
||||
|
||||
if [ "${HELMFILE_HELM4}" = "1" ]; then
|
||||
info "Skipping issue-2515 test for Helm 4 (post-renderer requires plugin)"
|
||||
test_start "issue-2515 post-renderer with output-dir-template (skipped for Helm 4)"
|
||||
test_pass "issue-2515 post-renderer with output-dir-template (skipped for Helm 4)"
|
||||
else
|
||||
test_start "issue-2515 post-renderer with output-dir-template"
|
||||
info "Testing that --post-renderer output is written to files when --output-dir-template is set"
|
||||
|
||||
issue_2515_output_dir="${issue_2515_tmp}/output"
|
||||
|
||||
${helmfile} -f ${issue_2515_case_dir}/input/helmfile.yaml \
|
||||
template \
|
||||
--post-renderer ${issue_2515_case_dir}/input/filter.bash \
|
||||
--output-dir-template "${issue_2515_output_dir}/{{.Release.Name}}" \
|
||||
&> ${issue_2515_tmp}/log || fail "helmfile template should not fail"
|
||||
|
||||
issue_2515_output_file="${issue_2515_output_dir}/issue-2515/issue-2515.yaml"
|
||||
if [ ! -f "${issue_2515_output_file}" ]; then
|
||||
fail "Expected output file ${issue_2515_output_file} to exist"
|
||||
fi
|
||||
|
||||
if grep -q "original-cm" "${issue_2515_output_file}"; then
|
||||
fail "Output should contain post-renderer output (Namespace), not original templates (original-cm). File contents: $(cat ${issue_2515_output_file})"
|
||||
fi
|
||||
|
||||
if ! grep -q "postrendered" "${issue_2515_output_file}"; then
|
||||
fail "Output should contain post-renderer content (namespace postrendered). File contents: $(cat ${issue_2515_output_file})"
|
||||
fi
|
||||
|
||||
test_pass "issue-2515 post-renderer with output-dir-template"
|
||||
fi
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/env bash
|
||||
printf -- "---\napiVersion: v1\nkind: Namespace\nmetadata:\n name: postrendered\n"
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
releases:
|
||||
- name: issue-2515
|
||||
chart: ../../charts/raw
|
||||
values:
|
||||
- templates:
|
||||
- |
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: original-cm
|
||||
namespace: {{ .Release.Namespace }}
|
||||
data:
|
||||
key: value
|
||||
Loading…
Reference in New Issue