mirror of
https://github.com/kubernetes/client-go.git
synced 2025-06-24 14:12:18 +00:00
Make metadata fake client implement testing.FakeClient
This mirrors most (maybe all?) other fake clients. Example of a real world use case this would have been useful: https://github.com/istio/istio/pull/35434 Kubernetes-commit: 86c9fef160b37ce834b680e49cf237917d2e5c6c
This commit is contained in:
parent
23e2d9e87e
commit
f582d43dbd
@ -60,7 +60,7 @@ func NewSimpleMetadataClient(scheme *runtime.Scheme, objects ...runtime.Object)
|
||||
}
|
||||
}
|
||||
|
||||
cs := &FakeMetadataClient{scheme: scheme}
|
||||
cs := &FakeMetadataClient{scheme: scheme, tracker: o}
|
||||
cs.AddReactor("*", "*", testing.ObjectReaction(o))
|
||||
cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) {
|
||||
gvr := action.GetResource()
|
||||
@ -80,7 +80,8 @@ func NewSimpleMetadataClient(scheme *runtime.Scheme, objects ...runtime.Object)
|
||||
// you want to test easier.
|
||||
type FakeMetadataClient struct {
|
||||
testing.Fake
|
||||
scheme *runtime.Scheme
|
||||
scheme *runtime.Scheme
|
||||
tracker testing.ObjectTracker
|
||||
}
|
||||
|
||||
type metadataResourceClient struct {
|
||||
@ -89,7 +90,14 @@ type metadataResourceClient struct {
|
||||
resource schema.GroupVersionResource
|
||||
}
|
||||
|
||||
var _ metadata.Interface = &FakeMetadataClient{}
|
||||
var (
|
||||
_ metadata.Interface = &FakeMetadataClient{}
|
||||
_ testing.FakeClient = &FakeMetadataClient{}
|
||||
)
|
||||
|
||||
func (c *FakeMetadataClient) Tracker() testing.ObjectTracker {
|
||||
return c.tracker
|
||||
}
|
||||
|
||||
// Resource returns an interface for accessing the provided resource.
|
||||
func (c *FakeMetadataClient) Resource(resource schema.GroupVersionResource) metadata.Getter {
|
||||
|
Loading…
Reference in New Issue
Block a user