From 5e5ff2ae3613c6536909056953431855e0301097 Mon Sep 17 00:00:00 2001 From: Maciej Szulik Date: Mon, 8 Jul 2024 13:18:37 +0200 Subject: [PATCH] Expose WithError in FakeResourceFinder for tests Kubernetes-commit: f35d8a459520e1046be9a7b563306714cdf82953 --- pkg/genericclioptions/builder_flags_fake.go | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/pkg/genericclioptions/builder_flags_fake.go b/pkg/genericclioptions/builder_flags_fake.go index d43b0c25..adc496fe 100644 --- a/pkg/genericclioptions/builder_flags_fake.go +++ b/pkg/genericclioptions/builder_flags_fake.go @@ -21,29 +21,40 @@ import ( ) // NewSimpleFakeResourceFinder builds a super simple ResourceFinder that just iterates over the objects you provided -func NewSimpleFakeResourceFinder(infos ...*resource.Info) ResourceFinder { - return &fakeResourceFinder{ +func NewSimpleFakeResourceFinder(infos ...*resource.Info) *FakeResourceFinder { + return &FakeResourceFinder{ Infos: infos, } } -type fakeResourceFinder struct { +func (f *FakeResourceFinder) WithError(err error) *FakeResourceFinder { + f.err = err + return f +} + +type FakeResourceFinder struct { Infos []*resource.Info + err error } // Do implements the interface -func (f *fakeResourceFinder) Do() resource.Visitor { +func (f *FakeResourceFinder) Do() resource.Visitor { return &fakeResourceResult{ Infos: f.Infos, + err: f.err, } } type fakeResourceResult struct { Infos []*resource.Info + err error } // Visit just iterates over info func (r *fakeResourceResult) Visit(fn resource.VisitorFunc) error { + if r.err != nil { + return r.err + } for _, info := range r.Infos { err := fn(info, nil) if err != nil {