github.com/projectcalico/api@v0.0.0-20231218190037-9183ab93f33e/pkg/client/clientset_generated/clientset/fake/clientset_generated.go (about)

     1  // Copyright (c) 2023 Tigera, Inc. All rights reserved.
     2  
     3  // Code generated by client-gen. DO NOT EDIT.
     4  
     5  package fake
     6  
     7  import (
     8  	clientset "github.com/projectcalico/api/pkg/client/clientset_generated/clientset"
     9  	projectcalicov3 "github.com/projectcalico/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3"
    10  	fakeprojectcalicov3 "github.com/projectcalico/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake"
    11  	"k8s.io/apimachinery/pkg/runtime"
    12  	"k8s.io/apimachinery/pkg/watch"
    13  	"k8s.io/client-go/discovery"
    14  	fakediscovery "k8s.io/client-go/discovery/fake"
    15  	"k8s.io/client-go/testing"
    16  )
    17  
    18  // NewSimpleClientset returns a clientset that will respond with the provided objects.
    19  // It's backed by a very simple object tracker that processes creates, updates and deletions as-is,
    20  // without applying any validations and/or defaults. It shouldn't be considered a replacement
    21  // for a real clientset and is mostly useful in simple unit tests.
    22  func NewSimpleClientset(objects ...runtime.Object) *Clientset {
    23  	o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder())
    24  	for _, obj := range objects {
    25  		if err := o.Add(obj); err != nil {
    26  			panic(err)
    27  		}
    28  	}
    29  
    30  	cs := &Clientset{tracker: o}
    31  	cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake}
    32  	cs.AddReactor("*", "*", testing.ObjectReaction(o))
    33  	cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) {
    34  		gvr := action.GetResource()
    35  		ns := action.GetNamespace()
    36  		watch, err := o.Watch(gvr, ns)
    37  		if err != nil {
    38  			return false, nil, err
    39  		}
    40  		return true, watch, nil
    41  	})
    42  
    43  	return cs
    44  }
    45  
    46  // Clientset implements clientset.Interface. Meant to be embedded into a
    47  // struct to get a default implementation. This makes faking out just the method
    48  // you want to test easier.
    49  type Clientset struct {
    50  	testing.Fake
    51  	discovery *fakediscovery.FakeDiscovery
    52  	tracker   testing.ObjectTracker
    53  }
    54  
    55  func (c *Clientset) Discovery() discovery.DiscoveryInterface {
    56  	return c.discovery
    57  }
    58  
    59  func (c *Clientset) Tracker() testing.ObjectTracker {
    60  	return c.tracker
    61  }
    62  
    63  var (
    64  	_ clientset.Interface = &Clientset{}
    65  	_ testing.FakeClient  = &Clientset{}
    66  )
    67  
    68  // ProjectcalicoV3 retrieves the ProjectcalicoV3Client
    69  func (c *Clientset) ProjectcalicoV3() projectcalicov3.ProjectcalicoV3Interface {
    70  	return &fakeprojectcalicov3.FakeProjectcalicoV3{Fake: &c.Fake}
    71  }