|
14 | 14 | package objectmatch |
15 | 15 |
|
16 | 16 | import ( |
| 17 | + "context" |
17 | 18 | "flag" |
18 | 19 | "fmt" |
19 | 20 | "log" |
@@ -93,7 +94,7 @@ func (ctx *IntegrationTestContext) CreateNamespace() error { |
93 | 94 | GenerateName: "integration-", |
94 | 95 | }, |
95 | 96 | } |
96 | | - namespace, err := ctx.Client.CoreV1().Namespaces().Create(ns) |
| 97 | + namespace, err := ctx.Client.CoreV1().Namespaces().Create(context.Background(), ns, metav1.CreateOptions{}) |
97 | 98 | if err != nil { |
98 | 99 | return err |
99 | 100 | } |
@@ -133,7 +134,7 @@ func (ctx *IntegrationTestContext) Setup() error { |
133 | 134 | } |
134 | 135 |
|
135 | 136 | 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{ |
137 | 138 | GracePeriodSeconds: new(int64), |
138 | 139 | }) |
139 | 140 | return err |
@@ -196,219 +197,219 @@ func testMatchOnObject(testItem *TestItem) error { |
196 | 197 | if err != nil { |
197 | 198 | return err |
198 | 199 | } |
199 | | - deleteOptions := &metav1.DeleteOptions{ |
| 200 | + deleteOptions := metav1.DeleteOptions{ |
200 | 201 | GracePeriodSeconds: new(int64), |
201 | 202 | } |
202 | 203 | switch newObject.(type) { |
203 | 204 | default: |
204 | 205 | return errors.WithDetails(errors.New("Unsupported type"), "type", reflect.TypeOf(newObject), "object", newObject) |
205 | 206 | 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{}) |
207 | 208 | if err != nil { |
208 | 209 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
209 | 210 | } |
210 | 211 | defer func() { |
211 | | - err = testContext.Client.RbacV1().ClusterRoles().Delete(existing.GetName(), deleteOptions) |
| 212 | + err = testContext.Client.RbacV1().ClusterRoles().Delete(context.Background(), existing.GetName(), deleteOptions) |
212 | 213 | if err != nil { |
213 | 214 | log.Printf("Failed to remove object %s", existing.GetName()) |
214 | 215 | } |
215 | 216 | }() |
216 | 217 | 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{}) |
218 | 219 | if err != nil { |
219 | 220 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
220 | 221 | } |
221 | 222 | 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) |
223 | 224 | if err != nil { |
224 | 225 | log.Printf("Failed to remove object %s", existing.GetName()) |
225 | 226 | } |
226 | 227 | }() |
227 | 228 | 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{}) |
229 | 230 | if err != nil { |
230 | 231 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
231 | 232 | } |
232 | 233 | defer func() { |
233 | | - err = testContext.Client.RbacV1().ClusterRoleBindings().Delete(existing.GetName(), deleteOptions) |
| 234 | + err = testContext.Client.RbacV1().ClusterRoleBindings().Delete(context.Background(), existing.GetName(), deleteOptions) |
234 | 235 | if err != nil { |
235 | 236 | log.Printf("Failed to remove object %s", existing.GetName()) |
236 | 237 | } |
237 | 238 | }() |
238 | 239 | 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{}) |
240 | 241 | if err != nil { |
241 | 242 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
242 | 243 | } |
243 | 244 | 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) |
245 | 246 | if err != nil { |
246 | 247 | log.Printf("Failed to remove object %s", existing.GetName()) |
247 | 248 | } |
248 | 249 | }() |
249 | 250 | 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{}) |
251 | 252 | if err != nil { |
252 | 253 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
253 | 254 | } |
254 | 255 | 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) |
256 | 257 | if err != nil { |
257 | 258 | log.Printf("Failed to remove object %s", existing.GetName()) |
258 | 259 | } |
259 | 260 | }() |
260 | 261 | 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{}) |
262 | 263 | if err != nil { |
263 | 264 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
264 | 265 | } |
265 | 266 | 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) |
267 | 268 | if err != nil { |
268 | 269 | log.Printf("Failed to remove object %s", existing.GetName()) |
269 | 270 | } |
270 | 271 | }() |
271 | 272 | 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{}) |
273 | 274 | if err != nil { |
274 | 275 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
275 | 276 | } |
276 | 277 | 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) |
278 | 279 | if err != nil { |
279 | 280 | log.Printf("Failed to remove object %s", existing.GetName()) |
280 | 281 | } |
281 | 282 | }() |
282 | 283 | 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{}) |
284 | 285 | if err != nil { |
285 | 286 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
286 | 287 | } |
287 | 288 | 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) |
289 | 290 | if err != nil { |
290 | 291 | log.Printf("Failed to remove object %s", existing.GetName()) |
291 | 292 | } |
292 | 293 | }() |
293 | 294 | 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{}) |
295 | 296 | if err != nil { |
296 | 297 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
297 | 298 | } |
298 | 299 | defer func() { |
299 | | - err = testContext.ExtensionsClient.ApiextensionsV1beta1().CustomResourceDefinitions().Delete(existing.GetName(), deleteOptions) |
| 300 | + err = testContext.ExtensionsClient.ApiextensionsV1beta1().CustomResourceDefinitions().Delete(context.Background(), existing.GetName(), deleteOptions) |
300 | 301 | if err != nil { |
301 | 302 | log.Printf("Failed to remove object %s", existing.GetName()) |
302 | 303 | } |
303 | 304 | }() |
304 | 305 | 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{}) |
306 | 307 | if err != nil { |
307 | 308 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
308 | 309 | } |
309 | 310 | 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) |
311 | 312 | if err != nil { |
312 | 313 | log.Printf("Failed to remove object %s", existing.GetName()) |
313 | 314 | } |
314 | 315 | }() |
315 | 316 | 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{}) |
317 | 318 | if err != nil { |
318 | 319 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
319 | 320 | } |
320 | 321 | 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) |
322 | 323 | if err != nil { |
323 | 324 | log.Printf("Failed to remove object %s", existing.GetName()) |
324 | 325 | } |
325 | 326 | }() |
326 | 327 | 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{}) |
328 | 329 | if err != nil { |
329 | 330 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
330 | 331 | } |
331 | 332 | 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) |
333 | 334 | if err != nil { |
334 | 335 | log.Printf("Failed to remove object %s", existing.GetName()) |
335 | 336 | } |
336 | 337 | }() |
337 | 338 | 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{}) |
339 | 340 | if err != nil { |
340 | 341 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
341 | 342 | } |
342 | 343 | defer func() { |
343 | | - err = testContext.Client.AdmissionregistrationV1beta1().MutatingWebhookConfigurations().Delete(existing.GetName(), deleteOptions) |
| 344 | + err = testContext.Client.AdmissionregistrationV1beta1().MutatingWebhookConfigurations().Delete(context.Background(), existing.GetName(), deleteOptions) |
344 | 345 | if err != nil { |
345 | 346 | log.Printf("Failed to remove object %s", existing.GetName()) |
346 | 347 | } |
347 | 348 | }() |
348 | 349 | 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{}) |
350 | 351 | if err != nil { |
351 | 352 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
352 | 353 | } |
353 | 354 | 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) |
355 | 356 | if err != nil { |
356 | 357 | log.Printf("Failed to remove object %s", existing.GetName()) |
357 | 358 | } |
358 | 359 | }() |
359 | 360 | 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{}) |
361 | 362 | if err != nil { |
362 | 363 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
363 | 364 | } |
364 | 365 | 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) |
366 | 367 | if err != nil { |
367 | 368 | log.Printf("Failed to remove object %s", existing.GetName()) |
368 | 369 | } |
369 | 370 | }() |
370 | 371 | 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{}) |
372 | 373 | if err != nil { |
373 | 374 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
374 | 375 | } |
375 | 376 | 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) |
377 | 378 | if err != nil { |
378 | 379 | log.Printf("Failed to remove object %s", existing.GetName()) |
379 | 380 | } |
380 | 381 | }() |
381 | 382 | case *unstructured.Unstructured: |
382 | 383 | 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{}) |
384 | 385 | if err != nil { |
385 | 386 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
386 | 387 | } |
387 | 388 | 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) |
389 | 390 | if err != nil { |
390 | 391 | log.Printf("Failed to remove object %s", existing.GetName()) |
391 | 392 | } |
392 | 393 | }() |
393 | 394 | 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{}) |
395 | 396 | if err != nil { |
396 | 397 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
397 | 398 | } |
398 | 399 | defer func() { |
399 | | - err = testContext.Client.CoreV1().Nodes().Delete(existing.GetName(), deleteOptions) |
| 400 | + err = testContext.Client.CoreV1().Nodes().Delete(context.Background(), existing.GetName(), deleteOptions) |
400 | 401 | if err != nil { |
401 | 402 | log.Printf("Failed to remove object %s", existing.GetName()) |
402 | 403 | } |
403 | 404 | }() |
404 | 405 | case *appsv1.StatefulSet: |
405 | 406 | 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{}) |
407 | 408 | if err != nil { |
408 | 409 | return errors.WrapWithDetails(err, "failed to create object", "object", newObject) |
409 | 410 | } |
410 | 411 | 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) |
412 | 413 | if err != nil { |
413 | 414 | log.Printf("Failed to remove object %s", existing.GetName()) |
414 | 415 | } |
|
0 commit comments