Files
open-cluster-management/pkg/addon/templateagent/common_test.go
2024-03-12 07:46:27 +00:00

61 lines
1.4 KiB
Go

package templateagent
import (
"testing"
"github.com/stretchr/testify/assert"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
addonapiv1alpha1 "open-cluster-management.io/api/addon/v1alpha1"
)
func TestGetAddOnTemplateSpecHash(t *testing.T) {
cases := []struct {
name string
at *addonapiv1alpha1.AddOnTemplate
expected string
expectedErr string
}{
{
name: "addon template is nil",
at: nil,
expected: "",
expectedErr: "addon template is nil",
},
{
name: "addon template spec is nil",
at: &addonapiv1alpha1.AddOnTemplate{
ObjectMeta: metav1.ObjectMeta{
Name: "test1",
},
Spec: addonapiv1alpha1.AddOnTemplateSpec{},
},
expected: "3c2de0761c7df5d6a864280a8aa44d1f4d91eecbbcd2ce5af3efb4b76d91d3cd",
},
{
name: "addon template spec is not nil",
at: &addonapiv1alpha1.AddOnTemplate{
ObjectMeta: metav1.ObjectMeta{
Name: "test1",
},
Spec: addonapiv1alpha1.AddOnTemplateSpec{
AddonName: "test1",
},
},
expected: "b59db5673238c791a826f0a8f8710f3d6e49cd4c7a5ee73e186c91412f26fc85",
},
}
for _, c := range cases {
t.Run(c.name, func(t *testing.T) {
hash, err := GetAddOnTemplateSpecHash(c.at)
if c.expectedErr != "" {
assert.Equal(t, c.expectedErr, err.Error(), "should be equal")
} else {
assert.Nil(t, err, "should be nil")
}
assert.Equal(t, c.expected, hash, "should be equal")
})
}
}