2025-04-01 10:38:02 +09:00

45 lines
821 B
Go

package v0alpha1
import (
"encoding/json"
"testing"
"github.com/stretchr/testify/require"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
func TestDeepCopyJSON(t *testing.T) {
obj := &Unstructured{
Object: map[string]interface{}{
"int": int(2),
"int16": int16(2),
"int32": int32(2),
"uint64": uint64(2),
"ref": &ObjectReference{
Resource: "x",
},
"array": []any{
int(1), int64(2), "hello",
},
"string": "hello",
"bool": true,
"map": map[string]any{
"x": &ObjectReference{
Resource: "x",
},
},
"object": &v1.APIGroup{
Name: "HELLO",
},
},
}
before, err := json.Marshal(obj)
require.NoError(t, err)
clone := obj.DeepCopy()
after, err := json.Marshal(clone)
require.NoError(t, err)
require.JSONEq(t, string(before), string(after))
}