// Code generated by moq; DO NOT EDIT.
// github.com/matryer/moq

package fake

import (
	"sync"
)

// MockCertificateWatcher is a mock implementation of certificates.ICertificateWatcher.
//
//	func TestSomethingThatUsesICertificateWatcher(t *testing.T) {
//
//		// make and configure a mocked certificates.ICertificateWatcher
//		mockedICertificateWatcher := &MockCertificateWatcher{
//			WaitForCertificatesFunc: func()  {
//				panic("mock out the WaitForCertificates method")
//			},
//		}
//
//		// use mockedICertificateWatcher in code that requires certificates.ICertificateWatcher
//		// and then make assertions.
//
//	}
type MockCertificateWatcher struct {
	// WaitForCertificatesFunc mocks the WaitForCertificates method.
	WaitForCertificatesFunc func()

	// calls tracks calls to the methods.
	calls struct {
		// WaitForCertificates holds details about calls to the WaitForCertificates method.
		WaitForCertificates []struct {
		}
	}
	lockWaitForCertificates sync.RWMutex
}

// WaitForCertificates calls WaitForCertificatesFunc.
func (mock *MockCertificateWatcher) WaitForCertificates() {
	if mock.WaitForCertificatesFunc == nil {
		panic("MockCertificateWatcher.WaitForCertificatesFunc: method is nil but ICertificateWatcher.WaitForCertificates was just called")
	}
	callInfo := struct {
	}{}
	mock.lockWaitForCertificates.Lock()
	mock.calls.WaitForCertificates = append(mock.calls.WaitForCertificates, callInfo)
	mock.lockWaitForCertificates.Unlock()
	mock.WaitForCertificatesFunc()
}

// WaitForCertificatesCalls gets all the calls that were made to WaitForCertificates.
// Check the length with:
//
//	len(mockedICertificateWatcher.WaitForCertificatesCalls())
func (mock *MockCertificateWatcher) WaitForCertificatesCalls() []struct {
} {
	var calls []struct {
	}
	mock.lockWaitForCertificates.RLock()
	calls = mock.calls.WaitForCertificates
	mock.lockWaitForCertificates.RUnlock()
	return calls
}
