1
// Copyright Istio Authors
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
7
// http://www.apache.org/licenses/LICENSE-2.0
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
21
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
23
"istio.io/istio/pilot/pkg/config/kube/crd"
26
func TestKind(t *testing.T) {
27
obj := crd.IstioKind{}
29
spec := map[string]any{"a": "b"}
31
if got := obj.GetSpec(); !reflect.DeepEqual(spec, got) {
32
t.Errorf("GetSpec() => got %v, want %v", got, spec)
35
status := map[string]any{"yo": "lit"}
37
if got := obj.GetStatus(); !reflect.DeepEqual(status, got) {
38
t.Errorf("GetStatus() => got %v, want %v", got, status)
41
meta := metav1.ObjectMeta{Name: "test"}
43
if got := obj.GetObjectMeta(); !reflect.DeepEqual(meta, got) {
44
t.Errorf("GetObjectMeta() => got %v, want %v", got, meta)
47
if got := obj.DeepCopy(); !reflect.DeepEqual(*got, obj) {
48
t.Errorf("DeepCopy() => got %v, want %v", got, obj)
51
if got := obj.DeepCopyObject(); !reflect.DeepEqual(got, &obj) {
52
t.Errorf("DeepCopyObject() => got %v, want %v", got, obj)
55
var empty *crd.IstioKind
56
if empty.DeepCopy() != nil {
57
t.Error("DeepCopy of nil should return nil")
60
if empty.DeepCopyObject() != nil {
61
t.Error("DeepCopyObject of nil should return nil")