// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/aergoio/aergo/v2/p2p/p2pcommon (interfaces: CertificateManager)

// Package mock_p2pcommon is a generated GoMock package.
package p2pmock

import (
	p2pcommon "github.com/aergoio/aergo/v2/p2p/p2pcommon"
	gomock "github.com/golang/mock/gomock"
	peer "github.com/libp2p/go-libp2p/core/peer"
	reflect "reflect"
)

// MockCertificateManager is a mock of CertificateManager interface
type MockCertificateManager struct {
	ctrl     *gomock.Controller
	recorder *MockCertificateManagerMockRecorder
}

// MockCertificateManagerMockRecorder is the mock recorder for MockCertificateManager
type MockCertificateManagerMockRecorder struct {
	mock *MockCertificateManager
}

// NewMockCertificateManager creates a new mock instance
func NewMockCertificateManager(ctrl *gomock.Controller) *MockCertificateManager {
	mock := &MockCertificateManager{ctrl: ctrl}
	mock.recorder = &MockCertificateManagerMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use
func (m *MockCertificateManager) EXPECT() *MockCertificateManagerMockRecorder {
	return m.recorder
}

// AddCertificate mocks base method
func (m *MockCertificateManager) AddCertificate(arg0 *p2pcommon.AgentCertificateV1) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "AddCertificate", arg0)
}

// AddCertificate indicates an expected call of AddCertificate
func (mr *MockCertificateManagerMockRecorder) AddCertificate(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddCertificate", reflect.TypeOf((*MockCertificateManager)(nil).AddCertificate), arg0)
}

// CanHandle mocks base method
func (m *MockCertificateManager) CanHandle(arg0 peer.ID) bool {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CanHandle", arg0)
	ret0, _ := ret[0].(bool)
	return ret0
}

// CanHandle indicates an expected call of CanHandle
func (mr *MockCertificateManagerMockRecorder) CanHandle(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CanHandle", reflect.TypeOf((*MockCertificateManager)(nil).CanHandle), arg0)
}

// CreateCertificate mocks base method
func (m *MockCertificateManager) CreateCertificate(arg0 p2pcommon.PeerMeta) (*p2pcommon.AgentCertificateV1, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateCertificate", arg0)
	ret0, _ := ret[0].(*p2pcommon.AgentCertificateV1)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateCertificate indicates an expected call of CreateCertificate
func (mr *MockCertificateManagerMockRecorder) CreateCertificate(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCertificate", reflect.TypeOf((*MockCertificateManager)(nil).CreateCertificate), arg0)
}

// GetCertificates mocks base method
func (m *MockCertificateManager) GetCertificates() []*p2pcommon.AgentCertificateV1 {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetCertificates")
	ret0, _ := ret[0].([]*p2pcommon.AgentCertificateV1)
	return ret0
}

// GetCertificates indicates an expected call of GetCertificates
func (mr *MockCertificateManagerMockRecorder) GetCertificates() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCertificates", reflect.TypeOf((*MockCertificateManager)(nil).GetCertificates))
}

// GetProducers mocks base method
func (m *MockCertificateManager) GetProducers() []peer.ID {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetProducers")
	ret0, _ := ret[0].([]peer.ID)
	return ret0
}

// GetProducers indicates an expected call of GetProducers
func (mr *MockCertificateManagerMockRecorder) GetProducers() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetProducers", reflect.TypeOf((*MockCertificateManager)(nil).GetProducers))
}

// OnPeerConnect mocks base method
func (m *MockCertificateManager) OnPeerConnect(arg0 peer.ID) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "OnPeerConnect", arg0)
}

// OnPeerConnect indicates an expected call of OnPeerConnect
func (mr *MockCertificateManagerMockRecorder) OnPeerConnect(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OnPeerConnect", reflect.TypeOf((*MockCertificateManager)(nil).OnPeerConnect), arg0)
}

// OnPeerDisconnect mocks base method
func (m *MockCertificateManager) OnPeerDisconnect(arg0 p2pcommon.RemotePeer) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "OnPeerDisconnect", arg0)
}

// OnPeerDisconnect indicates an expected call of OnPeerDisconnect
func (mr *MockCertificateManagerMockRecorder) OnPeerDisconnect(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OnPeerDisconnect", reflect.TypeOf((*MockCertificateManager)(nil).OnPeerDisconnect), arg0)
}

// Start mocks base method
func (m *MockCertificateManager) Start() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Start")
}

// Start indicates an expected call of Start
func (mr *MockCertificateManagerMockRecorder) Start() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Start", reflect.TypeOf((*MockCertificateManager)(nil).Start))
}

// Stop mocks base method
func (m *MockCertificateManager) Stop() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Stop")
}

// Stop indicates an expected call of Stop
func (mr *MockCertificateManagerMockRecorder) Stop() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Stop", reflect.TypeOf((*MockCertificateManager)(nil).Stop))
}
