...
1
16
17 package controllertest
18
19 import (
20 "time"
21
22 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
23 "k8s.io/client-go/tools/cache"
24 )
25
26 var _ cache.SharedIndexInformer = &FakeInformer{}
27
28
29 type FakeInformer struct {
30
31 Synced bool
32
33
34 RunCount int
35
36 handlers []eventHandlerWrapper
37 }
38
39 type modernResourceEventHandler interface {
40 OnAdd(obj interface{}, isInInitialList bool)
41 OnUpdate(oldObj, newObj interface{})
42 OnDelete(obj interface{})
43 }
44
45 type legacyResourceEventHandler interface {
46 OnAdd(obj interface{})
47 OnUpdate(oldObj, newObj interface{})
48 OnDelete(obj interface{})
49 }
50
51
52
53 type eventHandlerWrapper struct {
54 handler any
55 }
56
57 func (e eventHandlerWrapper) OnAdd(obj interface{}) {
58 if m, ok := e.handler.(modernResourceEventHandler); ok {
59 m.OnAdd(obj, false)
60 return
61 }
62 e.handler.(legacyResourceEventHandler).OnAdd(obj)
63 }
64
65 func (e eventHandlerWrapper) OnUpdate(oldObj, newObj interface{}) {
66 if m, ok := e.handler.(modernResourceEventHandler); ok {
67 m.OnUpdate(oldObj, newObj)
68 return
69 }
70 e.handler.(legacyResourceEventHandler).OnUpdate(oldObj, newObj)
71 }
72
73 func (e eventHandlerWrapper) OnDelete(obj interface{}) {
74 if m, ok := e.handler.(modernResourceEventHandler); ok {
75 m.OnDelete(obj)
76 return
77 }
78 e.handler.(legacyResourceEventHandler).OnDelete(obj)
79 }
80
81
82 func (f *FakeInformer) AddIndexers(indexers cache.Indexers) error {
83 return nil
84 }
85
86
87 func (f *FakeInformer) GetIndexer() cache.Indexer {
88 return nil
89 }
90
91
92 func (f *FakeInformer) Informer() cache.SharedIndexInformer {
93 return f
94 }
95
96
97 func (f *FakeInformer) HasSynced() bool {
98 return f.Synced
99 }
100
101
102 func (f *FakeInformer) AddEventHandler(handler cache.ResourceEventHandler) (cache.ResourceEventHandlerRegistration, error) {
103 f.handlers = append(f.handlers, eventHandlerWrapper{handler})
104 return nil, nil
105 }
106
107
108 func (f *FakeInformer) Run(<-chan struct{}) {
109 f.RunCount++
110 }
111
112
113 func (f *FakeInformer) Add(obj metav1.Object) {
114 for _, h := range f.handlers {
115 h.OnAdd(obj)
116 }
117 }
118
119
120 func (f *FakeInformer) Update(oldObj, newObj metav1.Object) {
121 for _, h := range f.handlers {
122 h.OnUpdate(oldObj, newObj)
123 }
124 }
125
126
127 func (f *FakeInformer) Delete(obj metav1.Object) {
128 for _, h := range f.handlers {
129 h.OnDelete(obj)
130 }
131 }
132
133
134 func (f *FakeInformer) AddEventHandlerWithResyncPeriod(handler cache.ResourceEventHandler, resyncPeriod time.Duration) (cache.ResourceEventHandlerRegistration, error) {
135 return nil, nil
136 }
137
138
139 func (f *FakeInformer) RemoveEventHandler(handle cache.ResourceEventHandlerRegistration) error {
140 return nil
141 }
142
143
144 func (f *FakeInformer) GetStore() cache.Store {
145 return nil
146 }
147
148
149 func (f *FakeInformer) GetController() cache.Controller {
150 return nil
151 }
152
153
154 func (f *FakeInformer) LastSyncResourceVersion() string {
155 return ""
156 }
157
158
159 func (f *FakeInformer) SetWatchErrorHandler(cache.WatchErrorHandler) error {
160 return nil
161 }
162
163
164 func (f *FakeInformer) SetTransform(t cache.TransformFunc) error {
165 return nil
166 }
167
168
169 func (f *FakeInformer) IsStopped() bool {
170 return false
171 }
172
View as plain text