@@ -17,8 +17,6 @@ limitations under the License.
1717package fake
1818
1919import (
20- "encoding/json"
21-
2220 . "github.com/onsi/ginkgo"
2321 . "github.com/onsi/gomega"
2422
@@ -35,7 +33,7 @@ var _ = Describe("Fake client", func() {
3533 var cm * corev1.ConfigMap
3634 var cl client.Client
3735
38- BeforeEach (func (done Done ) {
36+ BeforeEach (func () {
3937 dep = & appsv1.Deployment {
4038 ObjectMeta : metav1.ObjectMeta {
4139 Name : "test-deployment" ,
@@ -51,106 +49,110 @@ var _ = Describe("Fake client", func() {
5149 "test-key" : "test-value" ,
5250 },
5351 }
54- cl = NewFakeClient (dep , cm )
55- close (done )
56- })
57-
58- It ("should be able to Get" , func () {
59- By ("Getting a deployment" )
60- namespacedName := types.NamespacedName {
61- Name : "test-deployment" ,
62- Namespace : "ns1" ,
63- }
64- obj := & appsv1.Deployment {}
65- err := cl .Get (nil , namespacedName , obj )
66- Expect (err ).To (BeNil ())
67- Expect (obj ).To (Equal (dep ))
6852 })
6953
70- It ("should be able to List" , func () {
71- By ("Listing all deployments in a namespace" )
72- list := & metav1.List {}
73- err := cl .List (nil , & client.ListOptions {
74- Namespace : "ns1" ,
75- Raw : & metav1.ListOptions {
76- TypeMeta : metav1.TypeMeta {
77- APIVersion : "apps/v1" ,
78- Kind : "Deployment" ,
54+ AssertClientBehavior := func () {
55+ It ("should be able to Get" , func () {
56+ By ("Getting a deployment" )
57+ namespacedName := types.NamespacedName {
58+ Name : "test-deployment" ,
59+ Namespace : "ns1" ,
60+ }
61+ obj := & appsv1.Deployment {}
62+ err := cl .Get (nil , namespacedName , obj )
63+ Expect (err ).To (BeNil ())
64+ Expect (obj ).To (Equal (dep ))
65+ })
66+
67+ It ("should be able to List" , func () {
68+ By ("Listing all deployments in a namespace" )
69+ list := & appsv1.DeploymentList {}
70+ err := cl .List (nil , & client.ListOptions {
71+ Namespace : "ns1" ,
72+ }, list )
73+ Expect (err ).To (BeNil ())
74+ Expect (list .Items ).To (HaveLen (1 ))
75+ Expect (list .Items ).To (ConsistOf (* dep ))
76+ })
77+
78+ It ("should be able to Create" , func () {
79+ By ("Creating a new configmap" )
80+ newcm := & corev1.ConfigMap {
81+ ObjectMeta : metav1.ObjectMeta {
82+ Name : "new-test-cm" ,
83+ Namespace : "ns2" ,
7984 },
80- },
81- }, list )
82- Expect (err ).To (BeNil ())
83- Expect (list .Items ).To (HaveLen (1 ))
84- j , err := json .Marshal (dep )
85- Expect (err ).To (BeNil ())
86- expectedDep := runtime.RawExtension {Raw : j }
87- Expect (list .Items ).To (ConsistOf (expectedDep ))
88- })
85+ }
86+ err := cl .Create (nil , newcm )
87+ Expect (err ).To (BeNil ())
8988
90- It ("should be able to Create" , func () {
91- By ("Creating a new configmap" )
92- newcm := & corev1.ConfigMap {
93- ObjectMeta : metav1.ObjectMeta {
89+ By ("Getting the new configmap" )
90+ namespacedName := types.NamespacedName {
9491 Name : "new-test-cm" ,
9592 Namespace : "ns2" ,
96- },
97- }
98- err := cl .Create (nil , newcm )
99- Expect (err ).To (BeNil ())
100-
101- By ("Getting the new configmap" )
102- namespacedName := types.NamespacedName {
103- Name : "new-test-cm" ,
104- Namespace : "ns2" ,
105- }
106- obj := & corev1.ConfigMap {}
107- err = cl .Get (nil , namespacedName , obj )
108- Expect (err ).To (BeNil ())
109- Expect (obj ).To (Equal (newcm ))
110- })
93+ }
94+ obj := & corev1.ConfigMap {}
95+ err = cl .Get (nil , namespacedName , obj )
96+ Expect (err ).To (BeNil ())
97+ Expect (obj ).To (Equal (newcm ))
98+ })
99+
100+ It ("should be able to Update" , func () {
101+ By ("Updating a new configmap" )
102+ newcm := & corev1.ConfigMap {
103+ ObjectMeta : metav1.ObjectMeta {
104+ Name : "test-cm" ,
105+ Namespace : "ns2" ,
106+ },
107+ Data : map [string ]string {
108+ "test-key" : "new-value" ,
109+ },
110+ }
111+ err := cl .Update (nil , newcm )
112+ Expect (err ).To (BeNil ())
111113
112- It ("should be able to Update" , func () {
113- By ("Updating a new configmap" )
114- newcm := & corev1.ConfigMap {
115- ObjectMeta : metav1.ObjectMeta {
114+ By ("Getting the new configmap" )
115+ namespacedName := types.NamespacedName {
116116 Name : "test-cm" ,
117117 Namespace : "ns2" ,
118- },
119- Data : map [string ]string {
120- "test-key" : "new-value" ,
121- },
122- }
123- err := cl .Update (nil , newcm )
124- Expect (err ).To (BeNil ())
125-
126- By ("Getting the new configmap" )
127- namespacedName := types.NamespacedName {
128- Name : "test-cm" ,
129- Namespace : "ns2" ,
130- }
131- obj := & corev1.ConfigMap {}
132- err = cl .Get (nil , namespacedName , obj )
133- Expect (err ).To (BeNil ())
134- Expect (obj ).To (Equal (newcm ))
118+ }
119+ obj := & corev1.ConfigMap {}
120+ err = cl .Get (nil , namespacedName , obj )
121+ Expect (err ).To (BeNil ())
122+ Expect (obj ).To (Equal (newcm ))
123+ })
124+
125+ It ("should be able to Delete" , func () {
126+ By ("Deleting a deployment" )
127+ err := cl .Delete (nil , dep )
128+ Expect (err ).To (BeNil ())
129+
130+ By ("Listing all deployments in the namespace" )
131+ list := & appsv1.DeploymentList {}
132+ err = cl .List (nil , & client.ListOptions {
133+ Namespace : "ns1" ,
134+ }, list )
135+ Expect (err ).To (BeNil ())
136+ Expect (list .Items ).To (HaveLen (0 ))
137+ })
138+ }
139+
140+ Context ("with default scheme.Scheme" , func () {
141+ BeforeEach (func (done Done ) {
142+ cl = NewFakeClient (dep , cm )
143+ close (done )
144+ })
145+ AssertClientBehavior ()
135146 })
136147
137- It ("should be able to Delete" , func () {
138- By ("Deleting a deployment" )
139- err := cl .Delete (nil , dep )
140- Expect (err ).To (BeNil ())
141-
142- By ("Listing all deployments in the namespace" )
143- list := & metav1.List {}
144- err = cl .List (nil , & client.ListOptions {
145- Namespace : "ns1" ,
146- Raw : & metav1.ListOptions {
147- TypeMeta : metav1.TypeMeta {
148- APIVersion : "apps/v1" ,
149- Kind : "Deployment" ,
150- },
151- },
152- }, list )
153- Expect (err ).To (BeNil ())
154- Expect (list .Items ).To (HaveLen (0 ))
148+ Context ("with given scheme" , func () {
149+ BeforeEach (func (done Done ) {
150+ scheme := runtime .NewScheme ()
151+ corev1 .AddToScheme (scheme )
152+ appsv1 .AddToScheme (scheme )
153+ cl = NewFakeClientWithScheme (scheme , dep , cm )
154+ close (done )
155+ })
156+ AssertClientBehavior ()
155157 })
156158})
0 commit comments