Expose WithError in FakeResourceFinder for tests

This commit is contained in:
Maciej Szulik 2024-07-08 13:18:37 +02:00
parent 7ec344dcef
commit f35d8a4595
No known key found for this signature in database
GPG Key ID: F15E55D276FA84C4

View File

@ -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 {