// Code generated by counterfeiter. DO NOT EDIT.
package fake

import (
	"context"
	"sync"

	"code.cloudfoundry.org/korifi/controllers/controllers/services/osbapi"
)

type BrokerClient struct {
	BindStub        func(context.Context, osbapi.BindPayload) (osbapi.BindResponse, error)
	bindMutex       sync.RWMutex
	bindArgsForCall []struct {
		arg1 context.Context
		arg2 osbapi.BindPayload
	}
	bindReturns struct {
		result1 osbapi.BindResponse
		result2 error
	}
	bindReturnsOnCall map[int]struct {
		result1 osbapi.BindResponse
		result2 error
	}
	DeprovisionStub        func(context.Context, osbapi.DeprovisionPayload) (osbapi.ProvisionResponse, error)
	deprovisionMutex       sync.RWMutex
	deprovisionArgsForCall []struct {
		arg1 context.Context
		arg2 osbapi.DeprovisionPayload
	}
	deprovisionReturns struct {
		result1 osbapi.ProvisionResponse
		result2 error
	}
	deprovisionReturnsOnCall map[int]struct {
		result1 osbapi.ProvisionResponse
		result2 error
	}
	GetCatalogStub        func(context.Context) (osbapi.Catalog, error)
	getCatalogMutex       sync.RWMutex
	getCatalogArgsForCall []struct {
		arg1 context.Context
	}
	getCatalogReturns struct {
		result1 osbapi.Catalog
		result2 error
	}
	getCatalogReturnsOnCall map[int]struct {
		result1 osbapi.Catalog
		result2 error
	}
	GetServiceBindingStub        func(context.Context, osbapi.BindPayload) (osbapi.BindingResponse, error)
	getServiceBindingMutex       sync.RWMutex
	getServiceBindingArgsForCall []struct {
		arg1 context.Context
		arg2 osbapi.BindPayload
	}
	getServiceBindingReturns struct {
		result1 osbapi.BindingResponse
		result2 error
	}
	getServiceBindingReturnsOnCall map[int]struct {
		result1 osbapi.BindingResponse
		result2 error
	}
	GetServiceBindingLastOperationStub        func(context.Context, osbapi.GetBindingLastOperationRequest) (osbapi.LastOperationResponse, error)
	getServiceBindingLastOperationMutex       sync.RWMutex
	getServiceBindingLastOperationArgsForCall []struct {
		arg1 context.Context
		arg2 osbapi.GetBindingLastOperationRequest
	}
	getServiceBindingLastOperationReturns struct {
		result1 osbapi.LastOperationResponse
		result2 error
	}
	getServiceBindingLastOperationReturnsOnCall map[int]struct {
		result1 osbapi.LastOperationResponse
		result2 error
	}
	GetServiceInstanceLastOperationStub        func(context.Context, osbapi.GetInstanceLastOperationRequest) (osbapi.LastOperationResponse, error)
	getServiceInstanceLastOperationMutex       sync.RWMutex
	getServiceInstanceLastOperationArgsForCall []struct {
		arg1 context.Context
		arg2 osbapi.GetInstanceLastOperationRequest
	}
	getServiceInstanceLastOperationReturns struct {
		result1 osbapi.LastOperationResponse
		result2 error
	}
	getServiceInstanceLastOperationReturnsOnCall map[int]struct {
		result1 osbapi.LastOperationResponse
		result2 error
	}
	ProvisionStub        func(context.Context, osbapi.ProvisionPayload) (osbapi.ProvisionResponse, error)
	provisionMutex       sync.RWMutex
	provisionArgsForCall []struct {
		arg1 context.Context
		arg2 osbapi.ProvisionPayload
	}
	provisionReturns struct {
		result1 osbapi.ProvisionResponse
		result2 error
	}
	provisionReturnsOnCall map[int]struct {
		result1 osbapi.ProvisionResponse
		result2 error
	}
	UnbindStub        func(context.Context, osbapi.UnbindPayload) (osbapi.UnbindResponse, error)
	unbindMutex       sync.RWMutex
	unbindArgsForCall []struct {
		arg1 context.Context
		arg2 osbapi.UnbindPayload
	}
	unbindReturns struct {
		result1 osbapi.UnbindResponse
		result2 error
	}
	unbindReturnsOnCall map[int]struct {
		result1 osbapi.UnbindResponse
		result2 error
	}
	invocations      map[string][][]interface{}
	invocationsMutex sync.RWMutex
}

func (fake *BrokerClient) Bind(arg1 context.Context, arg2 osbapi.BindPayload) (osbapi.BindResponse, error) {
	fake.bindMutex.Lock()
	ret, specificReturn := fake.bindReturnsOnCall[len(fake.bindArgsForCall)]
	fake.bindArgsForCall = append(fake.bindArgsForCall, struct {
		arg1 context.Context
		arg2 osbapi.BindPayload
	}{arg1, arg2})
	stub := fake.BindStub
	fakeReturns := fake.bindReturns
	fake.recordInvocation("Bind", []interface{}{arg1, arg2})
	fake.bindMutex.Unlock()
	if stub != nil {
		return stub(arg1, arg2)
	}
	if specificReturn {
		return ret.result1, ret.result2
	}
	return fakeReturns.result1, fakeReturns.result2
}

func (fake *BrokerClient) BindCallCount() int {
	fake.bindMutex.RLock()
	defer fake.bindMutex.RUnlock()
	return len(fake.bindArgsForCall)
}

func (fake *BrokerClient) BindCalls(stub func(context.Context, osbapi.BindPayload) (osbapi.BindResponse, error)) {
	fake.bindMutex.Lock()
	defer fake.bindMutex.Unlock()
	fake.BindStub = stub
}

func (fake *BrokerClient) BindArgsForCall(i int) (context.Context, osbapi.BindPayload) {
	fake.bindMutex.RLock()
	defer fake.bindMutex.RUnlock()
	argsForCall := fake.bindArgsForCall[i]
	return argsForCall.arg1, argsForCall.arg2
}

func (fake *BrokerClient) BindReturns(result1 osbapi.BindResponse, result2 error) {
	fake.bindMutex.Lock()
	defer fake.bindMutex.Unlock()
	fake.BindStub = nil
	fake.bindReturns = struct {
		result1 osbapi.BindResponse
		result2 error
	}{result1, result2}
}

func (fake *BrokerClient) BindReturnsOnCall(i int, result1 osbapi.BindResponse, result2 error) {
	fake.bindMutex.Lock()
	defer fake.bindMutex.Unlock()
	fake.BindStub = nil
	if fake.bindReturnsOnCall == nil {
		fake.bindReturnsOnCall = make(map[int]struct {
			result1 osbapi.BindResponse
			result2 error
		})
	}
	fake.bindReturnsOnCall[i] = struct {
		result1 osbapi.BindResponse
		result2 error
	}{result1, result2}
}

func (fake *BrokerClient) Deprovision(arg1 context.Context, arg2 osbapi.DeprovisionPayload) (osbapi.ProvisionResponse, error) {
	fake.deprovisionMutex.Lock()
	ret, specificReturn := fake.deprovisionReturnsOnCall[len(fake.deprovisionArgsForCall)]
	fake.deprovisionArgsForCall = append(fake.deprovisionArgsForCall, struct {
		arg1 context.Context
		arg2 osbapi.DeprovisionPayload
	}{arg1, arg2})
	stub := fake.DeprovisionStub
	fakeReturns := fake.deprovisionReturns
	fake.recordInvocation("Deprovision", []interface{}{arg1, arg2})
	fake.deprovisionMutex.Unlock()
	if stub != nil {
		return stub(arg1, arg2)
	}
	if specificReturn {
		return ret.result1, ret.result2
	}
	return fakeReturns.result1, fakeReturns.result2
}

func (fake *BrokerClient) DeprovisionCallCount() int {
	fake.deprovisionMutex.RLock()
	defer fake.deprovisionMutex.RUnlock()
	return len(fake.deprovisionArgsForCall)
}

func (fake *BrokerClient) DeprovisionCalls(stub func(context.Context, osbapi.DeprovisionPayload) (osbapi.ProvisionResponse, error)) {
	fake.deprovisionMutex.Lock()
	defer fake.deprovisionMutex.Unlock()
	fake.DeprovisionStub = stub
}

func (fake *BrokerClient) DeprovisionArgsForCall(i int) (context.Context, osbapi.DeprovisionPayload) {
	fake.deprovisionMutex.RLock()
	defer fake.deprovisionMutex.RUnlock()
	argsForCall := fake.deprovisionArgsForCall[i]
	return argsForCall.arg1, argsForCall.arg2
}

func (fake *BrokerClient) DeprovisionReturns(result1 osbapi.ProvisionResponse, result2 error) {
	fake.deprovisionMutex.Lock()
	defer fake.deprovisionMutex.Unlock()
	fake.DeprovisionStub = nil
	fake.deprovisionReturns = struct {
		result1 osbapi.ProvisionResponse
		result2 error
	}{result1, result2}
}

func (fake *BrokerClient) DeprovisionReturnsOnCall(i int, result1 osbapi.ProvisionResponse, result2 error) {
	fake.deprovisionMutex.Lock()
	defer fake.deprovisionMutex.Unlock()
	fake.DeprovisionStub = nil
	if fake.deprovisionReturnsOnCall == nil {
		fake.deprovisionReturnsOnCall = make(map[int]struct {
			result1 osbapi.ProvisionResponse
			result2 error
		})
	}
	fake.deprovisionReturnsOnCall[i] = struct {
		result1 osbapi.ProvisionResponse
		result2 error
	}{result1, result2}
}

func (fake *BrokerClient) GetCatalog(arg1 context.Context) (osbapi.Catalog, error) {
	fake.getCatalogMutex.Lock()
	ret, specificReturn := fake.getCatalogReturnsOnCall[len(fake.getCatalogArgsForCall)]
	fake.getCatalogArgsForCall = append(fake.getCatalogArgsForCall, struct {
		arg1 context.Context
	}{arg1})
	stub := fake.GetCatalogStub
	fakeReturns := fake.getCatalogReturns
	fake.recordInvocation("GetCatalog", []interface{}{arg1})
	fake.getCatalogMutex.Unlock()
	if stub != nil {
		return stub(arg1)
	}
	if specificReturn {
		return ret.result1, ret.result2
	}
	return fakeReturns.result1, fakeReturns.result2
}

func (fake *BrokerClient) GetCatalogCallCount() int {
	fake.getCatalogMutex.RLock()
	defer fake.getCatalogMutex.RUnlock()
	return len(fake.getCatalogArgsForCall)
}

func (fake *BrokerClient) GetCatalogCalls(stub func(context.Context) (osbapi.Catalog, error)) {
	fake.getCatalogMutex.Lock()
	defer fake.getCatalogMutex.Unlock()
	fake.GetCatalogStub = stub
}

func (fake *BrokerClient) GetCatalogArgsForCall(i int) context.Context {
	fake.getCatalogMutex.RLock()
	defer fake.getCatalogMutex.RUnlock()
	argsForCall := fake.getCatalogArgsForCall[i]
	return argsForCall.arg1
}

func (fake *BrokerClient) GetCatalogReturns(result1 osbapi.Catalog, result2 error) {
	fake.getCatalogMutex.Lock()
	defer fake.getCatalogMutex.Unlock()
	fake.GetCatalogStub = nil
	fake.getCatalogReturns = struct {
		result1 osbapi.Catalog
		result2 error
	}{result1, result2}
}

func (fake *BrokerClient) GetCatalogReturnsOnCall(i int, result1 osbapi.Catalog, result2 error) {
	fake.getCatalogMutex.Lock()
	defer fake.getCatalogMutex.Unlock()
	fake.GetCatalogStub = nil
	if fake.getCatalogReturnsOnCall == nil {
		fake.getCatalogReturnsOnCall = make(map[int]struct {
			result1 osbapi.Catalog
			result2 error
		})
	}
	fake.getCatalogReturnsOnCall[i] = struct {
		result1 osbapi.Catalog
		result2 error
	}{result1, result2}
}

func (fake *BrokerClient) GetServiceBinding(arg1 context.Context, arg2 osbapi.BindPayload) (osbapi.BindingResponse, error) {
	fake.getServiceBindingMutex.Lock()
	ret, specificReturn := fake.getServiceBindingReturnsOnCall[len(fake.getServiceBindingArgsForCall)]
	fake.getServiceBindingArgsForCall = append(fake.getServiceBindingArgsForCall, struct {
		arg1 context.Context
		arg2 osbapi.BindPayload
	}{arg1, arg2})
	stub := fake.GetServiceBindingStub
	fakeReturns := fake.getServiceBindingReturns
	fake.recordInvocation("GetServiceBinding", []interface{}{arg1, arg2})
	fake.getServiceBindingMutex.Unlock()
	if stub != nil {
		return stub(arg1, arg2)
	}
	if specificReturn {
		return ret.result1, ret.result2
	}
	return fakeReturns.result1, fakeReturns.result2
}

func (fake *BrokerClient) GetServiceBindingCallCount() int {
	fake.getServiceBindingMutex.RLock()
	defer fake.getServiceBindingMutex.RUnlock()
	return len(fake.getServiceBindingArgsForCall)
}

func (fake *BrokerClient) GetServiceBindingCalls(stub func(context.Context, osbapi.BindPayload) (osbapi.BindingResponse, error)) {
	fake.getServiceBindingMutex.Lock()
	defer fake.getServiceBindingMutex.Unlock()
	fake.GetServiceBindingStub = stub
}

func (fake *BrokerClient) GetServiceBindingArgsForCall(i int) (context.Context, osbapi.BindPayload) {
	fake.getServiceBindingMutex.RLock()
	defer fake.getServiceBindingMutex.RUnlock()
	argsForCall := fake.getServiceBindingArgsForCall[i]
	return argsForCall.arg1, argsForCall.arg2
}

func (fake *BrokerClient) GetServiceBindingReturns(result1 osbapi.BindingResponse, result2 error) {
	fake.getServiceBindingMutex.Lock()
	defer fake.getServiceBindingMutex.Unlock()
	fake.GetServiceBindingStub = nil
	fake.getServiceBindingReturns = struct {
		result1 osbapi.BindingResponse
		result2 error
	}{result1, result2}
}

func (fake *BrokerClient) GetServiceBindingReturnsOnCall(i int, result1 osbapi.BindingResponse, result2 error) {
	fake.getServiceBindingMutex.Lock()
	defer fake.getServiceBindingMutex.Unlock()
	fake.GetServiceBindingStub = nil
	if fake.getServiceBindingReturnsOnCall == nil {
		fake.getServiceBindingReturnsOnCall = make(map[int]struct {
			result1 osbapi.BindingResponse
			result2 error
		})
	}
	fake.getServiceBindingReturnsOnCall[i] = struct {
		result1 osbapi.BindingResponse
		result2 error
	}{result1, result2}
}

func (fake *BrokerClient) GetServiceBindingLastOperation(arg1 context.Context, arg2 osbapi.GetBindingLastOperationRequest) (osbapi.LastOperationResponse, error) {
	fake.getServiceBindingLastOperationMutex.Lock()
	ret, specificReturn := fake.getServiceBindingLastOperationReturnsOnCall[len(fake.getServiceBindingLastOperationArgsForCall)]
	fake.getServiceBindingLastOperationArgsForCall = append(fake.getServiceBindingLastOperationArgsForCall, struct {
		arg1 context.Context
		arg2 osbapi.GetBindingLastOperationRequest
	}{arg1, arg2})
	stub := fake.GetServiceBindingLastOperationStub
	fakeReturns := fake.getServiceBindingLastOperationReturns
	fake.recordInvocation("GetServiceBindingLastOperation", []interface{}{arg1, arg2})
	fake.getServiceBindingLastOperationMutex.Unlock()
	if stub != nil {
		return stub(arg1, arg2)
	}
	if specificReturn {
		return ret.result1, ret.result2
	}
	return fakeReturns.result1, fakeReturns.result2
}

func (fake *BrokerClient) GetServiceBindingLastOperationCallCount() int {
	fake.getServiceBindingLastOperationMutex.RLock()
	defer fake.getServiceBindingLastOperationMutex.RUnlock()
	return len(fake.getServiceBindingLastOperationArgsForCall)
}

func (fake *BrokerClient) GetServiceBindingLastOperationCalls(stub func(context.Context, osbapi.GetBindingLastOperationRequest) (osbapi.LastOperationResponse, error)) {
	fake.getServiceBindingLastOperationMutex.Lock()
	defer fake.getServiceBindingLastOperationMutex.Unlock()
	fake.GetServiceBindingLastOperationStub = stub
}

func (fake *BrokerClient) GetServiceBindingLastOperationArgsForCall(i int) (context.Context, osbapi.GetBindingLastOperationRequest) {
	fake.getServiceBindingLastOperationMutex.RLock()
	defer fake.getServiceBindingLastOperationMutex.RUnlock()
	argsForCall := fake.getServiceBindingLastOperationArgsForCall[i]
	return argsForCall.arg1, argsForCall.arg2
}

func (fake *BrokerClient) GetServiceBindingLastOperationReturns(result1 osbapi.LastOperationResponse, result2 error) {
	fake.getServiceBindingLastOperationMutex.Lock()
	defer fake.getServiceBindingLastOperationMutex.Unlock()
	fake.GetServiceBindingLastOperationStub = nil
	fake.getServiceBindingLastOperationReturns = struct {
		result1 osbapi.LastOperationResponse
		result2 error
	}{result1, result2}
}

func (fake *BrokerClient) GetServiceBindingLastOperationReturnsOnCall(i int, result1 osbapi.LastOperationResponse, result2 error) {
	fake.getServiceBindingLastOperationMutex.Lock()
	defer fake.getServiceBindingLastOperationMutex.Unlock()
	fake.GetServiceBindingLastOperationStub = nil
	if fake.getServiceBindingLastOperationReturnsOnCall == nil {
		fake.getServiceBindingLastOperationReturnsOnCall = make(map[int]struct {
			result1 osbapi.LastOperationResponse
			result2 error
		})
	}
	fake.getServiceBindingLastOperationReturnsOnCall[i] = struct {
		result1 osbapi.LastOperationResponse
		result2 error
	}{result1, result2}
}

func (fake *BrokerClient) GetServiceInstanceLastOperation(arg1 context.Context, arg2 osbapi.GetInstanceLastOperationRequest) (osbapi.LastOperationResponse, error) {
	fake.getServiceInstanceLastOperationMutex.Lock()
	ret, specificReturn := fake.getServiceInstanceLastOperationReturnsOnCall[len(fake.getServiceInstanceLastOperationArgsForCall)]
	fake.getServiceInstanceLastOperationArgsForCall = append(fake.getServiceInstanceLastOperationArgsForCall, struct {
		arg1 context.Context
		arg2 osbapi.GetInstanceLastOperationRequest
	}{arg1, arg2})
	stub := fake.GetServiceInstanceLastOperationStub
	fakeReturns := fake.getServiceInstanceLastOperationReturns
	fake.recordInvocation("GetServiceInstanceLastOperation", []interface{}{arg1, arg2})
	fake.getServiceInstanceLastOperationMutex.Unlock()
	if stub != nil {
		return stub(arg1, arg2)
	}
	if specificReturn {
		return ret.result1, ret.result2
	}
	return fakeReturns.result1, fakeReturns.result2
}

func (fake *BrokerClient) GetServiceInstanceLastOperationCallCount() int {
	fake.getServiceInstanceLastOperationMutex.RLock()
	defer fake.getServiceInstanceLastOperationMutex.RUnlock()
	return len(fake.getServiceInstanceLastOperationArgsForCall)
}

func (fake *BrokerClient) GetServiceInstanceLastOperationCalls(stub func(context.Context, osbapi.GetInstanceLastOperationRequest) (osbapi.LastOperationResponse, error)) {
	fake.getServiceInstanceLastOperationMutex.Lock()
	defer fake.getServiceInstanceLastOperationMutex.Unlock()
	fake.GetServiceInstanceLastOperationStub = stub
}

func (fake *BrokerClient) GetServiceInstanceLastOperationArgsForCall(i int) (context.Context, osbapi.GetInstanceLastOperationRequest) {
	fake.getServiceInstanceLastOperationMutex.RLock()
	defer fake.getServiceInstanceLastOperationMutex.RUnlock()
	argsForCall := fake.getServiceInstanceLastOperationArgsForCall[i]
	return argsForCall.arg1, argsForCall.arg2
}

func (fake *BrokerClient) GetServiceInstanceLastOperationReturns(result1 osbapi.LastOperationResponse, result2 error) {
	fake.getServiceInstanceLastOperationMutex.Lock()
	defer fake.getServiceInstanceLastOperationMutex.Unlock()
	fake.GetServiceInstanceLastOperationStub = nil
	fake.getServiceInstanceLastOperationReturns = struct {
		result1 osbapi.LastOperationResponse
		result2 error
	}{result1, result2}
}

func (fake *BrokerClient) GetServiceInstanceLastOperationReturnsOnCall(i int, result1 osbapi.LastOperationResponse, result2 error) {
	fake.getServiceInstanceLastOperationMutex.Lock()
	defer fake.getServiceInstanceLastOperationMutex.Unlock()
	fake.GetServiceInstanceLastOperationStub = nil
	if fake.getServiceInstanceLastOperationReturnsOnCall == nil {
		fake.getServiceInstanceLastOperationReturnsOnCall = make(map[int]struct {
			result1 osbapi.LastOperationResponse
			result2 error
		})
	}
	fake.getServiceInstanceLastOperationReturnsOnCall[i] = struct {
		result1 osbapi.LastOperationResponse
		result2 error
	}{result1, result2}
}

func (fake *BrokerClient) Provision(arg1 context.Context, arg2 osbapi.ProvisionPayload) (osbapi.ProvisionResponse, error) {
	fake.provisionMutex.Lock()
	ret, specificReturn := fake.provisionReturnsOnCall[len(fake.provisionArgsForCall)]
	fake.provisionArgsForCall = append(fake.provisionArgsForCall, struct {
		arg1 context.Context
		arg2 osbapi.ProvisionPayload
	}{arg1, arg2})
	stub := fake.ProvisionStub
	fakeReturns := fake.provisionReturns
	fake.recordInvocation("Provision", []interface{}{arg1, arg2})
	fake.provisionMutex.Unlock()
	if stub != nil {
		return stub(arg1, arg2)
	}
	if specificReturn {
		return ret.result1, ret.result2
	}
	return fakeReturns.result1, fakeReturns.result2
}

func (fake *BrokerClient) ProvisionCallCount() int {
	fake.provisionMutex.RLock()
	defer fake.provisionMutex.RUnlock()
	return len(fake.provisionArgsForCall)
}

func (fake *BrokerClient) ProvisionCalls(stub func(context.Context, osbapi.ProvisionPayload) (osbapi.ProvisionResponse, error)) {
	fake.provisionMutex.Lock()
	defer fake.provisionMutex.Unlock()
	fake.ProvisionStub = stub
}

func (fake *BrokerClient) ProvisionArgsForCall(i int) (context.Context, osbapi.ProvisionPayload) {
	fake.provisionMutex.RLock()
	defer fake.provisionMutex.RUnlock()
	argsForCall := fake.provisionArgsForCall[i]
	return argsForCall.arg1, argsForCall.arg2
}

func (fake *BrokerClient) ProvisionReturns(result1 osbapi.ProvisionResponse, result2 error) {
	fake.provisionMutex.Lock()
	defer fake.provisionMutex.Unlock()
	fake.ProvisionStub = nil
	fake.provisionReturns = struct {
		result1 osbapi.ProvisionResponse
		result2 error
	}{result1, result2}
}

func (fake *BrokerClient) ProvisionReturnsOnCall(i int, result1 osbapi.ProvisionResponse, result2 error) {
	fake.provisionMutex.Lock()
	defer fake.provisionMutex.Unlock()
	fake.ProvisionStub = nil
	if fake.provisionReturnsOnCall == nil {
		fake.provisionReturnsOnCall = make(map[int]struct {
			result1 osbapi.ProvisionResponse
			result2 error
		})
	}
	fake.provisionReturnsOnCall[i] = struct {
		result1 osbapi.ProvisionResponse
		result2 error
	}{result1, result2}
}

func (fake *BrokerClient) Unbind(arg1 context.Context, arg2 osbapi.UnbindPayload) (osbapi.UnbindResponse, error) {
	fake.unbindMutex.Lock()
	ret, specificReturn := fake.unbindReturnsOnCall[len(fake.unbindArgsForCall)]
	fake.unbindArgsForCall = append(fake.unbindArgsForCall, struct {
		arg1 context.Context
		arg2 osbapi.UnbindPayload
	}{arg1, arg2})
	stub := fake.UnbindStub
	fakeReturns := fake.unbindReturns
	fake.recordInvocation("Unbind", []interface{}{arg1, arg2})
	fake.unbindMutex.Unlock()
	if stub != nil {
		return stub(arg1, arg2)
	}
	if specificReturn {
		return ret.result1, ret.result2
	}
	return fakeReturns.result1, fakeReturns.result2
}

func (fake *BrokerClient) UnbindCallCount() int {
	fake.unbindMutex.RLock()
	defer fake.unbindMutex.RUnlock()
	return len(fake.unbindArgsForCall)
}

func (fake *BrokerClient) UnbindCalls(stub func(context.Context, osbapi.UnbindPayload) (osbapi.UnbindResponse, error)) {
	fake.unbindMutex.Lock()
	defer fake.unbindMutex.Unlock()
	fake.UnbindStub = stub
}

func (fake *BrokerClient) UnbindArgsForCall(i int) (context.Context, osbapi.UnbindPayload) {
	fake.unbindMutex.RLock()
	defer fake.unbindMutex.RUnlock()
	argsForCall := fake.unbindArgsForCall[i]
	return argsForCall.arg1, argsForCall.arg2
}

func (fake *BrokerClient) UnbindReturns(result1 osbapi.UnbindResponse, result2 error) {
	fake.unbindMutex.Lock()
	defer fake.unbindMutex.Unlock()
	fake.UnbindStub = nil
	fake.unbindReturns = struct {
		result1 osbapi.UnbindResponse
		result2 error
	}{result1, result2}
}

func (fake *BrokerClient) UnbindReturnsOnCall(i int, result1 osbapi.UnbindResponse, result2 error) {
	fake.unbindMutex.Lock()
	defer fake.unbindMutex.Unlock()
	fake.UnbindStub = nil
	if fake.unbindReturnsOnCall == nil {
		fake.unbindReturnsOnCall = make(map[int]struct {
			result1 osbapi.UnbindResponse
			result2 error
		})
	}
	fake.unbindReturnsOnCall[i] = struct {
		result1 osbapi.UnbindResponse
		result2 error
	}{result1, result2}
}

func (fake *BrokerClient) Invocations() map[string][][]interface{} {
	fake.invocationsMutex.RLock()
	defer fake.invocationsMutex.RUnlock()
	copiedInvocations := map[string][][]interface{}{}
	for key, value := range fake.invocations {
		copiedInvocations[key] = value
	}
	return copiedInvocations
}

func (fake *BrokerClient) recordInvocation(key string, args []interface{}) {
	fake.invocationsMutex.Lock()
	defer fake.invocationsMutex.Unlock()
	if fake.invocations == nil {
		fake.invocations = map[string][][]interface{}{}
	}
	if fake.invocations[key] == nil {
		fake.invocations[key] = [][]interface{}{}
	}
	fake.invocations[key] = append(fake.invocations[key], args)
}

var _ osbapi.BrokerClient = new(BrokerClient)
