@@ -30,6 +30,28 @@ var _ = Describe("PluginConfig", func() {
30
30
Data1 string `json:"data-1"`
31
31
Data2 string `json:"data-2"`
32
32
}
33
+ const defaultWebhookVersion = "v1"
34
+
35
+ resource := ResourceData {Group : "Foo" , Kind : "Baz" , Version : "v1" }
36
+ resource .Webhooks = & Webhooks {defaultWebhookVersion }
37
+
38
+ It ("should return true when has the ResourceData is equals" , func () {
39
+ Expect (resource .isGVKEqualTo (ResourceData {Group : "Foo" , Kind : "Baz" , Version : "v1" })).To (BeTrue ())
40
+ })
41
+
42
+ It ("should return false when ResourceData is NOT equals" , func () {
43
+ Expect (resource .isGVKEqualTo (ResourceData {Group : "Foo" , Kind : "Baz" , Version : "v2" })).To (BeFalse ())
44
+ })
45
+
46
+ It ("IsV2 should return true when the config is V2" , func () {
47
+ cfg := Config {Version : Version2 }
48
+ Expect (cfg .IsV2 ()).To (BeTrue ())
49
+ })
50
+
51
+ It ("IsV3 should return true when the config is V3" , func () {
52
+ cfg := Config {Version : Version3Alpha }
53
+ Expect (cfg .IsV3 ()).To (BeTrue ())
54
+ })
33
55
34
56
It ("should encode correctly" , func () {
35
57
var (
@@ -165,56 +187,61 @@ var _ = Describe("PluginConfig", func() {
165
187
})
166
188
})
167
189
168
- var _ = Describe ("Resource Version Compatibility" , func () {
190
+ var _ = Describe ("ResourceData Version Compatibility" , func () {
169
191
170
192
var (
171
- c * Config
172
- gvk1 , gvk2 GVK
193
+ c * Config
194
+ resource1 , resource2 ResourceData
173
195
174
196
defaultVersion = "v1"
175
197
)
176
198
177
199
BeforeEach (func () {
178
200
c = & Config {}
179
- gvk1 = GVK {Group : "example" , Version : "v1" , Kind : "TestKind" }
180
- gvk2 = GVK {Group : "example" , Version : "v1" , Kind : "TestKind2" }
201
+ resource1 = ResourceData {Group : "example" , Version : "v1" , Kind : "TestKind" }
202
+ resource2 = ResourceData {Group : "example" , Version : "v1" , Kind : "TestKind2" }
181
203
})
182
204
183
205
Context ("resourceAPIVersionCompatible" , func () {
184
206
It ("returns true for a list of empty resources" , func () {
185
207
Expect (c .resourceAPIVersionCompatible ("crd" , defaultVersion )).To (BeTrue ())
208
+ Expect (c .resourceAPIVersionCompatible ("webhook" , defaultVersion )).To (BeTrue ())
186
209
})
187
210
It ("returns true for one resource with an empty version" , func () {
188
- c .Resources = []GVK { gvk1 }
211
+ c .Resources = []ResourceData { resource1 }
189
212
Expect (c .resourceAPIVersionCompatible ("crd" , defaultVersion )).To (BeTrue ())
213
+ Expect (c .resourceAPIVersionCompatible ("webhook" , defaultVersion )).To (BeTrue ())
190
214
})
191
215
It ("returns true for one resource with matching version" , func () {
192
- gvk1 .CRDVersion = defaultVersion
193
- c .Resources = []GVK {gvk1 }
216
+ resource1 .API = & API {CRDVersion : defaultVersion }
217
+ resource1 .Webhooks = & Webhooks {WebhookVersion : defaultVersion }
218
+ c .Resources = []ResourceData {resource1 }
194
219
Expect (c .resourceAPIVersionCompatible ("crd" , defaultVersion )).To (BeTrue ())
220
+ Expect (c .resourceAPIVersionCompatible ("webhook" , defaultVersion )).To (BeTrue ())
195
221
})
196
222
It ("returns true for two resources with matching versions" , func () {
197
- gvk1 .CRDVersion = defaultVersion
198
- gvk2 .CRDVersion = defaultVersion
199
- c .Resources = []GVK {gvk1 , gvk2 }
223
+ resource1 .API = & API {CRDVersion : defaultVersion }
224
+ resource1 .Webhooks = & Webhooks {WebhookVersion : defaultVersion }
225
+ resource2 .API = & API {CRDVersion : defaultVersion }
226
+ resource2 .Webhooks = & Webhooks {WebhookVersion : defaultVersion }
227
+ c .Resources = []ResourceData {resource1 , resource2 }
200
228
Expect (c .resourceAPIVersionCompatible ("crd" , defaultVersion )).To (BeTrue ())
229
+ Expect (c .resourceAPIVersionCompatible ("webhook" , defaultVersion )).To (BeTrue ())
201
230
})
202
231
It ("returns false for one resource with a non-matching version" , func () {
203
- gvk1 .CRDVersion = v1beta1
204
- c .Resources = []GVK {gvk1 }
232
+ resource1 .API = & API {CRDVersion : v1beta1 }
233
+ resource1 .Webhooks = & Webhooks {WebhookVersion : v1beta1 }
234
+ c .Resources = []ResourceData {resource1 }
205
235
Expect (c .resourceAPIVersionCompatible ("crd" , defaultVersion )).To (BeFalse ())
236
+ Expect (c .resourceAPIVersionCompatible ("webhook" , defaultVersion )).To (BeFalse ())
206
237
})
207
238
It ("returns false for two resources containing a non-matching version" , func () {
208
- gvk1 .CRDVersion = v1beta1
209
- gvk2 .CRDVersion = defaultVersion
210
- c .Resources = []GVK {gvk1 , gvk2 }
239
+ resource1 .API = & API {CRDVersion : v1beta1 }
240
+ resource1 .Webhooks = & Webhooks {WebhookVersion : v1beta1 }
241
+ resource2 .API = & API {CRDVersion : defaultVersion }
242
+ resource2 .Webhooks = & Webhooks {WebhookVersion : defaultVersion }
243
+ c .Resources = []ResourceData {resource1 , resource2 }
211
244
Expect (c .resourceAPIVersionCompatible ("crd" , defaultVersion )).To (BeFalse ())
212
- })
213
-
214
- It ("returns false for two resources containing a non-matching version (webhooks)" , func () {
215
- gvk1 .WebhookVersion = v1beta1
216
- gvk2 .WebhookVersion = defaultVersion
217
- c .Resources = []GVK {gvk1 , gvk2 }
218
245
Expect (c .resourceAPIVersionCompatible ("webhook" , defaultVersion )).To (BeFalse ())
219
246
})
220
247
})
@@ -223,35 +250,49 @@ var _ = Describe("Resource Version Compatibility", func() {
223
250
var _ = Describe ("Config" , func () {
224
251
var (
225
252
c * Config
226
- gvk1 , gvk2 GVK
253
+ gvk1 , gvk2 ResourceData
227
254
)
228
255
229
256
BeforeEach (func () {
230
257
c = & Config {}
231
- gvk1 = GVK {Group : "example" , Version : "v1" , Kind : "TestKind" }
232
- gvk2 = GVK {Group : "example" , Version : "v1" , Kind : "TestKind2" }
258
+ gvk1 = ResourceData {Group : "example" , Version : "v1" , Kind : "TestKind" }
259
+ gvk2 = ResourceData {Group : "example" , Version : "v1" , Kind : "TestKind2" }
233
260
})
234
261
235
262
Context ("UpdateResource" , func () {
236
263
It ("Adds a non-existing resource" , func () {
237
264
c .UpdateResources (gvk1 )
238
- Expect (c .Resources ).To (Equal ([]GVK {gvk1 }))
265
+ Expect (c .Resources ).To (Equal ([]ResourceData {gvk1 }))
239
266
// Update again to ensure idempotency.
240
267
c .UpdateResources (gvk1 )
241
- Expect (c .Resources ).To (Equal ([]GVK {gvk1 }))
268
+ Expect (c .Resources ).To (Equal ([]ResourceData {gvk1 }))
242
269
})
243
270
It ("Updates an existing resource" , func () {
244
271
c .UpdateResources (gvk1 )
245
- gvk := GVK {Group : gvk1 .Group , Version : gvk1 .Version , Kind : gvk1 .Kind , CRDVersion : "v1" }
246
- c .UpdateResources (gvk )
247
- Expect (c .Resources ).To (Equal ([]GVK { gvk }))
272
+ resource := ResourceData {Group : gvk1 .Group , Version : gvk1 .Version , Kind : gvk1 .Kind }
273
+ c .UpdateResources (resource )
274
+ Expect (c .Resources ).To (Equal ([]ResourceData { resource }))
248
275
})
249
276
It ("Updates an existing resource with more than one resource present" , func () {
250
277
c .UpdateResources (gvk1 )
251
278
c .UpdateResources (gvk2 )
252
- gvk := GVK {Group : gvk1 .Group , Version : gvk1 .Version , Kind : gvk1 .Kind , CRDVersion : "v1" }
279
+ gvk := ResourceData {Group : gvk1 .Group , Version : gvk1 .Version , Kind : gvk1 .Kind }
253
280
c .UpdateResources (gvk )
254
- Expect (c .Resources ).To (Equal ([]GVK {gvk , gvk2 }))
281
+ Expect (c .Resources ).To (Equal ([]ResourceData {gvk , gvk2 }))
282
+ })
283
+ })
284
+
285
+ Context ("HasGroup" , func () {
286
+ It ("should return true when config has a resource with the group" , func () {
287
+ c .UpdateResources (gvk1 )
288
+ Expect (c .Resources ).To (Equal ([]ResourceData {gvk1 }))
289
+ Expect (c .HasGroup (gvk1 .Group )).To (BeTrue ())
255
290
})
291
+ It ("should return false when config has a resource with not the same group" , func () {
292
+ c .UpdateResources (gvk1 )
293
+ Expect (c .Resources ).To (Equal ([]ResourceData {gvk1 }))
294
+ Expect (c .HasGroup ("hasNot" )).To (BeFalse ())
295
+ })
296
+
256
297
})
257
298
})
0 commit comments