...
1
16
17
18
19 package fake
20
21 import (
22 "k8s.io/apimachinery/pkg/runtime"
23 "k8s.io/apimachinery/pkg/watch"
24 "k8s.io/client-go/discovery"
25 fakediscovery "k8s.io/client-go/discovery/fake"
26 "k8s.io/client-go/testing"
27 clientset "kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned"
28 snapshotv1 "kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1"
29 fakesnapshotv1 "kubevirt.io/client-go/generated/external-snapshotter/clientset/versioned/typed/volumesnapshot/v1/fake"
30 )
31
32
33
34
35
36 func NewSimpleClientset(objects ...runtime.Object) *Clientset {
37 o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder())
38 for _, obj := range objects {
39 if err := o.Add(obj); err != nil {
40 panic(err)
41 }
42 }
43
44 cs := &Clientset{tracker: o}
45 cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake}
46 cs.AddReactor("*", "*", testing.ObjectReaction(o))
47 cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) {
48 gvr := action.GetResource()
49 ns := action.GetNamespace()
50 watch, err := o.Watch(gvr, ns)
51 if err != nil {
52 return false, nil, err
53 }
54 return true, watch, nil
55 })
56
57 return cs
58 }
59
60
61
62
63 type Clientset struct {
64 testing.Fake
65 discovery *fakediscovery.FakeDiscovery
66 tracker testing.ObjectTracker
67 }
68
69 func (c *Clientset) Discovery() discovery.DiscoveryInterface {
70 return c.discovery
71 }
72
73 func (c *Clientset) Tracker() testing.ObjectTracker {
74 return c.tracker
75 }
76
77 var _ clientset.Interface = &Clientset{}
78
79
80 func (c *Clientset) SnapshotV1() snapshotv1.SnapshotV1Interface {
81 return &fakesnapshotv1.FakeSnapshotV1{Fake: &c.Fake}
82 }
83
View as plain text