// Code generated by MockGen. DO NOT EDIT.
// Source: metric_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"
)

// MockMetricService is a mock of MetricService interface.
type MockMetricService struct {
	ctrl     *gomock.Controller
	recorder *MockMetricServiceMockRecorder
	isgomock struct{}
}

// MockMetricServiceMockRecorder is the mock recorder for MockMetricService.
type MockMetricServiceMockRecorder struct {
	mock *MockMetricService
}

// NewMockMetricService creates a new mock instance.
func NewMockMetricService(ctrl *gomock.Controller) *MockMetricService {
	mock := &MockMetricService{ctrl: ctrl}
	mock.recorder = &MockMetricServiceMockRecorder{mock}
	return mock
}

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

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

// CheckMetricExistByID indicates an expected call of CheckMetricExistByID.
func (mr *MockMetricServiceMockRecorder) CheckMetricExistByID(ctx, knID, branch, metricID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckMetricExistByID", reflect.TypeOf((*MockMetricService)(nil).CheckMetricExistByID), ctx, knID, branch, metricID)
}

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

// CheckMetricExistByName indicates an expected call of CheckMetricExistByName.
func (mr *MockMetricServiceMockRecorder) CheckMetricExistByName(ctx, knID, branch, name interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckMetricExistByName", reflect.TypeOf((*MockMetricService)(nil).CheckMetricExistByName), ctx, knID, branch, name)
}

// CreateMetrics mocks base method.
func (m *MockMetricService) CreateMetrics(ctx context.Context, tx *sql.Tx, entries []*interfaces.MetricDefinition, strictMode bool, importMode string) ([]string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateMetrics", ctx, tx, entries, strictMode, importMode)
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateMetrics indicates an expected call of CreateMetrics.
func (mr *MockMetricServiceMockRecorder) CreateMetrics(ctx, tx, entries, strictMode, importMode interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateMetrics", reflect.TypeOf((*MockMetricService)(nil).CreateMetrics), ctx, tx, entries, strictMode, importMode)
}

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

// DeleteMetricsByIDs indicates an expected call of DeleteMetricsByIDs.
func (mr *MockMetricServiceMockRecorder) DeleteMetricsByIDs(ctx, tx, knID, branch, metricIDs interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMetricsByIDs", reflect.TypeOf((*MockMetricService)(nil).DeleteMetricsByIDs), ctx, tx, knID, branch, metricIDs)
}

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

// DeleteMetricsByKnID indicates an expected call of DeleteMetricsByKnID.
func (mr *MockMetricServiceMockRecorder) DeleteMetricsByKnID(ctx, tx, knID, branch interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMetricsByKnID", reflect.TypeOf((*MockMetricService)(nil).DeleteMetricsByKnID), ctx, tx, knID, branch)
}

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

// GetMetricByID indicates an expected call of GetMetricByID.
func (mr *MockMetricServiceMockRecorder) GetMetricByID(ctx, knID, branch, metricID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMetricByID", reflect.TypeOf((*MockMetricService)(nil).GetMetricByID), ctx, knID, branch, metricID)
}

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

// GetMetricsByIDs indicates an expected call of GetMetricsByIDs.
func (mr *MockMetricServiceMockRecorder) GetMetricsByIDs(ctx, knID, branch, metricIDs interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMetricsByIDs", reflect.TypeOf((*MockMetricService)(nil).GetMetricsByIDs), ctx, knID, branch, metricIDs)
}

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

// InsertDatasetData indicates an expected call of InsertDatasetData.
func (mr *MockMetricServiceMockRecorder) InsertDatasetData(ctx, metrics interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InsertDatasetData", reflect.TypeOf((*MockMetricService)(nil).InsertDatasetData), ctx, metrics)
}

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

// ListMetrics indicates an expected call of ListMetrics.
func (mr *MockMetricServiceMockRecorder) ListMetrics(ctx, query interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListMetrics", reflect.TypeOf((*MockMetricService)(nil).ListMetrics), ctx, query)
}

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

// SearchMetrics indicates an expected call of SearchMetrics.
func (mr *MockMetricServiceMockRecorder) SearchMetrics(ctx, query interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchMetrics", reflect.TypeOf((*MockMetricService)(nil).SearchMetrics), ctx, query)
}

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

// UpdateMetric indicates an expected call of UpdateMetric.
func (mr *MockMetricServiceMockRecorder) UpdateMetric(ctx, tx, req, strictMode interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateMetric", reflect.TypeOf((*MockMetricService)(nil).UpdateMetric), ctx, tx, req, strictMode)
}

// ValidateMetrics mocks base method.
func (m *MockMetricService) ValidateMetrics(ctx context.Context, entries []*interfaces.MetricDefinition, strictMode bool, importMode string, batch *interfaces.BatchIDIndex) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ValidateMetrics", ctx, entries, strictMode, importMode, batch)
	ret0, _ := ret[0].(error)
	return ret0
}

// ValidateMetrics indicates an expected call of ValidateMetrics.
func (mr *MockMetricServiceMockRecorder) ValidateMetrics(ctx, entries, strictMode, importMode, batch interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ValidateMetrics", reflect.TypeOf((*MockMetricService)(nil).ValidateMetrics), ctx, entries, strictMode, importMode, batch)
}
