test: simplify newTestHelmStateWithFiles by removing empty cleanup func
Agent-Logs-Url: https://github.com/helmfile/helmfile/sessions/5da5c9d8-7464-4146-84b5-1433ed6193f3 Co-authored-by: yxxhero <11087727+yxxhero@users.noreply.github.com>
This commit is contained in:
parent
e8fee8b84c
commit
c66017c266
|
|
@ -1097,7 +1097,7 @@ func TestMergedReleaseTemplateData_InlineValues(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func newTestHelmStateWithFiles(t *testing.T, files map[string]string, basePath string) (*HelmState, func()) {
|
func newTestHelmStateWithFiles(t *testing.T, files map[string]string, basePath string) *HelmState {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
logger := zaptest.NewLogger(t).Sugar()
|
logger := zaptest.NewLogger(t).Sugar()
|
||||||
valsRuntime, err := vals.New(vals.Options{CacheSize: 32})
|
valsRuntime, err := vals.New(vals.Options{CacheSize: 32})
|
||||||
|
|
@ -1106,7 +1106,7 @@ func newTestHelmStateWithFiles(t *testing.T, files map[string]string, basePath s
|
||||||
testFs := testhelper.NewTestFs(files)
|
testFs := testhelper.NewTestFs(files)
|
||||||
testFs.Cwd = basePath
|
testFs.Cwd = basePath
|
||||||
|
|
||||||
st := &HelmState{
|
return &HelmState{
|
||||||
logger: logger,
|
logger: logger,
|
||||||
fs: testFs.ToFileSystem(),
|
fs: testFs.ToFileSystem(),
|
||||||
valsRuntime: valsRuntime,
|
valsRuntime: valsRuntime,
|
||||||
|
|
@ -1114,12 +1114,10 @@ func newTestHelmStateWithFiles(t *testing.T, files map[string]string, basePath s
|
||||||
FilePath: basePath + "/helmfile.yaml",
|
FilePath: basePath + "/helmfile.yaml",
|
||||||
RenderedValues: map[string]any{},
|
RenderedValues: map[string]any{},
|
||||||
}
|
}
|
||||||
return st, func() {}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestResolveReleaseValues_Empty(t *testing.T) {
|
func TestResolveReleaseValues_Empty(t *testing.T) {
|
||||||
st, cleanup := newTestHelmStateWithFiles(t, map[string]string{}, "/project")
|
st := newTestHelmStateWithFiles(t, map[string]string{}, "/project")
|
||||||
defer cleanup()
|
|
||||||
|
|
||||||
release := &ReleaseSpec{Name: "myrelease", Chart: "mychart"}
|
release := &ReleaseSpec{Name: "myrelease", Chart: "mychart"}
|
||||||
result, err := st.resolveReleaseValues(release)
|
result, err := st.resolveReleaseValues(release)
|
||||||
|
|
@ -1134,10 +1132,9 @@ image:
|
||||||
repository: nginx
|
repository: nginx
|
||||||
tag: "1.21"
|
tag: "1.21"
|
||||||
`
|
`
|
||||||
st, cleanup := newTestHelmStateWithFiles(t, map[string]string{
|
st := newTestHelmStateWithFiles(t, map[string]string{
|
||||||
valuesFile: valuesContent,
|
valuesFile: valuesContent,
|
||||||
}, "/project")
|
}, "/project")
|
||||||
defer cleanup()
|
|
||||||
|
|
||||||
release := &ReleaseSpec{
|
release := &ReleaseSpec{
|
||||||
Name: "myrelease",
|
Name: "myrelease",
|
||||||
|
|
@ -1155,8 +1152,7 @@ image:
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestResolveReleaseValues_InlineMap(t *testing.T) {
|
func TestResolveReleaseValues_InlineMap(t *testing.T) {
|
||||||
st, cleanup := newTestHelmStateWithFiles(t, map[string]string{}, "/project")
|
st := newTestHelmStateWithFiles(t, map[string]string{}, "/project")
|
||||||
defer cleanup()
|
|
||||||
|
|
||||||
release := &ReleaseSpec{
|
release := &ReleaseSpec{
|
||||||
Name: "myrelease",
|
Name: "myrelease",
|
||||||
|
|
@ -1190,11 +1186,10 @@ service:
|
||||||
ingress:
|
ingress:
|
||||||
enabled: true
|
enabled: true
|
||||||
`
|
`
|
||||||
st, cleanup := newTestHelmStateWithFiles(t, map[string]string{
|
st := newTestHelmStateWithFiles(t, map[string]string{
|
||||||
baseValuesFile: baseValuesContent,
|
baseValuesFile: baseValuesContent,
|
||||||
overrideValuesFile: overrideValuesContent,
|
overrideValuesFile: overrideValuesContent,
|
||||||
}, "/project")
|
}, "/project")
|
||||||
defer cleanup()
|
|
||||||
|
|
||||||
release := &ReleaseSpec{
|
release := &ReleaseSpec{
|
||||||
Name: "myrelease",
|
Name: "myrelease",
|
||||||
|
|
@ -1222,10 +1217,9 @@ func TestResolveReleaseValues_FileAndInlineMerged(t *testing.T) {
|
||||||
valuesFile := "/project/values.yaml"
|
valuesFile := "/project/values.yaml"
|
||||||
valuesContent := `replicaCount: 1
|
valuesContent := `replicaCount: 1
|
||||||
`
|
`
|
||||||
st, cleanup := newTestHelmStateWithFiles(t, map[string]string{
|
st := newTestHelmStateWithFiles(t, map[string]string{
|
||||||
valuesFile: valuesContent,
|
valuesFile: valuesContent,
|
||||||
}, "/project")
|
}, "/project")
|
||||||
defer cleanup()
|
|
||||||
|
|
||||||
release := &ReleaseSpec{
|
release := &ReleaseSpec{
|
||||||
Name: "myrelease",
|
Name: "myrelease",
|
||||||
|
|
@ -1249,10 +1243,9 @@ func TestRenderValuesFileToBytesWithData_PlainYAML(t *testing.T) {
|
||||||
image:
|
image:
|
||||||
repository: nginx
|
repository: nginx
|
||||||
`
|
`
|
||||||
st, cleanup := newTestHelmStateWithFiles(t, map[string]string{
|
st := newTestHelmStateWithFiles(t, map[string]string{
|
||||||
valuesFile: valuesContent,
|
valuesFile: valuesContent,
|
||||||
}, "/project")
|
}, "/project")
|
||||||
defer cleanup()
|
|
||||||
|
|
||||||
release := &ReleaseSpec{Name: "myrelease", Chart: "mychart"}
|
release := &ReleaseSpec{Name: "myrelease", Chart: "mychart"}
|
||||||
tmplData := st.createReleaseTemplateData(release, map[string]any{})
|
tmplData := st.createReleaseTemplateData(release, map[string]any{})
|
||||||
|
|
@ -1268,10 +1261,9 @@ func TestRenderValuesFileToBytesWithData_WithValuesTemplate(t *testing.T) {
|
||||||
valuesContent := `replicaCount: {{ .Values.replicaCount }}
|
valuesContent := `replicaCount: {{ .Values.replicaCount }}
|
||||||
enabled: {{ .Values.ingress.enabled }}
|
enabled: {{ .Values.ingress.enabled }}
|
||||||
`
|
`
|
||||||
st, cleanup := newTestHelmStateWithFiles(t, map[string]string{
|
st := newTestHelmStateWithFiles(t, map[string]string{
|
||||||
valuesFile: valuesContent,
|
valuesFile: valuesContent,
|
||||||
}, "/project")
|
}, "/project")
|
||||||
defer cleanup()
|
|
||||||
|
|
||||||
release := &ReleaseSpec{Name: "myrelease", Chart: "mychart"}
|
release := &ReleaseSpec{Name: "myrelease", Chart: "mychart"}
|
||||||
tmplData := st.createReleaseTemplateData(release, map[string]any{
|
tmplData := st.createReleaseTemplateData(release, map[string]any{
|
||||||
|
|
@ -1292,10 +1284,9 @@ func TestRenderValuesFileToBytesWithData_WithReleaseTemplate(t *testing.T) {
|
||||||
valuesContent := `releaseName: {{ .Release.Name }}
|
valuesContent := `releaseName: {{ .Release.Name }}
|
||||||
releaseNamespace: {{ .Release.Namespace }}
|
releaseNamespace: {{ .Release.Namespace }}
|
||||||
`
|
`
|
||||||
st, cleanup := newTestHelmStateWithFiles(t, map[string]string{
|
st := newTestHelmStateWithFiles(t, map[string]string{
|
||||||
valuesFile: valuesContent,
|
valuesFile: valuesContent,
|
||||||
}, "/project")
|
}, "/project")
|
||||||
defer cleanup()
|
|
||||||
|
|
||||||
release := &ReleaseSpec{Name: "myapp", Chart: "mychart", Namespace: "production"}
|
release := &ReleaseSpec{Name: "myapp", Chart: "mychart", Namespace: "production"}
|
||||||
tmplData := st.createReleaseTemplateData(release, map[string]any{})
|
tmplData := st.createReleaseTemplateData(release, map[string]any{})
|
||||||
|
|
@ -1311,10 +1302,9 @@ func TestGenerateTemporaryReleaseValuesFilesWithData_StringPath(t *testing.T) {
|
||||||
patchContent := `enabled: {{ .Values.ingress.enabled }}
|
patchContent := `enabled: {{ .Values.ingress.enabled }}
|
||||||
host: {{ .Values.ingress.host }}
|
host: {{ .Values.ingress.host }}
|
||||||
`
|
`
|
||||||
st, cleanup := newTestHelmStateWithFiles(t, map[string]string{
|
st := newTestHelmStateWithFiles(t, map[string]string{
|
||||||
patchFile: patchContent,
|
patchFile: patchContent,
|
||||||
}, "/project")
|
}, "/project")
|
||||||
defer cleanup()
|
|
||||||
|
|
||||||
release := &ReleaseSpec{Name: "myrelease", Chart: "mychart"}
|
release := &ReleaseSpec{Name: "myrelease", Chart: "mychart"}
|
||||||
tmplData := st.createReleaseTemplateData(release, map[string]any{
|
tmplData := st.createReleaseTemplateData(release, map[string]any{
|
||||||
|
|
@ -1332,7 +1322,7 @@ host: {{ .Values.ingress.host }}
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Len(t, generatedFiles, 1)
|
require.Len(t, generatedFiles, 1)
|
||||||
|
|
||||||
// Read and verify the generated file content
|
// The temp files are created on the real OS filesystem via os.Create, so we read them with os.ReadFile
|
||||||
content, err := filesystem.DefaultFileSystem().ReadFile(generatedFiles[0])
|
content, err := filesystem.DefaultFileSystem().ReadFile(generatedFiles[0])
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Contains(t, string(content), "enabled: true")
|
assert.Contains(t, string(content), "enabled: true")
|
||||||
|
|
@ -1340,8 +1330,7 @@ host: {{ .Values.ingress.host }}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGenerateTemporaryReleaseValuesFilesWithData_InlineMap(t *testing.T) {
|
func TestGenerateTemporaryReleaseValuesFilesWithData_InlineMap(t *testing.T) {
|
||||||
st, cleanup := newTestHelmStateWithFiles(t, map[string]string{}, "/project")
|
st := newTestHelmStateWithFiles(t, map[string]string{}, "/project")
|
||||||
defer cleanup()
|
|
||||||
|
|
||||||
release := &ReleaseSpec{Name: "myrelease", Chart: "mychart"}
|
release := &ReleaseSpec{Name: "myrelease", Chart: "mychart"}
|
||||||
tmplData := st.createReleaseTemplateData(release, map[string]any{})
|
tmplData := st.createReleaseTemplateData(release, map[string]any{})
|
||||||
|
|
@ -1361,6 +1350,7 @@ func TestGenerateTemporaryReleaseValuesFilesWithData_InlineMap(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Len(t, generatedFiles, 1)
|
require.Len(t, generatedFiles, 1)
|
||||||
|
|
||||||
|
// The temp files are created on the real OS filesystem via os.Create, so we read them with os.ReadFile
|
||||||
content, err := filesystem.DefaultFileSystem().ReadFile(generatedFiles[0])
|
content, err := filesystem.DefaultFileSystem().ReadFile(generatedFiles[0])
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Contains(t, string(content), "replicaCount: 5")
|
assert.Contains(t, string(content), "replicaCount: 5")
|
||||||
|
|
@ -1368,8 +1358,7 @@ func TestGenerateTemporaryReleaseValuesFilesWithData_InlineMap(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGenerateTemporaryReleaseValuesFilesWithData_UnknownTypeError(t *testing.T) {
|
func TestGenerateTemporaryReleaseValuesFilesWithData_UnknownTypeError(t *testing.T) {
|
||||||
st, cleanup := newTestHelmStateWithFiles(t, map[string]string{}, "/project")
|
st := newTestHelmStateWithFiles(t, map[string]string{}, "/project")
|
||||||
defer cleanup()
|
|
||||||
|
|
||||||
release := &ReleaseSpec{Name: "myrelease", Chart: "mychart"}
|
release := &ReleaseSpec{Name: "myrelease", Chart: "mychart"}
|
||||||
tmplData := st.createReleaseTemplateData(release, map[string]any{})
|
tmplData := st.createReleaseTemplateData(release, map[string]any{})
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue