-
Notifications
You must be signed in to change notification settings - Fork 1.2k
/
Copy pathdefault_test.go
116 lines (92 loc) · 2.52 KB
/
default_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
package komega
import (
"testing"
. "github.com/onsi/gomega"
appsv1 "k8s.io/api/apps/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/utils/ptr"
)
func TestDefaultGet(t *testing.T) {
g := NewWithT(t)
fc := createFakeClient()
SetClient(fc)
fetched := appsv1.Deployment{
ObjectMeta: metav1.ObjectMeta{
Namespace: "default",
Name: "test",
},
}
g.Eventually(Get(&fetched)).Should(Succeed())
g.Expect(*fetched.Spec.Replicas).To(BeEquivalentTo(5))
}
func TestDefaultList(t *testing.T) {
g := NewWithT(t)
fc := createFakeClient()
SetClient(fc)
list := appsv1.DeploymentList{}
g.Eventually(List(&list)).Should(Succeed())
g.Expect(list.Items).To(HaveLen(1))
depl := exampleDeployment()
g.Expect(list.Items[0]).To(And(
HaveField("ObjectMeta.Name", Equal(depl.ObjectMeta.Name)),
HaveField("ObjectMeta.Namespace", Equal(depl.ObjectMeta.Namespace)),
))
}
func TestDefaultUpdate(t *testing.T) {
g := NewWithT(t)
fc := createFakeClient()
SetClient(fc)
updateDeployment := appsv1.Deployment{
ObjectMeta: exampleDeployment().ObjectMeta,
}
g.Eventually(Update(&updateDeployment, func() {
updateDeployment.Annotations = map[string]string{"updated": "true"}
})).Should(Succeed())
fetched := appsv1.Deployment{
ObjectMeta: exampleDeployment().ObjectMeta,
}
g.Expect(Object(&fetched)()).To(HaveField("ObjectMeta.Annotations", HaveKeyWithValue("updated", "true")))
}
func TestDefaultUpdateStatus(t *testing.T) {
g := NewWithT(t)
fc := createFakeClient()
SetClient(fc)
updateDeployment := appsv1.Deployment{
ObjectMeta: exampleDeployment().ObjectMeta,
}
g.Eventually(UpdateStatus(&updateDeployment, func() {
updateDeployment.Status.AvailableReplicas = 1
})).Should(Succeed())
fetched := appsv1.Deployment{
ObjectMeta: exampleDeployment().ObjectMeta,
}
g.Expect(Object(&fetched)()).To(HaveField("Status.AvailableReplicas", BeEquivalentTo(1)))
}
func TestDefaultObject(t *testing.T) {
g := NewWithT(t)
fc := createFakeClient()
SetClient(fc)
fetched := appsv1.Deployment{
ObjectMeta: metav1.ObjectMeta{
Namespace: "default",
Name: "test",
},
}
g.Eventually(Object(&fetched)).Should(And(
Not(BeNil()),
HaveField("Spec.Replicas", Equal(ptr.To(int32(5)))),
))
}
func TestDefaultObjectList(t *testing.T) {
g := NewWithT(t)
fc := createFakeClient()
SetClient(fc)
list := appsv1.DeploymentList{}
g.Eventually(ObjectList(&list)).Should(And(
Not(BeNil()),
HaveField("Items", And(
HaveLen(1),
ContainElement(HaveField("Spec.Replicas", Equal(ptr.To(int32(5))))),
)),
))
}