Skip to content

Commit 9cafb22

Browse files
committed
fix: add context to client-go calls
Signed-off-by: Mark Sagi-Kazar <[email protected]>
1 parent a3f29fd commit 9cafb22

File tree

1 file changed

+42
-41
lines changed

1 file changed

+42
-41
lines changed

main_test.go

Lines changed: 42 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
package objectmatch
1515

1616
import (
17+
"context"
1718
"flag"
1819
"fmt"
1920
"log"
@@ -93,7 +94,7 @@ func (ctx *IntegrationTestContext) CreateNamespace() error {
9394
GenerateName: "integration-",
9495
},
9596
}
96-
namespace, err := ctx.Client.CoreV1().Namespaces().Create(ns)
97+
namespace, err := ctx.Client.CoreV1().Namespaces().Create(context.Background(), ns, metav1.CreateOptions{})
9798
if err != nil {
9899
return err
99100
}
@@ -133,7 +134,7 @@ func (ctx *IntegrationTestContext) Setup() error {
133134
}
134135

135136
func (ctx *IntegrationTestContext) DeleteNamespace() error {
136-
err := ctx.Client.CoreV1().Namespaces().Delete(ctx.Namespace, &metav1.DeleteOptions{
137+
err := ctx.Client.CoreV1().Namespaces().Delete(context.Background(), ctx.Namespace, metav1.DeleteOptions{
137138
GracePeriodSeconds: new(int64),
138139
})
139140
return err
@@ -196,219 +197,219 @@ func testMatchOnObject(testItem *TestItem) error {
196197
if err != nil {
197198
return err
198199
}
199-
deleteOptions := &metav1.DeleteOptions{
200+
deleteOptions := metav1.DeleteOptions{
200201
GracePeriodSeconds: new(int64),
201202
}
202203
switch newObject.(type) {
203204
default:
204205
return errors.WithDetails(errors.New("Unsupported type"), "type", reflect.TypeOf(newObject), "object", newObject)
205206
case *rbacv1.ClusterRole:
206-
existing, err = testContext.Client.RbacV1().ClusterRoles().Create(newObject.(*rbacv1.ClusterRole))
207+
existing, err = testContext.Client.RbacV1().ClusterRoles().Create(context.Background(), newObject.(*rbacv1.ClusterRole), metav1.CreateOptions{})
207208
if err != nil {
208209
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
209210
}
210211
defer func() {
211-
err = testContext.Client.RbacV1().ClusterRoles().Delete(existing.GetName(), deleteOptions)
212+
err = testContext.Client.RbacV1().ClusterRoles().Delete(context.Background(), existing.GetName(), deleteOptions)
212213
if err != nil {
213214
log.Printf("Failed to remove object %s", existing.GetName())
214215
}
215216
}()
216217
case *rbacv1.Role:
217-
existing, err = testContext.Client.RbacV1().Roles(newObject.GetNamespace()).Create(newObject.(*rbacv1.Role))
218+
existing, err = testContext.Client.RbacV1().Roles(newObject.GetNamespace()).Create(context.Background(), newObject.(*rbacv1.Role), metav1.CreateOptions{})
218219
if err != nil {
219220
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
220221
}
221222
defer func() {
222-
err = testContext.Client.RbacV1().Roles(newObject.GetNamespace()).Delete(existing.GetName(), deleteOptions)
223+
err = testContext.Client.RbacV1().Roles(newObject.GetNamespace()).Delete(context.Background(), existing.GetName(), deleteOptions)
223224
if err != nil {
224225
log.Printf("Failed to remove object %s", existing.GetName())
225226
}
226227
}()
227228
case *rbacv1.ClusterRoleBinding:
228-
existing, err = testContext.Client.RbacV1().ClusterRoleBindings().Create(newObject.(*rbacv1.ClusterRoleBinding))
229+
existing, err = testContext.Client.RbacV1().ClusterRoleBindings().Create(context.Background(), newObject.(*rbacv1.ClusterRoleBinding), metav1.CreateOptions{})
229230
if err != nil {
230231
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
231232
}
232233
defer func() {
233-
err = testContext.Client.RbacV1().ClusterRoleBindings().Delete(existing.GetName(), deleteOptions)
234+
err = testContext.Client.RbacV1().ClusterRoleBindings().Delete(context.Background(), existing.GetName(), deleteOptions)
234235
if err != nil {
235236
log.Printf("Failed to remove object %s", existing.GetName())
236237
}
237238
}()
238239
case *rbacv1.RoleBinding:
239-
existing, err = testContext.Client.RbacV1().RoleBindings(newObject.GetNamespace()).Create(newObject.(*rbacv1.RoleBinding))
240+
existing, err = testContext.Client.RbacV1().RoleBindings(newObject.GetNamespace()).Create(context.Background(), newObject.(*rbacv1.RoleBinding), metav1.CreateOptions{})
240241
if err != nil {
241242
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
242243
}
243244
defer func() {
244-
err = testContext.Client.RbacV1().RoleBindings(newObject.GetNamespace()).Delete(existing.GetName(), deleteOptions)
245+
err = testContext.Client.RbacV1().RoleBindings(newObject.GetNamespace()).Delete(context.Background(), existing.GetName(), deleteOptions)
245246
if err != nil {
246247
log.Printf("Failed to remove object %s", existing.GetName())
247248
}
248249
}()
249250
case *v1.Pod:
250-
existing, err = testContext.Client.CoreV1().Pods(newObject.GetNamespace()).Create(newObject.(*v1.Pod))
251+
existing, err = testContext.Client.CoreV1().Pods(newObject.GetNamespace()).Create(context.Background(), newObject.(*v1.Pod), metav1.CreateOptions{})
251252
if err != nil {
252253
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
253254
}
254255
defer func() {
255-
err = testContext.Client.CoreV1().Pods(newObject.GetNamespace()).Delete(existing.GetName(), deleteOptions)
256+
err = testContext.Client.CoreV1().Pods(newObject.GetNamespace()).Delete(context.Background(), existing.GetName(), deleteOptions)
256257
if err != nil {
257258
log.Printf("Failed to remove object %s", existing.GetName())
258259
}
259260
}()
260261
case *v1.Service:
261-
existing, err = testContext.Client.CoreV1().Services(newObject.GetNamespace()).Create(newObject.(*v1.Service))
262+
existing, err = testContext.Client.CoreV1().Services(newObject.GetNamespace()).Create(context.Background(), newObject.(*v1.Service), metav1.CreateOptions{})
262263
if err != nil {
263264
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
264265
}
265266
defer func() {
266-
err = testContext.Client.CoreV1().Services(newObject.GetNamespace()).Delete(existing.GetName(), deleteOptions)
267+
err = testContext.Client.CoreV1().Services(newObject.GetNamespace()).Delete(context.Background(), existing.GetName(), deleteOptions)
267268
if err != nil {
268269
log.Printf("Failed to remove object %s", existing.GetName())
269270
}
270271
}()
271272
case *v1.ConfigMap:
272-
existing, err = testContext.Client.CoreV1().ConfigMaps(newObject.GetNamespace()).Create(newObject.(*v1.ConfigMap))
273+
existing, err = testContext.Client.CoreV1().ConfigMaps(newObject.GetNamespace()).Create(context.Background(), newObject.(*v1.ConfigMap), metav1.CreateOptions{})
273274
if err != nil {
274275
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
275276
}
276277
defer func() {
277-
err = testContext.Client.CoreV1().ConfigMaps(newObject.GetNamespace()).Delete(existing.GetName(), deleteOptions)
278+
err = testContext.Client.CoreV1().ConfigMaps(newObject.GetNamespace()).Delete(context.Background(), existing.GetName(), deleteOptions)
278279
if err != nil {
279280
log.Printf("Failed to remove object %s", existing.GetName())
280281
}
281282
}()
282283
case *v1.Secret:
283-
existing, err = testContext.Client.CoreV1().Secrets(newObject.GetNamespace()).Create(newObject.(*v1.Secret))
284+
existing, err = testContext.Client.CoreV1().Secrets(newObject.GetNamespace()).Create(context.Background(), newObject.(*v1.Secret), metav1.CreateOptions{})
284285
if err != nil {
285286
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
286287
}
287288
defer func() {
288-
err = testContext.Client.CoreV1().Secrets(newObject.GetNamespace()).Delete(existing.GetName(), deleteOptions)
289+
err = testContext.Client.CoreV1().Secrets(newObject.GetNamespace()).Delete(context.Background(), existing.GetName(), deleteOptions)
289290
if err != nil {
290291
log.Printf("Failed to remove object %s", existing.GetName())
291292
}
292293
}()
293294
case *v1beta1.CustomResourceDefinition:
294-
existing, err = testContext.ExtensionsClient.ApiextensionsV1beta1().CustomResourceDefinitions().Create(newObject.(*v1beta1.CustomResourceDefinition))
295+
existing, err = testContext.ExtensionsClient.ApiextensionsV1beta1().CustomResourceDefinitions().Create(context.Background(), newObject.(*v1beta1.CustomResourceDefinition), metav1.CreateOptions{})
295296
if err != nil {
296297
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
297298
}
298299
defer func() {
299-
err = testContext.ExtensionsClient.ApiextensionsV1beta1().CustomResourceDefinitions().Delete(existing.GetName(), deleteOptions)
300+
err = testContext.ExtensionsClient.ApiextensionsV1beta1().CustomResourceDefinitions().Delete(context.Background(), existing.GetName(), deleteOptions)
300301
if err != nil {
301302
log.Printf("Failed to remove object %s", existing.GetName())
302303
}
303304
}()
304305
case *appsv1.DaemonSet:
305-
existing, err = testContext.Client.AppsV1().DaemonSets(newObject.GetNamespace()).Create(newObject.(*appsv1.DaemonSet))
306+
existing, err = testContext.Client.AppsV1().DaemonSets(newObject.GetNamespace()).Create(context.Background(), newObject.(*appsv1.DaemonSet), metav1.CreateOptions{})
306307
if err != nil {
307308
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
308309
}
309310
defer func() {
310-
err = testContext.Client.AppsV1().DaemonSets(newObject.GetNamespace()).Delete(existing.GetName(), deleteOptions)
311+
err = testContext.Client.AppsV1().DaemonSets(newObject.GetNamespace()).Delete(context.Background(), existing.GetName(), deleteOptions)
311312
if err != nil {
312313
log.Printf("Failed to remove object %s", existing.GetName())
313314
}
314315
}()
315316
case *appsv1.Deployment:
316-
existing, err = testContext.Client.AppsV1().Deployments(newObject.GetNamespace()).Create(newObject.(*appsv1.Deployment))
317+
existing, err = testContext.Client.AppsV1().Deployments(newObject.GetNamespace()).Create(context.Background(), newObject.(*appsv1.Deployment), metav1.CreateOptions{})
317318
if err != nil {
318319
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
319320
}
320321
defer func() {
321-
err = testContext.Client.AppsV1().Deployments(newObject.GetNamespace()).Delete(existing.GetName(), deleteOptions)
322+
err = testContext.Client.AppsV1().Deployments(newObject.GetNamespace()).Delete(context.Background(), existing.GetName(), deleteOptions)
322323
if err != nil {
323324
log.Printf("Failed to remove object %s", existing.GetName())
324325
}
325326
}()
326327
case *v2beta1.HorizontalPodAutoscaler:
327-
existing, err = testContext.Client.AutoscalingV2beta1().HorizontalPodAutoscalers(newObject.GetNamespace()).Create(newObject.(*v2beta1.HorizontalPodAutoscaler))
328+
existing, err = testContext.Client.AutoscalingV2beta1().HorizontalPodAutoscalers(newObject.GetNamespace()).Create(context.Background(), newObject.(*v2beta1.HorizontalPodAutoscaler), metav1.CreateOptions{})
328329
if err != nil {
329330
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
330331
}
331332
defer func() {
332-
err = testContext.Client.AutoscalingV2beta1().HorizontalPodAutoscalers(newObject.GetNamespace()).Delete(existing.GetName(), deleteOptions)
333+
err = testContext.Client.AutoscalingV2beta1().HorizontalPodAutoscalers(newObject.GetNamespace()).Delete(context.Background(), existing.GetName(), deleteOptions)
333334
if err != nil {
334335
log.Printf("Failed to remove object %s", existing.GetName())
335336
}
336337
}()
337338
case *admissionregistrationv1beta1.MutatingWebhookConfiguration:
338-
existing, err = testContext.Client.AdmissionregistrationV1beta1().MutatingWebhookConfigurations().Create(newObject.(*admissionregistrationv1beta1.MutatingWebhookConfiguration))
339+
existing, err = testContext.Client.AdmissionregistrationV1beta1().MutatingWebhookConfigurations().Create(context.Background(), newObject.(*admissionregistrationv1beta1.MutatingWebhookConfiguration), metav1.CreateOptions{})
339340
if err != nil {
340341
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
341342
}
342343
defer func() {
343-
err = testContext.Client.AdmissionregistrationV1beta1().MutatingWebhookConfigurations().Delete(existing.GetName(), deleteOptions)
344+
err = testContext.Client.AdmissionregistrationV1beta1().MutatingWebhookConfigurations().Delete(context.Background(), existing.GetName(), deleteOptions)
344345
if err != nil {
345346
log.Printf("Failed to remove object %s", existing.GetName())
346347
}
347348
}()
348349
case *policyv1beta1.PodDisruptionBudget:
349-
existing, err = testContext.Client.PolicyV1beta1().PodDisruptionBudgets(newObject.GetNamespace()).Create(newObject.(*policyv1beta1.PodDisruptionBudget))
350+
existing, err = testContext.Client.PolicyV1beta1().PodDisruptionBudgets(newObject.GetNamespace()).Create(context.Background(), newObject.(*policyv1beta1.PodDisruptionBudget), metav1.CreateOptions{})
350351
if err != nil {
351352
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
352353
}
353354
defer func() {
354-
err = testContext.Client.PolicyV1beta1().PodDisruptionBudgets(newObject.GetNamespace()).Delete(existing.GetName(), deleteOptions)
355+
err = testContext.Client.PolicyV1beta1().PodDisruptionBudgets(newObject.GetNamespace()).Delete(context.Background(), existing.GetName(), deleteOptions)
355356
if err != nil {
356357
log.Printf("Failed to remove object %s", existing.GetName())
357358
}
358359
}()
359360
case *v1.PersistentVolumeClaim:
360-
existing, err = testContext.Client.CoreV1().PersistentVolumeClaims(newObject.GetNamespace()).Create(newObject.(*v1.PersistentVolumeClaim))
361+
existing, err = testContext.Client.CoreV1().PersistentVolumeClaims(newObject.GetNamespace()).Create(context.Background(), newObject.(*v1.PersistentVolumeClaim), metav1.CreateOptions{})
361362
if err != nil {
362363
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
363364
}
364365
defer func() {
365-
err = testContext.Client.CoreV1().PersistentVolumeClaims(newObject.GetNamespace()).Delete(existing.GetName(), deleteOptions)
366+
err = testContext.Client.CoreV1().PersistentVolumeClaims(newObject.GetNamespace()).Delete(context.Background(), existing.GetName(), deleteOptions)
366367
if err != nil {
367368
log.Printf("Failed to remove object %s", existing.GetName())
368369
}
369370
}()
370371
case *v1.ServiceAccount:
371-
existing, err = testContext.Client.CoreV1().ServiceAccounts(newObject.GetNamespace()).Create(newObject.(*v1.ServiceAccount))
372+
existing, err = testContext.Client.CoreV1().ServiceAccounts(newObject.GetNamespace()).Create(context.Background(), newObject.(*v1.ServiceAccount), metav1.CreateOptions{})
372373
if err != nil {
373374
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
374375
}
375376
defer func() {
376-
err = testContext.Client.CoreV1().ServiceAccounts(newObject.GetNamespace()).Delete(existing.GetName(), deleteOptions)
377+
err = testContext.Client.CoreV1().ServiceAccounts(newObject.GetNamespace()).Delete(context.Background(), existing.GetName(), deleteOptions)
377378
if err != nil {
378379
log.Printf("Failed to remove object %s", existing.GetName())
379380
}
380381
}()
381382
case *unstructured.Unstructured:
382383
existing, err = testContext.DynamicClient.Resource(*testItem.gvr).Namespace(testContext.Namespace).
383-
Create(newObject.(*unstructured.Unstructured), metav1.CreateOptions{})
384+
Create(context.Background(), newObject.(*unstructured.Unstructured), metav1.CreateOptions{})
384385
if err != nil {
385386
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
386387
}
387388
defer func() {
388-
err = testContext.DynamicClient.Resource(*testItem.gvr).Delete(existing.GetName(), deleteOptions)
389+
err = testContext.DynamicClient.Resource(*testItem.gvr).Delete(context.Background(), existing.GetName(), deleteOptions)
389390
if err != nil {
390391
log.Printf("Failed to remove object %s", existing.GetName())
391392
}
392393
}()
393394
case *v1.Node:
394-
existing, err = testContext.Client.CoreV1().Nodes().Create(newObject.(*v1.Node))
395+
existing, err = testContext.Client.CoreV1().Nodes().Create(context.Background(), newObject.(*v1.Node), metav1.CreateOptions{})
395396
if err != nil {
396397
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
397398
}
398399
defer func() {
399-
err = testContext.Client.CoreV1().Nodes().Delete(existing.GetName(), deleteOptions)
400+
err = testContext.Client.CoreV1().Nodes().Delete(context.Background(), existing.GetName(), deleteOptions)
400401
if err != nil {
401402
log.Printf("Failed to remove object %s", existing.GetName())
402403
}
403404
}()
404405
case *appsv1.StatefulSet:
405406
opts = append(opts, patch.IgnoreVolumeClaimTemplateTypeMetaAndStatus())
406-
existing, err = testContext.Client.AppsV1().StatefulSets(newObject.GetNamespace()).Create(newObject.(*appsv1.StatefulSet))
407+
existing, err = testContext.Client.AppsV1().StatefulSets(newObject.GetNamespace()).Create(context.Background(), newObject.(*appsv1.StatefulSet), metav1.CreateOptions{})
407408
if err != nil {
408409
return errors.WrapWithDetails(err, "failed to create object", "object", newObject)
409410
}
410411
defer func() {
411-
err = testContext.Client.AppsV1().StatefulSets(newObject.GetNamespace()).Delete(existing.GetName(), deleteOptions)
412+
err = testContext.Client.AppsV1().StatefulSets(newObject.GetNamespace()).Delete(context.Background(), existing.GetName(), deleteOptions)
412413
if err != nil {
413414
log.Printf("Failed to remove object %s", existing.GetName())
414415
}

0 commit comments

Comments
 (0)