mirror of
https://github.com/kubernetes/client-go.git
synced 2025-06-26 07:02:01 +00:00
Return the error returned by Invokes so the FakeDiscovery client is able to simulate any error with reactors.
Signed-off-by: Feilian Xie <fxie@redhat.com> Kubernetes-commit: 33557a2f6c82d10fa6a459d2ebac56d6a2670492
This commit is contained in:
parent
ab86e03da4
commit
c45bc431c3
@ -47,7 +47,9 @@ func (c *FakeDiscovery) ServerResourcesForGroupVersion(groupVersion string) (*me
|
||||
Verb: "get",
|
||||
Resource: schema.GroupVersionResource{Resource: "resource"},
|
||||
}
|
||||
c.Invokes(action, nil)
|
||||
if _, err := c.Invokes(action, nil); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, resourceList := range c.Resources {
|
||||
if resourceList.GroupVersion == groupVersion {
|
||||
return resourceList, nil
|
||||
@ -77,7 +79,9 @@ func (c *FakeDiscovery) ServerGroupsAndResources() ([]*metav1.APIGroup, []*metav
|
||||
Verb: "get",
|
||||
Resource: schema.GroupVersionResource{Resource: "resource"},
|
||||
}
|
||||
c.Invokes(action, nil)
|
||||
if _, err = c.Invokes(action, nil); err != nil {
|
||||
return resultGroups, c.Resources, err
|
||||
}
|
||||
return resultGroups, c.Resources, nil
|
||||
}
|
||||
|
||||
@ -100,7 +104,9 @@ func (c *FakeDiscovery) ServerGroups() (*metav1.APIGroupList, error) {
|
||||
Verb: "get",
|
||||
Resource: schema.GroupVersionResource{Resource: "group"},
|
||||
}
|
||||
c.Invokes(action, nil)
|
||||
if _, err := c.Invokes(action, nil); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
groups := map[string]*metav1.APIGroup{}
|
||||
|
||||
|
@ -63,3 +63,48 @@ func TestFakingServerVersionWithError(t *testing.T) {
|
||||
t.Fatal("ServerVersion should return expected error, returned different error instead")
|
||||
}
|
||||
}
|
||||
|
||||
func TestFakingServerResourcesForGroupVersionWithError(t *testing.T) {
|
||||
expectedError := errors.New("an error occurred")
|
||||
fakeClient := fakeclientset.NewClientset()
|
||||
fakeClient.Discovery().(*fakediscovery.FakeDiscovery).PrependReactor("*", "*", func(action kubetesting.Action) (handled bool, ret runtime.Object, err error) {
|
||||
return true, nil, expectedError
|
||||
})
|
||||
|
||||
result, err := fakeClient.Discovery().ServerResourcesForGroupVersion("dummy.group.io/v1beta2")
|
||||
if result != nil {
|
||||
t.Errorf(`expect result to be nil but got "%v" instead`, result)
|
||||
}
|
||||
if !errors.Is(err, expectedError) {
|
||||
t.Errorf(`expect error to be "%v" but got "%v" instead`, expectedError, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestFakingServerGroupsWithError(t *testing.T) {
|
||||
expectedError := errors.New("an error occurred")
|
||||
fakeClient := fakeclientset.NewClientset()
|
||||
fakeClient.Discovery().(*fakediscovery.FakeDiscovery).PrependReactor("*", "*", func(action kubetesting.Action) (handled bool, ret runtime.Object, err error) {
|
||||
return true, nil, expectedError
|
||||
})
|
||||
|
||||
result, err := fakeClient.Discovery().ServerGroups()
|
||||
if result != nil {
|
||||
t.Errorf(`expect result to be nil but got "%v" instead`, result)
|
||||
}
|
||||
if !errors.Is(err, expectedError) {
|
||||
t.Errorf(`expect error to be "%v" but got "%v" instead`, expectedError, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestFakingServerGroupsAndResourcesWithError(t *testing.T) {
|
||||
expectedError := errors.New("an error occurred")
|
||||
fakeClient := fakeclientset.NewClientset()
|
||||
fakeClient.Discovery().(*fakediscovery.FakeDiscovery).PrependReactor("get", "resource", func(action kubetesting.Action) (handled bool, ret runtime.Object, err error) {
|
||||
return true, nil, expectedError
|
||||
})
|
||||
|
||||
_, _, err := fakeClient.Discovery().ServerGroupsAndResources()
|
||||
if !errors.Is(err, expectedError) {
|
||||
t.Errorf(`expect error to be "%v" but got "%v" instead`, expectedError, err)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user