// Code generated by MockGen. DO NOT EDIT.
// Source: ../interfaces/knowledge_network_service.go
//
// Generated by this command:
//
//	mockgen -source ../interfaces/knowledge_network_service.go -destination ../interfaces/mock/mock_knowledge_network_service.go
//

// Package mock_interfaces is a generated GoMock package.
package mock_interfaces

import (
	interfaces "bkn-backend/interfaces"
	context "context"
	sql "database/sql"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
)

// MockKNService is a mock of KNService interface.
type MockKNService struct {
	ctrl     *gomock.Controller
	recorder *MockKNServiceMockRecorder
	isgomock struct{}
}

// MockKNServiceMockRecorder is the mock recorder for MockKNService.
type MockKNServiceMockRecorder struct {
	mock *MockKNService
}

// NewMockKNService creates a new mock instance.
func NewMockKNService(ctrl *gomock.Controller) *MockKNService {
	mock := &MockKNService{ctrl: ctrl}
	mock.recorder = &MockKNServiceMockRecorder{mock}
	return mock
}

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

// CheckKNExistByID mocks base method.
func (m *MockKNService) CheckKNExistByID(ctx context.Context, knID, branch string) (string, bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckKNExistByID", ctx, knID, branch)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(bool)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// CheckKNExistByID indicates an expected call of CheckKNExistByID.
func (mr *MockKNServiceMockRecorder) CheckKNExistByID(ctx, knID, branch any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckKNExistByID", reflect.TypeOf((*MockKNService)(nil).CheckKNExistByID), ctx, knID, branch)
}

// CheckKNExistByName mocks base method.
func (m *MockKNService) CheckKNExistByName(ctx context.Context, knName, branch string) (string, bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckKNExistByName", ctx, knName, branch)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(bool)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// CheckKNExistByName indicates an expected call of CheckKNExistByName.
func (mr *MockKNServiceMockRecorder) CheckKNExistByName(ctx, knName, branch any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckKNExistByName", reflect.TypeOf((*MockKNService)(nil).CheckKNExistByName), ctx, knName, branch)
}

// CreateKN mocks base method.
func (m *MockKNService) CreateKN(ctx context.Context, kn *interfaces.KN, mode string, strictMode bool) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateKN", ctx, kn, mode, strictMode)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateKN indicates an expected call of CreateKN.
func (mr *MockKNServiceMockRecorder) CreateKN(ctx, kn, mode, strictMode any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateKN", reflect.TypeOf((*MockKNService)(nil).CreateKN), ctx, kn, mode, strictMode)
}

// DeleteKN mocks base method.
func (m *MockKNService) DeleteKN(ctx context.Context, kn *interfaces.KN) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteKN", ctx, kn)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteKN indicates an expected call of DeleteKN.
func (mr *MockKNServiceMockRecorder) DeleteKN(ctx, kn any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteKN", reflect.TypeOf((*MockKNService)(nil).DeleteKN), ctx, kn)
}

// GetKNByID mocks base method.
func (m *MockKNService) GetKNByID(ctx context.Context, knID, branch, mode string) (*interfaces.KN, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetKNByID", ctx, knID, branch, mode)
	ret0, _ := ret[0].(*interfaces.KN)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetKNByID indicates an expected call of GetKNByID.
func (mr *MockKNServiceMockRecorder) GetKNByID(ctx, knID, branch, mode any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetKNByID", reflect.TypeOf((*MockKNService)(nil).GetKNByID), ctx, knID, branch, mode)
}

// GetRelationTypePaths mocks base method.
func (m *MockKNService) GetRelationTypePaths(ctx context.Context, query interfaces.RelationTypePathsBaseOnSource) ([]interfaces.RelationTypePath, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetRelationTypePaths", ctx, query)
	ret0, _ := ret[0].([]interfaces.RelationTypePath)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetRelationTypePaths indicates an expected call of GetRelationTypePaths.
func (mr *MockKNServiceMockRecorder) GetRelationTypePaths(ctx, query any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRelationTypePaths", reflect.TypeOf((*MockKNService)(nil).GetRelationTypePaths), ctx, query)
}

// GetStatByKN mocks base method.
func (m *MockKNService) GetStatByKN(ctx context.Context, kn *interfaces.KN) (*interfaces.Statistics, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetStatByKN", ctx, kn)
	ret0, _ := ret[0].(*interfaces.Statistics)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetStatByKN indicates an expected call of GetStatByKN.
func (mr *MockKNServiceMockRecorder) GetStatByKN(ctx, kn any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetStatByKN", reflect.TypeOf((*MockKNService)(nil).GetStatByKN), ctx, kn)
}

// ListKNs mocks base method.
func (m *MockKNService) ListKNs(ctx context.Context, query interfaces.KNsQueryParams) ([]*interfaces.KN, int, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListKNs", ctx, query)
	ret0, _ := ret[0].([]*interfaces.KN)
	ret1, _ := ret[1].(int)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ListKNs indicates an expected call of ListKNs.
func (mr *MockKNServiceMockRecorder) ListKNs(ctx, query any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListKNs", reflect.TypeOf((*MockKNService)(nil).ListKNs), ctx, query)
}

// ListKnSrcs mocks base method.
func (m *MockKNService) ListKnSrcs(ctx context.Context, query interfaces.KNsQueryParams) ([]interfaces.PermissionResource, int, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListKnSrcs", ctx, query)
	ret0, _ := ret[0].([]interfaces.PermissionResource)
	ret1, _ := ret[1].(int)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ListKnSrcs indicates an expected call of ListKnSrcs.
func (mr *MockKNServiceMockRecorder) ListKnSrcs(ctx, query any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListKnSrcs", reflect.TypeOf((*MockKNService)(nil).ListKnSrcs), ctx, query)
}

// UpdateKN mocks base method.
func (m *MockKNService) UpdateKN(ctx context.Context, tx *sql.Tx, kn *interfaces.KN, strictMode bool) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateKN", ctx, tx, kn, strictMode)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateKN indicates an expected call of UpdateKN.
func (mr *MockKNServiceMockRecorder) UpdateKN(ctx, tx, kn, strictMode any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateKN", reflect.TypeOf((*MockKNService)(nil).UpdateKN), ctx, tx, kn, strictMode)
}

// UpdateKNDetail mocks base method.
func (m *MockKNService) UpdateKNDetail(ctx context.Context, knID, branch, detail string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateKNDetail", ctx, knID, branch, detail)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateKNDetail indicates an expected call of UpdateKNDetail.
func (mr *MockKNServiceMockRecorder) UpdateKNDetail(ctx, knID, branch, detail any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateKNDetail", reflect.TypeOf((*MockKNService)(nil).UpdateKNDetail), ctx, knID, branch, detail)
}

// ValidateKN mocks base method.
func (m *MockKNService) ValidateKN(ctx context.Context, kn *interfaces.KN, strictMode bool, mode string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ValidateKN", ctx, kn, strictMode, mode)
	ret0, _ := ret[0].(error)
	return ret0
}

// ValidateKN indicates an expected call of ValidateKN.
func (mr *MockKNServiceMockRecorder) ValidateKN(ctx, kn, strictMode, mode any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ValidateKN", reflect.TypeOf((*MockKNService)(nil).ValidateKN), ctx, kn, strictMode, mode)
}
