add more tests for Desired func (#1082)

Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
yxxhero 2023-10-22 20:49:18 +08:00 committed by GitHub
parent d15f398ff4
commit 98c4aec0d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 39 additions and 0 deletions

View File

@ -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)
})
}
}