mirror of
https://github.com/helmfile/helmfile.git
synced 2026-09-30 09:51:55 +02:00
add more tests for Desired func (#1082)
Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
@@ -43,3 +43,42 @@ func TestExecuteTemplateExpressions(t *testing.T) {
|
||||
require.NoErrorf(t, err, "failed to execute template expressions: %v", err)
|
||||
require.Equalf(t, result.ValuesTemplate[0].(map[string]any)["fullnameOverride"], "foo", "failed to execute template expressions")
|
||||
}
|
||||
|
||||
func TestDesired(t *testing.T) {
|
||||
cases := []struct {
|
||||
name string
|
||||
expected bool
|
||||
release ReleaseSpec
|
||||
}{
|
||||
{
|
||||
name: "desired is true",
|
||||
expected: true,
|
||||
release: ReleaseSpec{
|
||||
Installed: &[]bool{true}[0],
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "desired is false",
|
||||
expected: false,
|
||||
release: ReleaseSpec{
|
||||
Installed: &[]bool{false}[0],
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "desired is nil",
|
||||
expected: true,
|
||||
release: ReleaseSpec{},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
actual := tc.release.Desired()
|
||||
require.Equal(t, tc.expected, actual)
|
||||
|
||||
// test compatibility with older versions of helmfile
|
||||
// r.Installed != nil && !*r.Installed compare to !r.Desired()
|
||||
require.Equal(t, tc.release.Installed != nil && !*tc.release.Installed, !actual)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user