github.com/paketo-buildpacks/packit@v1.3.2-0.20211206231111-86b75c657449/postal/internal/fakes/binding_resolver.go (about)

     1  package fakes
     2  
     3  import (
     4  	"sync"
     5  
     6  	"github.com/paketo-buildpacks/packit/servicebindings"
     7  )
     8  
     9  type BindingResolver struct {
    10  	ResolveCall struct {
    11  		mutex     sync.Mutex
    12  		CallCount int
    13  		Receives  struct {
    14  			Typ         string
    15  			Provider    string
    16  			PlatformDir string
    17  		}
    18  		Returns struct {
    19  			BindingSlice []servicebindings.Binding
    20  			Error        error
    21  		}
    22  		Stub func(string, string, string) ([]servicebindings.Binding, error)
    23  	}
    24  }
    25  
    26  func (f *BindingResolver) Resolve(param1 string, param2 string, param3 string) ([]servicebindings.Binding, error) {
    27  	f.ResolveCall.mutex.Lock()
    28  	defer f.ResolveCall.mutex.Unlock()
    29  	f.ResolveCall.CallCount++
    30  	f.ResolveCall.Receives.Typ = param1
    31  	f.ResolveCall.Receives.Provider = param2
    32  	f.ResolveCall.Receives.PlatformDir = param3
    33  	if f.ResolveCall.Stub != nil {
    34  		return f.ResolveCall.Stub(param1, param2, param3)
    35  	}
    36  	return f.ResolveCall.Returns.BindingSlice, f.ResolveCall.Returns.Error
    37  }