// Code generated by MockGen. DO NOT EDIT.
// Source: ../interfaces/knowledge_network_access.go
//
// Generated by this command:
//
//	mockgen -source ../interfaces/knowledge_network_access.go -destination ../interfaces/mock/mock_knowledge_network_access.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"
)

// MockKNAccess is a mock of KNAccess interface.
type MockKNAccess struct {
	ctrl     *gomock.Controller
	recorder *MockKNAccessMockRecorder
	isgomock struct{}
}

// MockKNAccessMockRecorder is the mock recorder for MockKNAccess.
type MockKNAccessMockRecorder struct {
	mock *MockKNAccess
}

// NewMockKNAccess creates a new mock instance.
func NewMockKNAccess(ctrl *gomock.Controller) *MockKNAccess {
	mock := &MockKNAccess{ctrl: ctrl}
	mock.recorder = &MockKNAccessMockRecorder{mock}
	return mock
}

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

// CheckKNExistByID mocks base method.
func (m *MockKNAccess) 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 *MockKNAccessMockRecorder) CheckKNExistByID(ctx, knID, branch any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckKNExistByID", reflect.TypeOf((*MockKNAccess)(nil).CheckKNExistByID), ctx, knID, branch)
}

// CheckKNExistByName mocks base method.
func (m *MockKNAccess) 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 *MockKNAccessMockRecorder) CheckKNExistByName(ctx, knName, branch any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckKNExistByName", reflect.TypeOf((*MockKNAccess)(nil).CheckKNExistByName), ctx, knName, branch)
}

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

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

// DeleteKN mocks base method.
func (m *MockKNAccess) DeleteKN(ctx context.Context, tx *sql.Tx, knID, branch string) (int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteKN", ctx, tx, knID, branch)
	ret0, _ := ret[0].(int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// UpdateKNDetail mocks base method.
func (m *MockKNAccess) 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 *MockKNAccessMockRecorder) UpdateKNDetail(ctx, knID, branch, detail any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateKNDetail", reflect.TypeOf((*MockKNAccess)(nil).UpdateKNDetail), ctx, knID, branch, detail)
}
