mirror of
https://github.com/kubernetes/client-go.git
synced 2025-06-25 06:31:35 +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.AddReactor("*", "*", testing.ObjectReaction(o))
|
||||||
cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) {
|
cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) {
|
||||||
gvr := action.GetResource()
|
gvr := action.GetResource()
|
||||||
@ -80,7 +80,8 @@ func NewSimpleMetadataClient(scheme *runtime.Scheme, objects ...runtime.Object)
|
|||||||
// you want to test easier.
|
// you want to test easier.
|
||||||
type FakeMetadataClient struct {
|
type FakeMetadataClient struct {
|
||||||
testing.Fake
|
testing.Fake
|
||||||
scheme *runtime.Scheme
|
scheme *runtime.Scheme
|
||||||
|
tracker testing.ObjectTracker
|
||||||
}
|
}
|
||||||
|
|
||||||
type metadataResourceClient struct {
|
type metadataResourceClient struct {
|
||||||
@ -89,7 +90,14 @@ type metadataResourceClient struct {
|
|||||||
resource schema.GroupVersionResource
|
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.
|
// Resource returns an interface for accessing the provided resource.
|
||||||
func (c *FakeMetadataClient) Resource(resource schema.GroupVersionResource) metadata.Getter {
|
func (c *FakeMetadataClient) Resource(resource schema.GroupVersionResource) metadata.Getter {
|
||||||
|
Loading…
Reference in New Issue
Block a user