@@ -454,39 +454,34 @@ func (t versionedTracker) update(gvr schema.GroupVersionResource, obj runtime.Ob
454
454
}
455
455
456
456
func (c * fakeClient ) Get (ctx context.Context , key client.ObjectKey , obj client.Object , opts ... client.GetOption ) error {
457
- switch obj .(type ) {
458
- case * corev1.PersistentVolumeClaim :
459
- return errors .New ("failed to get persistentvolumeclaim" )
460
- default :
461
- gvr , err := getGVRFromObject (obj , c .scheme )
457
+ gvr , err := getGVRFromObject (obj , c .scheme )
458
+ if err != nil {
459
+ return err
460
+ }
461
+ o , err := c .tracker .Get (gvr , key .Namespace , key .Name )
462
+ if err != nil {
463
+ return err
464
+ }
465
+
466
+ if _ , isUnstructured := obj .(runtime.Unstructured ); isUnstructured {
467
+ gvk , err := apiutil .GVKForObject (obj , c .scheme )
462
468
if err != nil {
463
469
return err
464
470
}
465
- o , err := c . tracker . Get ( gvr , key . Namespace , key . Name )
471
+ ta , err := meta . TypeAccessor ( o )
466
472
if err != nil {
467
473
return err
468
474
}
475
+ ta .SetKind (gvk .Kind )
476
+ ta .SetAPIVersion (gvk .GroupVersion ().String ())
477
+ }
469
478
470
- if _ , isUnstructured := obj .(runtime.Unstructured ); isUnstructured {
471
- gvk , err := apiutil .GVKForObject (obj , c .scheme )
472
- if err != nil {
473
- return err
474
- }
475
- ta , err := meta .TypeAccessor (o )
476
- if err != nil {
477
- return err
478
- }
479
- ta .SetKind (gvk .Kind )
480
- ta .SetAPIVersion (gvk .GroupVersion ().String ())
481
- }
482
-
483
- j , err := json .Marshal (o )
484
- if err != nil {
485
- return err
486
- }
487
- zero (obj )
488
- return json .Unmarshal (j , obj )
479
+ j , err := json .Marshal (o )
480
+ if err != nil {
481
+ return err
489
482
}
483
+ zero (obj )
484
+ return json .Unmarshal (j , obj )
490
485
}
491
486
492
487
func (c * fakeClient ) Watch (ctx context.Context , list client.ObjectList , opts ... client.ListOption ) (watch.Interface , error ) {
@@ -505,6 +500,16 @@ func (c *fakeClient) Watch(ctx context.Context, list client.ObjectList, opts ...
505
500
}
506
501
507
502
func (c * fakeClient ) List (ctx context.Context , obj client.ObjectList , opts ... client.ListOption ) error {
503
+ listOpts := client.ListOptions {}
504
+ listOpts .ApplyOptions (opts )
505
+
506
+ switch obj .(type ) {
507
+ case * corev1.PodList :
508
+ if listOpts .Namespace == "default" {
509
+ return errors .New ("failed to list object" )
510
+ }
511
+ }
512
+
508
513
gvk , err := apiutil .GVKForObject (obj , c .scheme )
509
514
if err != nil {
510
515
return err
@@ -522,9 +527,6 @@ func (c *fakeClient) List(ctx context.Context, obj client.ObjectList, opts ...cl
522
527
c .schemeWriteLock .Unlock ()
523
528
}
524
529
525
- listOpts := client.ListOptions {}
526
- listOpts .ApplyOptions (opts )
527
-
528
530
gvr , _ := meta .UnsafeGuessKindToResource (gvk )
529
531
o , err := c .tracker .List (gvr , gvk , listOpts .Namespace )
530
532
if err != nil {
0 commit comments